Details

Time bar (total: 11.5s)

analyze291.0ms (2.5%)

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
0%81.1%18.9%6
0%81.1%18.9%7
9.4%68.6%22%8
14%53%32.9%9
16.4%50.7%32.9%10
24.6%40.2%35.3%11
28.7%30.2%41.1%12
Compiler

Compiled 41 to 24 computations (41.5% saved)

sample1.8s (15.4%)

Results
1.5s8256×body256valid
254.0ms1528×body256invalid

preprocess62.0ms (0.5%)

Algorithm
egg-herbie
Rules
753×associate-/l*
667×associate-/r*
357×fma-def
357×associate-+l+
284×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054208
1165200
2560200
31778192
45098192
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.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)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 h) (sqrt.f64 (-.f64 (*.f64 h h) (*.f64 g g)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 h) (sqrt.f64 (-.f64 (*.f64 h h) (*.f64 g g)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 g)) (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 g)) (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 h h)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 h)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 a a)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 h)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 a a)))))))
Outputs
(+.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)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h)))) g))) (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (neg.f64 g) (sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h))))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 h) (sqrt.f64 (-.f64 (*.f64 h h) (*.f64 g g)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 h) (sqrt.f64 (-.f64 (*.f64 h h) (*.f64 g g)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (+.f64 (neg.f64 h) (sqrt.f64 (-.f64 (*.f64 h h) (*.f64 g g)))))) (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (neg.f64 h) (sqrt.f64 (-.f64 (*.f64 h h) (*.f64 g g)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 h h) (*.f64 g g))) h))) (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (neg.f64 h) (sqrt.f64 (-.f64 (*.f64 h h) (*.f64 g g)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 h h) (*.f64 g g))) h))) (cbrt.f64 (*.f64 (+.f64 h (sqrt.f64 (-.f64 (*.f64 h h) (*.f64 g g)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 g)) (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 g)) (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 h h)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 g) (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1/2 g) (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 h h)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 g) (-.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 h h))) a))) (cbrt.f64 (*.f64 (/.f64 1/2 g) (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 h h)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 g) (-.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 h h))) a))) (cbrt.f64 (*.f64 (+.f64 a (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 h h)))) (/.f64 -1/2 g))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 h)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 a a)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 h)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 a a)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 h) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 a a)))))) (cbrt.f64 (*.f64 (/.f64 1/2 h) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 a a)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 h) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 a a))) g))) (cbrt.f64 (*.f64 (/.f64 1/2 h) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 a a)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 h) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 a a))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 a a)))) (/.f64 -1/2 h))))
Compiler

Compiled 43 to 26 computations (39.5% saved)

simplify107.0ms (0.9%)

Algorithm
egg-herbie
Rules
433×fma-neg
424×*-commutative
409×distribute-lft-out
361×associate--r-
337×+-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02052
15450
216050
348648
4132348
5276248
6430148
7597848
8677448
9736548
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(+.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)))))))
Outputs
(+.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)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))

eval1.0ms (0%)

Compiler

Compiled 71 to 34 computations (52.1% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
38.2b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
38.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
Compiler

Compiled 34 to 18 computations (47.1% saved)

localize38.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.0b
(-.f64 (*.f64 g g) (*.f64 h h))
8.8b
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))
10.5b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
31.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 144 to 38 computations (73.6% saved)

series38.0ms (0.3%)

Counts
4 → 60
Calls

30 calls:

TimeVariablePointExpression
4.0ms
g
@0
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
4.0ms
h
@0
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
4.0ms
g
@0
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))
3.0ms
g
@0
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
3.0ms
h
@inf
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))

rewrite97.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
442×associate-+l+
205×add-sqr-sqrt-binary64
203×associate-+l-
201×+-commutative
198×*-un-lft-identity-binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01868
140468
2589468
Stop Event
node limit
Counts
4 → 225
Calls
Call 1
Inputs
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))
(-.f64 (*.f64 g g) (*.f64 h h))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2)) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) 1/2) (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 g h) 1/2) (pow.f64 (-.f64 g h) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4))) (sqrt.f64 (fma.f64 g g (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6))) (sqrt.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/6) (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (expm1.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2))) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 1/6) (pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2)) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) 1/3) (pow.f64 (sqrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (expm1.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (*.f64 h (neg.f64 h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (*.f64 h (neg.f64 h)) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (*.f64 (*.f64 h (neg.f64 h)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (+.f64 (*.f64 h (neg.f64 h)) (fma.f64 (neg.f64 h) h (*.f64 h h))) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (*.f64 (*.f64 h (neg.f64 h)) 1) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (*.f64 h (neg.f64 h)) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (+.f64 (*.f64 h (neg.f64 h)) (fma.f64 (neg.f64 h) h (*.f64 h h))) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (*.f64 (*.f64 h (neg.f64 h)) 1) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (*.f64 h (neg.f64 h)) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (+.f64 (*.f64 h (neg.f64 h)) (fma.f64 (neg.f64 h) h (*.f64 h h))) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (*.f64 (*.f64 h (neg.f64 h)) 1) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (*.f64 h (neg.f64 h)) (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (+.f64 (*.f64 h (neg.f64 h)) (fma.f64 (neg.f64 h) h (*.f64 h h))) (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (*.f64 (*.f64 h (neg.f64 h)) 1) (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (*.f64 h (neg.f64 h)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (+.f64 (*.f64 h (neg.f64 h)) (fma.f64 (neg.f64 h) h (*.f64 h h))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (*.f64 (*.f64 h (neg.f64 h)) 1) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h))) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h))) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h)) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h)) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h))) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h)) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h)) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h))) (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1) (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h)) (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h)) (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 h (neg.f64 h)) (*.f64 g g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 h (neg.f64 h)) (+.f64 (*.f64 g g) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 h (neg.f64 h)) (+.f64 (*.f64 g g) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 h (neg.f64 h)) (+.f64 (*.f64 g g) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 h (neg.f64 h)) (+.f64 (*.f64 g g) (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 h (neg.f64 h)) (+.f64 (*.f64 g g) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 h (neg.f64 h)) (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (-.f64 (*.f64 g g) (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 h (neg.f64 h)) (fma.f64 (neg.f64 h) h (*.f64 h h))) (*.f64 g g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 h (neg.f64 h)) 1) (*.f64 g g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1) (-.f64 (*.f64 g g) (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h)) (-.f64 (*.f64 g g) (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h)) (-.f64 (*.f64 g g) (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (*.f64 g g)) (*.f64 h (neg.f64 h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (*.f64 g g)) (+.f64 (*.f64 h (neg.f64 h)) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (*.f64 g g)) (*.f64 (*.f64 h (neg.f64 h)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 h (neg.f64 h))) (*.f64 h h))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 g g) (*.f64 h h))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 g g) (-.f64 (*.f64 h h) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 g g) (-.f64 (-.f64 (*.f64 h h) (fma.f64 (neg.f64 h) h (*.f64 h h))) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 g g) (-.f64 (*.f64 h h) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 g g) (-.f64 (-.f64 (*.f64 h h) (fma.f64 (neg.f64 h) h (*.f64 h h))) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 g g) (-.f64 (*.f64 h h) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 g g) (-.f64 (-.f64 (*.f64 h h) (fma.f64 (neg.f64 h) h (*.f64 h h))) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 g g) (-.f64 (*.f64 h h) (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 g g) (-.f64 (-.f64 (*.f64 h h) (fma.f64 (neg.f64 h) h (*.f64 h h))) (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 g g) (-.f64 (*.f64 h h) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 g g) (-.f64 (-.f64 (*.f64 h h) (fma.f64 (neg.f64 h) h (*.f64 h h))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 h h) (*.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (-.f64 1 (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (-.f64 1 (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (-.f64 1 (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (-.f64 1 (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (-.f64 1 (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 g g))) (-.f64 1 (*.f64 h (neg.f64 h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 g g))) (-.f64 1 (+.f64 (*.f64 h (neg.f64 h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 g g))) (-.f64 1 (*.f64 (*.f64 h (neg.f64 h)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 g 4) (fma.f64 g g (*.f64 h h))) (/.f64 (pow.f64 h 4) (fma.f64 g g (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 g 4) (fma.f64 g g (*.f64 h h))) (-.f64 (/.f64 (pow.f64 h 4) (fma.f64 g g (*.f64 h h))) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 g 4) (fma.f64 g g (*.f64 h h))) (-.f64 (/.f64 (pow.f64 h 4) (fma.f64 g g (*.f64 h h))) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 g 4) (fma.f64 g g (*.f64 h h))) (-.f64 (/.f64 (pow.f64 h 4) (fma.f64 g g (*.f64 h h))) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 g 4) (fma.f64 g g (*.f64 h h))) (-.f64 (/.f64 (pow.f64 h 4) (fma.f64 g g (*.f64 h h))) (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 g 4) (fma.f64 g g (*.f64 h h))) (-.f64 (/.f64 (pow.f64 h 4) (fma.f64 g g (*.f64 h h))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 g 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) (/.f64 (pow.f64 h 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 g 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) (-.f64 (/.f64 (pow.f64 h 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 g 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) (-.f64 (/.f64 (pow.f64 h 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 g 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) (-.f64 (/.f64 (pow.f64 h 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 g 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) (-.f64 (/.f64 (pow.f64 h 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) (fma.f64 (*.f64 h (neg.f64 h)) 1 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 g 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) (-.f64 (/.f64 (pow.f64 h 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 (pow.f64 h 4)) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (*.f64 g g)) (*.f64 h h))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (*.f64 g g)) (-.f64 (*.f64 h h) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 g g) 0) (*.f64 h h))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 h (neg.f64 h)) (exp.f64 (log1p.f64 (*.f64 g g)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (exp.f64 (log1p.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (/.f64 (pow.f64 g 4) (fma.f64 g g (*.f64 h h)))) (/.f64 (pow.f64 h 4) (fma.f64 g g (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (/.f64 (pow.f64 g 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))))) (/.f64 (pow.f64 h 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 g g) (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) (*.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 g h) (-.f64 g h))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 g h) (+.f64 g h))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4)) (/.f64 1 (fma.f64 g g (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6)) (/.f64 1 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4)) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 g g (*.f64 h h)) (-.f64 (pow.f64 g 4) (pow.f64 h 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))) (-.f64 (pow.f64 g 6) (pow.f64 h 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 g g (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6)) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 g 4) (*.f64 (*.f64 h (neg.f64 h)) (*.f64 h (neg.f64 h)))) (-.f64 (*.f64 g g) (*.f64 h (neg.f64 h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))) (-.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 g 6) (pow.f64 (*.f64 h (neg.f64 h)) 3)) (+.f64 (pow.f64 g 4) (-.f64 (*.f64 (*.f64 h (neg.f64 h)) (*.f64 h (neg.f64 h))) (*.f64 (*.f64 g g) (*.f64 h (neg.f64 h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) 3)) (-.f64 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (fma.f64 (neg.f64 h) h (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))) (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4))) (neg.f64 (fma.f64 g g (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6))) (neg.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 g h)) (-.f64 g h)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (expm1.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 g g (*.f64 h (neg.f64 h)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (fma.f64 (neg.f64 h) h (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 g g) (*.f64 h (neg.f64 h)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 (neg.f64 h) h (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (fma.f64 (neg.f64 h) h (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 g 4)) (pow.f64 (cbrt.f64 g) 2) (*.f64 h (neg.f64 h)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 g h) (-.f64 g h) (fma.f64 (neg.f64 h) h (*.f64 h h)))))))

simplify86.0ms (0.7%)

Algorithm
egg-herbie
Rules
890×fma-def
668×associate-/l*
405×associate-+r+
393×associate-+l+
343×+-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02042389
16362172
226872125
370052125
Stop Event
node limit
Counts
285 → 285
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (*.f64 (sqrt.f64 -1) h)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
g
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) g)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(*.f64 -1 g)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 -1 g))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1 g) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1 g) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
g
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) g)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (*.f64 (sqrt.f64 -1) h)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
(*.f64 -1 (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (*.f64 -1 (*.f64 (sqrt.f64 -1) h)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (*.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))) (*.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))))))
(*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9))) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))) (pow.f64 g 2))) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3)))))
(+.f64 (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))))) (*.f64 1/27 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/3))) (*.f64 (cbrt.f64 -1/2) (pow.f64 g 3))) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3))) (+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9))) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))) (pow.f64 g 2))) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3))))))
(*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)))
(+.f64 (*.f64 -1/6 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
(+.f64 (*.f64 -1/6 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3))) (+.f64 (*.f64 -1/18 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)))))
(+.f64 (*.f64 -1/6 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3))) (+.f64 (*.f64 1/3 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (-.f64 (*.f64 1/216 (/.f64 1 (*.f64 a (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 g 5))))) (*.f64 13/144 (/.f64 1 (*.f64 a (pow.f64 g 5))))) (pow.f64 h 6))) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (pow.f64 g 2)) 1/3))) (+.f64 (*.f64 -1/18 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))))
(*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 1/2))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (*.f64 (cbrt.f64 1/2) g))) (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 1/2)))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))) (*.f64 (pow.f64 g 2) (cbrt.f64 1/2))))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (*.f64 (cbrt.f64 1/2) g))) (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 1/2))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))) (*.f64 (pow.f64 g 2) (cbrt.f64 1/2))))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3) (*.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/3)) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9)))))) (*.f64 (pow.f64 g 3) (cbrt.f64 1/2))))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (*.f64 (cbrt.f64 1/2) g))) (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 1/2)))))
(*.f64 -1 (pow.f64 h 2))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(pow.f64 g 2)
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(pow.f64 g 2)
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(pow.f64 g 2)
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(*.f64 -1 (pow.f64 h 2))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(*.f64 -1 (pow.f64 h 2))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
Outputs
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (*.f64 (sqrt.f64 -1) h))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (*.f64 (sqrt.f64 -1) h))
(fma.f64 (sqrt.f64 -1) h (*.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1)))))
(fma.f64 (sqrt.f64 -1) h (*.f64 (/.f64 1/2 (sqrt.f64 -1)) (/.f64 g (/.f64 h g))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (*.f64 (sqrt.f64 -1) h)))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (*.f64 (sqrt.f64 -1) h)))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) h (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))))))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 -1/8 (/.f64 (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (neg.f64 (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) h)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 -1/8 (/.f64 (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (neg.f64 (sqrt.f64 -1))) (fma.f64 1/16 (/.f64 (/.f64 (pow.f64 g 6) (pow.f64 h 5)) (pow.f64 (sqrt.f64 -1) 5)) (*.f64 (sqrt.f64 -1) h))))
g
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) g)
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) g)
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) g)
(fma.f64 -1/2 (*.f64 h (/.f64 h g)) g)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 h h) g) g) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) g))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/2 (*.f64 h (/.f64 h g)) g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) g)))
(fma.f64 -1/2 (*.f64 h (/.f64 h g)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) g)))
(*.f64 -1 g)
(neg.f64 g)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 -1 g))
(fma.f64 1/2 (/.f64 (*.f64 h h) g) (neg.f64 g))
(-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)
(-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1 g) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(fma.f64 1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1 g (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8)))
(fma.f64 1/2 (/.f64 h (/.f64 g h)) (-.f64 (/.f64 (*.f64 (pow.f64 h 4) 1/8) (pow.f64 g 3)) g))
(-.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (/.f64 (pow.f64 h 4) (/.f64 (pow.f64 g 3) 1/8))) g)
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1 g) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1 g (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8))))
(fma.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 1/2 (/.f64 h (/.f64 g h)) (-.f64 (/.f64 (*.f64 (pow.f64 h 4) 1/8) (pow.f64 g 3)) g)))
(fma.f64 1/2 (*.f64 h (/.f64 h g)) (-.f64 (fma.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8 (*.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)))) g))
g
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) g)
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) g)
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) g)
(fma.f64 -1/2 (*.f64 h (/.f64 h g)) g)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 h h) g) g) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) g))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/2 (*.f64 h (/.f64 h g)) g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) g)))
(fma.f64 -1/2 (*.f64 h (/.f64 h g)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) g)))
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (*.f64 (sqrt.f64 -1) h))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (*.f64 (sqrt.f64 -1) h))
(fma.f64 (sqrt.f64 -1) h (*.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1)))))
(fma.f64 (sqrt.f64 -1) h (*.f64 (/.f64 1/2 (sqrt.f64 -1)) (/.f64 g (/.f64 h g))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (*.f64 (sqrt.f64 -1) h)))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (*.f64 (sqrt.f64 -1) h)))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) h (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))))))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 -1/8 (/.f64 (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (neg.f64 (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) h)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 -1/8 (/.f64 (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (neg.f64 (sqrt.f64 -1))) (fma.f64 1/16 (/.f64 (/.f64 (pow.f64 g 6) (pow.f64 h 5)) (pow.f64 (sqrt.f64 -1) 5)) (*.f64 (sqrt.f64 -1) h))))
(*.f64 -1 (*.f64 (sqrt.f64 -1) h))
(neg.f64 (*.f64 (sqrt.f64 -1) h))
(*.f64 (sqrt.f64 -1) (neg.f64 h))
(*.f64 h (neg.f64 (sqrt.f64 -1)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (*.f64 -1 (*.f64 (sqrt.f64 -1) h)))
(fma.f64 -1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (neg.f64 (*.f64 (sqrt.f64 -1) h)))
(-.f64 (*.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2) (*.f64 (sqrt.f64 -1) h))
(-.f64 (*.f64 (/.f64 -1/2 (sqrt.f64 -1)) (/.f64 g (/.f64 h g))) (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (*.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))))))
(fma.f64 -1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1 (*.f64 (sqrt.f64 -1) h) (*.f64 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) 1/8)))
(fma.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2 (fma.f64 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) 1/8 (*.f64 (sqrt.f64 -1) (neg.f64 h))))
(fma.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2 (fma.f64 (/.f64 (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (neg.f64 (sqrt.f64 -1))) 1/8 (*.f64 h (neg.f64 (sqrt.f64 -1)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))) (*.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))))))
(fma.f64 -1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1 (*.f64 (sqrt.f64 -1) h) (fma.f64 -1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5))) (*.f64 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) 1/8))))
(fma.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2 (-.f64 (fma.f64 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) 1/8 (*.f64 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5))) -1/16)) (*.f64 (sqrt.f64 -1) h)))
(fma.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2 (fma.f64 (/.f64 (/.f64 (pow.f64 g 6) (pow.f64 h 5)) (pow.f64 (sqrt.f64 -1) 5)) -1/16 (fma.f64 (/.f64 (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (neg.f64 (sqrt.f64 -1))) 1/8 (*.f64 h (neg.f64 (sqrt.f64 -1))))))
(*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (cbrt.f64 -1/2))
(*.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 -1/2))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9))))
(fma.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (cbrt.f64 -1/2) (*.f64 1/3 (*.f64 (cbrt.f64 -1/2) (*.f64 g (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (*.f64 h h) (pow.f64 a 7)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (*.f64 h h) (pow.f64 a 7)))) 1/18))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 -1/2) (*.f64 g (*.f64 (pow.f64 (/.f64 -1 (*.f64 (*.f64 (pow.f64 a 7) h) h)) 1/18) (pow.f64 (/.f64 -1 (*.f64 (*.f64 (pow.f64 a 7) h) h)) 1/18)))) (*.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 -1/2)))
(*.f64 (cbrt.f64 -1/2) (+.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (*.f64 (*.f64 (*.f64 g (pow.f64 (/.f64 -1 (*.f64 (*.f64 h h) (pow.f64 a 7))) 1/18)) (pow.f64 (/.f64 -1 (*.f64 (*.f64 h h) (pow.f64 a 7))) 1/18)) 1/3)))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9))) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))) (pow.f64 g 2))) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3)))))
(fma.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (cbrt.f64 -1/2) (*.f64 1/3 (+.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 g (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (*.f64 h h) (pow.f64 a 7)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (*.f64 h h) (pow.f64 a 7)))) 1/18)))) (*.f64 (cbrt.f64 -1/2) (*.f64 (*.f64 (*.f64 g g) (-.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18))))) (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 (*.f64 h h) (pow.f64 (sqrt.f64 -1) 2)))))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 -1/2) (+.f64 (*.f64 g (*.f64 (pow.f64 (/.f64 -1 (*.f64 (*.f64 (pow.f64 a 7) h) h)) 1/18) (pow.f64 (/.f64 -1 (*.f64 (*.f64 (pow.f64 a 7) h) h)) 1/18))) (*.f64 (-.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18)))) (*.f64 (*.f64 g g) (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 h (neg.f64 h)))))))) (*.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 -1/2)))
(fma.f64 1/3 (*.f64 (cbrt.f64 -1/2) (fma.f64 g (*.f64 (pow.f64 (/.f64 -1 (*.f64 (*.f64 h h) (pow.f64 a 7))) 1/18) (pow.f64 (/.f64 -1 (*.f64 (*.f64 h h) (pow.f64 a 7))) 1/18)) (*.f64 (*.f64 g g) (*.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18) (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18)) -1/3 (/.f64 1/2 (*.f64 h (*.f64 (sqrt.f64 -1) a)))) (cbrt.f64 (/.f64 (/.f64 (*.f64 a a) h) (neg.f64 h))))))) (*.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 -1/2)))
(+.f64 (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))))) (*.f64 1/27 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/3))) (*.f64 (cbrt.f64 -1/2) (pow.f64 g 3))) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3))) (+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9))) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))) (pow.f64 g 2))) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3))))))
(fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 (*.f64 h h) (pow.f64 (sqrt.f64 -1) 2)))) (*.f64 (fma.f64 2/3 (*.f64 (-.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 h 5) (pow.f64 a 4)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 h 5) (pow.f64 a 4)))) 1/18))) (*.f64 1/27 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (*.f64 h h) (pow.f64 a 7))))))) (*.f64 (pow.f64 g 3) (cbrt.f64 -1/2)))) (fma.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (cbrt.f64 -1/2) (*.f64 1/3 (+.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 g (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (*.f64 h h) (pow.f64 a 7)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (*.f64 h h) (pow.f64 a 7)))) 1/18)))) (*.f64 (cbrt.f64 -1/2) (*.f64 (*.f64 (*.f64 g g) (-.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18))))) (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 (*.f64 h h) (pow.f64 (sqrt.f64 -1) 2))))))))))
(fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 h (neg.f64 h)))) (*.f64 (pow.f64 g 3) (*.f64 (cbrt.f64 -1/2) (fma.f64 2/3 (*.f64 (-.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 h 5) (pow.f64 a 4)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 h 5) (pow.f64 a 4)))) 1/18))) (*.f64 1/27 (cbrt.f64 (/.f64 -1 (*.f64 (*.f64 (pow.f64 a 7) h) h)))))))) (fma.f64 1/3 (*.f64 (cbrt.f64 -1/2) (+.f64 (*.f64 g (*.f64 (pow.f64 (/.f64 -1 (*.f64 (*.f64 (pow.f64 a 7) h) h)) 1/18) (pow.f64 (/.f64 -1 (*.f64 (*.f64 (pow.f64 a 7) h) h)) 1/18))) (*.f64 (-.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18)))) (*.f64 (*.f64 g g) (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 h (neg.f64 h)))))))) (*.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 -1/2))))
(+.f64 (*.f64 (cbrt.f64 -1/2) (+.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (*.f64 (*.f64 (*.f64 g (pow.f64 (/.f64 -1 (*.f64 (*.f64 h h) (pow.f64 a 7))) 1/18)) (pow.f64 (/.f64 -1 (*.f64 (*.f64 h h) (pow.f64 a 7))) 1/18)) 1/3))) (*.f64 (cbrt.f64 (/.f64 (/.f64 (*.f64 a a) h) (neg.f64 h))) (+.f64 (*.f64 1/3 (*.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18) (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18)) -1/3 (/.f64 1/2 (*.f64 h (*.f64 (sqrt.f64 -1) a)))) (*.f64 (*.f64 g g) (cbrt.f64 -1/2)))) (*.f64 -1/3 (*.f64 (pow.f64 g 3) (*.f64 (cbrt.f64 -1/2) (fma.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18) (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18)) -1/3 (/.f64 1/2 (*.f64 h (*.f64 (sqrt.f64 -1) a)))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 5)) (*.f64 (pow.f64 h 5) (pow.f64 a 4))) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 5)) (*.f64 (pow.f64 h 5) (pow.f64 a 4))) 1/18))) (*.f64 1/27 (cbrt.f64 (/.f64 -1 (*.f64 (*.f64 h h) (pow.f64 a 7))))))))))))
(*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)))
(*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)))
(*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 2) (cbrt.f64 (/.f64 g a))))
(+.f64 (*.f64 -1/6 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
(fma.f64 -1/6 (*.f64 (/.f64 (cbrt.f64 -1/2) (/.f64 (pow.f64 (cbrt.f64 2) 2) (*.f64 h h))) (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 g 5) a)))) (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)) (*.f64 -1/6 (*.f64 (*.f64 (/.f64 (cbrt.f64 -1/2) (pow.f64 (cbrt.f64 2) 2)) (*.f64 h h)) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5))))))
(fma.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 2) (cbrt.f64 (/.f64 g a))) (/.f64 (*.f64 (*.f64 h (*.f64 h (cbrt.f64 -1/2))) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 2) 2) -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3))) (+.f64 (*.f64 -1/18 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)))))
(fma.f64 -1/6 (*.f64 (/.f64 (cbrt.f64 -1/2) (/.f64 (pow.f64 (cbrt.f64 2) 2) (*.f64 h h))) (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 g 5) a)))) (fma.f64 -1/18 (*.f64 (/.f64 (cbrt.f64 -1/2) (/.f64 (pow.f64 (cbrt.f64 2) 2) (pow.f64 h 4))) (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))))) (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)))))
(fma.f64 -1/6 (*.f64 (*.f64 (/.f64 (cbrt.f64 -1/2) (pow.f64 (cbrt.f64 2) 2)) (*.f64 h h)) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)) (*.f64 -1/18 (*.f64 (/.f64 (cbrt.f64 -1/2) (/.f64 (pow.f64 (cbrt.f64 2) 2) (pow.f64 h 4))) (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))))))))
(fma.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 2) (cbrt.f64 (/.f64 g a))) (fma.f64 -1/6 (*.f64 (*.f64 (/.f64 (cbrt.f64 -1/2) (pow.f64 (cbrt.f64 2) 2)) (*.f64 h h)) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (*.f64 (*.f64 (/.f64 (cbrt.f64 -1/2) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 h 4)) (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11))) -1/18))))
(+.f64 (*.f64 -1/6 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3))) (+.f64 (*.f64 1/3 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (-.f64 (*.f64 1/216 (/.f64 1 (*.f64 a (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 g 5))))) (*.f64 13/144 (/.f64 1 (*.f64 a (pow.f64 g 5))))) (pow.f64 h 6))) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (pow.f64 g 2)) 1/3))) (+.f64 (*.f64 -1/18 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))))
(fma.f64 -1/6 (*.f64 (/.f64 (cbrt.f64 -1/2) (/.f64 (pow.f64 (cbrt.f64 2) 2) (*.f64 h h))) (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 g 5) a)))) (fma.f64 1/3 (*.f64 (/.f64 (cbrt.f64 -1/2) (/.f64 (pow.f64 (cbrt.f64 2) 2) (*.f64 (pow.f64 h 6) (-.f64 (/.f64 1/216 (*.f64 a (*.f64 (pow.f64 g 5) (pow.f64 (cbrt.f64 2) 6)))) (/.f64 13/144 (*.f64 (pow.f64 g 5) a)))))) (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 g g)))) (fma.f64 -1/18 (*.f64 (/.f64 (cbrt.f64 -1/2) (/.f64 (pow.f64 (cbrt.f64 2) 2) (pow.f64 h 4))) (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))))) (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))))
(fma.f64 -1/6 (*.f64 (*.f64 (/.f64 (cbrt.f64 -1/2) (pow.f64 (cbrt.f64 2) 2)) (*.f64 h h)) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (fma.f64 1/3 (/.f64 (*.f64 (pow.f64 h 6) (*.f64 (cbrt.f64 -1/2) (+.f64 (/.f64 1/216 (*.f64 (pow.f64 g 5) (*.f64 a 4))) (/.f64 -13/144 (*.f64 (pow.f64 g 5) a))))) (/.f64 (pow.f64 (cbrt.f64 2) 2) (cbrt.f64 (/.f64 (/.f64 (*.f64 a a) g) g)))) (fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)) (*.f64 -1/18 (*.f64 (/.f64 (cbrt.f64 -1/2) (/.f64 (pow.f64 (cbrt.f64 2) 2) (pow.f64 h 4))) (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))))))))
(fma.f64 1/3 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 (/.f64 (*.f64 a a) g) g))) (pow.f64 (cbrt.f64 2) 2)) (*.f64 (pow.f64 h 6) (+.f64 (/.f64 1/216 (*.f64 (pow.f64 g 5) (*.f64 a 4))) (/.f64 -13/144 (*.f64 (pow.f64 g 5) a))))) (fma.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 2) (cbrt.f64 (/.f64 g a))) (fma.f64 -1/6 (*.f64 (*.f64 (/.f64 (cbrt.f64 -1/2) (pow.f64 (cbrt.f64 2) 2)) (*.f64 h h)) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (*.f64 (*.f64 (/.f64 (cbrt.f64 -1/2) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 h 4)) (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11))) -1/18)))))
(*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 1/2))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (*.f64 (cbrt.f64 1/2) g))) (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 1/2)))
(fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (*.f64 h h) (pow.f64 a 7)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (*.f64 h h) (pow.f64 a 7)))) 1/18)) (*.f64 g (cbrt.f64 1/2))) (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (cbrt.f64 1/2)))
(fma.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 1/2) (*.f64 (*.f64 (pow.f64 (/.f64 -1 (*.f64 (*.f64 (pow.f64 a 7) h) h)) 1/18) (pow.f64 (/.f64 -1 (*.f64 (*.f64 (pow.f64 a 7) h) h)) 1/18)) (*.f64 (*.f64 g (cbrt.f64 1/2)) -1/3)))
(*.f64 (cbrt.f64 1/2) (+.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 -1 (*.f64 (*.f64 h h) (pow.f64 a 7))) 1/18) (pow.f64 (/.f64 -1 (*.f64 (*.f64 h h) (pow.f64 a 7))) 1/18)) -1/3) g)))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))) (*.f64 (pow.f64 g 2) (cbrt.f64 1/2))))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (*.f64 (cbrt.f64 1/2) g))) (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 1/2))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 (*.f64 h h) (pow.f64 (sqrt.f64 -1) 2)))) (*.f64 (-.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18)))) (*.f64 (*.f64 g g) (cbrt.f64 1/2)))) (fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (*.f64 h h) (pow.f64 a 7)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (*.f64 h h) (pow.f64 a 7)))) 1/18)) (*.f64 g (cbrt.f64 1/2))) (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (cbrt.f64 1/2))))
(fma.f64 1/3 (*.f64 (-.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18)))) (*.f64 (*.f64 g (*.f64 g (cbrt.f64 1/2))) (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 h (neg.f64 h)))))) (fma.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 1/2) (*.f64 (*.f64 (pow.f64 (/.f64 -1 (*.f64 (*.f64 (pow.f64 a 7) h) h)) 1/18) (pow.f64 (/.f64 -1 (*.f64 (*.f64 (pow.f64 a 7) h) h)) 1/18)) (*.f64 (*.f64 g (cbrt.f64 1/2)) -1/3))))
(fma.f64 1/3 (*.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18) (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18)) -1/3 (/.f64 1/2 (*.f64 h (*.f64 (sqrt.f64 -1) a)))) (*.f64 (*.f64 g (*.f64 g (cbrt.f64 1/2))) (cbrt.f64 (/.f64 (/.f64 (*.f64 a a) h) (neg.f64 h))))) (*.f64 (cbrt.f64 1/2) (+.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 -1 (*.f64 (*.f64 h h) (pow.f64 a 7))) 1/18) (pow.f64 (/.f64 -1 (*.f64 (*.f64 h h) (pow.f64 a 7))) 1/18)) -1/3) g))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))) (*.f64 (pow.f64 g 2) (cbrt.f64 1/2))))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3) (*.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/3)) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9)))))) (*.f64 (pow.f64 g 3) (cbrt.f64 1/2))))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (*.f64 (cbrt.f64 1/2) g))) (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 1/2)))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 (*.f64 h h) (pow.f64 (sqrt.f64 -1) 2)))) (*.f64 (-.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18)))) (*.f64 (*.f64 g g) (cbrt.f64 1/2)))) (fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 (*.f64 h h) (pow.f64 (sqrt.f64 -1) 2)))) (*.f64 (fma.f64 -1/27 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (*.f64 h h) (pow.f64 a 7))))) (*.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 h 5) (pow.f64 a 4)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 h 5) (pow.f64 a 4)))) 1/18))) (-.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18)))))) (*.f64 (pow.f64 g 3) (cbrt.f64 1/2)))) (fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (*.f64 h h) (pow.f64 a 7)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (*.f64 h h) (pow.f64 a 7)))) 1/18)) (*.f64 g (cbrt.f64 1/2))) (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (cbrt.f64 1/2)))))
(fma.f64 1/3 (*.f64 (-.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18)))) (*.f64 (*.f64 g (*.f64 g (cbrt.f64 1/2))) (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 h (neg.f64 h)))))) (fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 h (neg.f64 h)))) (*.f64 (fma.f64 (*.f64 (-.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 h 5) (pow.f64 a 4)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 h 5) (pow.f64 a 4)))) 1/18))) -2/3 (*.f64 (cbrt.f64 (/.f64 -1 (*.f64 (*.f64 (pow.f64 a 7) h) h))) -1/27)) (*.f64 (pow.f64 g 3) (cbrt.f64 1/2)))) (fma.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 1/2) (*.f64 (*.f64 (pow.f64 (/.f64 -1 (*.f64 (*.f64 (pow.f64 a 7) h) h)) 1/18) (pow.f64 (/.f64 -1 (*.f64 (*.f64 (pow.f64 a 7) h) h)) 1/18)) (*.f64 (*.f64 g (cbrt.f64 1/2)) -1/3)))))
(+.f64 (*.f64 (cbrt.f64 1/2) (+.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 -1 (*.f64 (*.f64 h h) (pow.f64 a 7))) 1/18) (pow.f64 (/.f64 -1 (*.f64 (*.f64 h h) (pow.f64 a 7))) 1/18)) -1/3) g))) (*.f64 (cbrt.f64 (/.f64 (/.f64 (*.f64 a a) h) (neg.f64 h))) (+.f64 (*.f64 (*.f64 (*.f64 g g) (*.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18) (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18)) -1/3 (/.f64 1/2 (*.f64 h (*.f64 (sqrt.f64 -1) a)))) (cbrt.f64 1/2))) 1/3) (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18) (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18)) -1/3 (/.f64 1/2 (*.f64 h (*.f64 (sqrt.f64 -1) a)))) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 5)) (*.f64 (pow.f64 h 5) (pow.f64 a 4))) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 5)) (*.f64 (pow.f64 h 5) (pow.f64 a 4))) 1/18)) -2/3) (*.f64 (cbrt.f64 (/.f64 -1 (*.f64 (*.f64 h h) (pow.f64 a 7)))) -1/27)) (*.f64 (pow.f64 g 3) (cbrt.f64 1/2))) -1/3))))
(*.f64 -1 (pow.f64 h 2))
(neg.f64 (*.f64 h h))
(*.f64 h (neg.f64 h))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(pow.f64 g 2)
(*.f64 g g)
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(pow.f64 g 2)
(*.f64 g g)
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(pow.f64 g 2)
(*.f64 g g)
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(*.f64 -1 (pow.f64 h 2))
(neg.f64 (*.f64 h h))
(*.f64 h (neg.f64 h))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(*.f64 -1 (pow.f64 h 2))
(neg.f64 (*.f64 h h))
(*.f64 h (neg.f64 h))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))
(+.f64 (pow.f64 g 2) (*.f64 -1 (pow.f64 h 2)))
(+.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))
(-.f64 (*.f64 g g) (*.f64 h h))
(fma.f64 h (neg.f64 h) (*.f64 g g))

eval255.0ms (2.2%)

Compiler

Compiled 22429 to 9331 computations (58.4% saved)

prune114.0ms (1%)

Pruning

24 alts after pruning (23 fresh and 1 done)

PrunedKeptTotal
New47323496
Fresh000
Picked011
Done000
Total47324497
Error
33.7b
Counts
497 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
45.7b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (pow.f64 (sqrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1/3)))
44.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2))) (/.f64 -1/2 a))))
46.2b
(+.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
39.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))))
45.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1/3)))
38.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))))
42.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) (/.f64 -1/2 a))))
49.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
35.1b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
47.7b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (/.f64 -1/2 a))))
53.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
50.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (neg.f64 g) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
48.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
49.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)))) (/.f64 -1/2 a))))
52.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
46.8b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
37.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.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)))) -1/2)) (cbrt.f64 a)))
51.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 1/3) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
47.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 2) (cbrt.f64 (/.f64 g a)))))
56.7b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
52.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
37.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
38.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
45.7b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/3))
Compiler

Compiled 1704 to 1012 computations (40.6% saved)

localize39.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.5b
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
3.0b
(-.f64 (*.f64 g g) (*.f64 h h))
10.5b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
31.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 156 to 39 computations (75% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
h
@0
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
0.0ms
g
@inf
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
0.0ms
g
@0
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
0.0ms
g
@-inf
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
0.0ms
h
@-inf
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)

rewrite65.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
487×associate-*r/
449×*-commutative
423×distribute-lft-in
416×distribute-rgt-in
403×associate-*l/
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
118915
2288715
Stop Event
node limit
Counts
1 → 123
Calls
Call 1
Inputs
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (+.f64 (neg.f64 g) (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (+.f64 (neg.f64 g) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (+.f64 (neg.f64 g) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (fma.f64 (neg.f64 g) 1 g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 g) 1 g) (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g) (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g) (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 g) 1 g) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 g) 1 g) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 1 (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 1 (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 1 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 (fma.f64 (neg.f64 g) 1 g) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 g) (+.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 g) (+.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 g) (+.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (neg.f64 g) 1 g) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (exp.f64 (log1p.f64 g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 g (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 g (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 g (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (-.f64 1 (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (-.f64 1 (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (-.f64 1 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (+.f64 g 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.f64 1 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (*.f64 g g) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.f64 (/.f64 (*.f64 g g) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.f64 (/.f64 (*.f64 g g) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.f64 (/.f64 (*.f64 g g) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (/.f64 (pow.f64 g 3) (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (-.f64 (/.f64 (pow.f64 g 3) (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (-.f64 (/.f64 (pow.f64 g 3) (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (-.f64 (/.f64 (pow.f64 g 3) (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 0) g)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (neg.f64 g) (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)) (/.f64 1 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 g) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4)) (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) (sqrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) (sqrt.f64 g)) (+.f64 (sqrt.f64 g) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h)))) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))) (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (-.f64 (*.f64 g g) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)) (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (-.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 3))) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (-.f64 (*.f64 (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)) (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h)))) (cbrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))))) (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (cbrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))) (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))) (/.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h)))) (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))) (/.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (sqrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 (neg.f64 g) (neg.f64 g)))) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (pow.f64 g 4)) (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 (*.f64 g g) (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 (neg.f64 g) 3)) (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (-.f64 (*.f64 (neg.f64 g) (neg.f64 g)) (*.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 3) (pow.f64 (pow.f64 g 3) 3)) (*.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (+.f64 (pow.f64 g 6) (*.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 g 6)) (*.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 g 6)) (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (+.f64 (pow.f64 g 4) (*.f64 (*.f64 g g) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h)))) (neg.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))) (neg.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 (neg.f64 g) (neg.f64 g))))) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 (neg.f64 g) 3))) (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (-.f64 (*.f64 (neg.f64 g) (neg.f64 g)) (*.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (neg.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))))) (neg.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (neg.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))) (neg.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2) (cbrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))))) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2) (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))) (cbrt.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (sqrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))))) (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (sqrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))) (sqrt.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 (neg.f64 g) (neg.f64 g)))) 1) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 (neg.f64 g) 3)) 1) (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (-.f64 (*.f64 (neg.f64 g) (neg.f64 g)) (*.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h)))) 1) (neg.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))) 1) (neg.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h)))) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2)) (cbrt.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h)))) (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))) (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (sqrt.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (pow.f64 g 4)) (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (*.f64 g g) (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 g 6)) (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (+.f64 (pow.f64 g 4) (*.f64 (*.f64 g g) (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 3) (pow.f64 (pow.f64 g 3) 3)) (/.f64 1 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (+.f64 (pow.f64 g 6) (*.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 g 6)) (/.f64 1 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) 1) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) (*.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 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)) 1) (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)) (*.f64 (cbrt.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (cbrt.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (cbrt.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)) (sqrt.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (sqrt.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (expm1.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (neg.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) (neg.f64 g))))))

simplify76.0ms (0.7%)

Algorithm
egg-herbie
Rules
482×fma-neg
455×associate-/r/
453×times-frac
441×+-commutative
433×unswap-sqr
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
088616
1263601
2870587
33797581
47269581
Stop Event
node limit
Counts
147 → 156
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))))
(*.f64 -1/2 (/.f64 (pow.f64 h 2) g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (pow.f64 h 8)) (pow.f64 (*.f64 -1/8 (pow.f64 h 4)) 2)) (pow.f64 g 7))) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(*.f64 -2 g)
(+.f64 (*.f64 -2 g) (*.f64 1/2 (/.f64 (pow.f64 h 2) g)))
(+.f64 (*.f64 -2 g) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 -2 g) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(*.f64 -1/2 (/.f64 (pow.f64 h 2) g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 g 6))) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2)) (pow.f64 h 8)) g)) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))))
(*.f64 -1 (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (*.f64 -1 g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (*.f64 -1 g)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 -1 g) (*.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))))))
Outputs
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))
(fma.f64 (sqrt.f64 -1) h (neg.f64 g))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g)))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 (sqrt.f64 -1) h (neg.f64 g)))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (*.f64 (sqrt.f64 -1) h)) g)
(-.f64 (fma.f64 (sqrt.f64 -1) h (*.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))))) g)
(-.f64 (fma.f64 (sqrt.f64 -1) h (*.f64 (/.f64 (*.f64 g 1/2) (sqrt.f64 -1)) (/.f64 g h))) g)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h (neg.f64 g))))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (-.f64 (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) (*.f64 (sqrt.f64 -1) h)) g))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (/.f64 1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (fma.f64 (sqrt.f64 -1) h (neg.f64 g))))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (/.f64 1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (*.f64 (sqrt.f64 -1) h))) g)
(*.f64 -1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 -1/2 (/.f64 (*.f64 h h) g))
(*.f64 -1/2 (/.f64 h (/.f64 g h)))
(*.f64 -1/2 (*.f64 (/.f64 h g) h))
(*.f64 (/.f64 -1/2 g) (*.f64 h h))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (/.f64 (*.f64 -1/8 (pow.f64 h 4)) (pow.f64 g 3)))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 -1/2 (/.f64 h (/.f64 g h))))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 -1/2 (*.f64 (/.f64 h g) h)))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 (/.f64 -1/2 g) (*.f64 h h)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (/.f64 (*.f64 -1/8 (pow.f64 h 4)) (pow.f64 g 3))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)))))
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6))))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/2 (*.f64 (/.f64 h g) h) (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (pow.f64 h 8)) (pow.f64 (*.f64 -1/8 (pow.f64 h 4)) 2)) (pow.f64 g 7))) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/2 (/.f64 (fma.f64 1/16 (pow.f64 h 8) (pow.f64 (*.f64 -1/8 (pow.f64 h 4)) 2)) (pow.f64 g 7)) (/.f64 (*.f64 -1/8 (pow.f64 h 4)) (pow.f64 g 3)))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 -1/2 (/.f64 (fma.f64 1/16 (pow.f64 h 8) (*.f64 (pow.f64 h 8) 1/64)) (pow.f64 g 7))))))
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (/.f64 (*.f64 (pow.f64 h 8) 5/64) (/.f64 (pow.f64 g 7) -1/2)))))
(fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/2 (*.f64 (/.f64 h g) h) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (/.f64 (*.f64 (pow.f64 h 8) -5/128) (pow.f64 g 7)))))
(*.f64 -2 g)
(*.f64 g -2)
(+.f64 (*.f64 -2 g) (*.f64 1/2 (/.f64 (pow.f64 h 2) g)))
(fma.f64 -2 g (*.f64 1/2 (/.f64 (*.f64 h h) g)))
(fma.f64 g -2 (*.f64 1/2 (/.f64 h (/.f64 g h))))
(fma.f64 g -2 (*.f64 1/2 (*.f64 (/.f64 h g) h)))
(+.f64 (*.f64 -2 g) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(fma.f64 -2 g (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8)))
(fma.f64 g -2 (fma.f64 1/2 (/.f64 h (/.f64 g h)) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8)))
(fma.f64 g -2 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8)))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 -2 g) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -2 g (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8))))
(fma.f64 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) 1/16 (fma.f64 g -2 (fma.f64 1/2 (/.f64 h (/.f64 g h)) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8))))
(fma.f64 g -2 (fma.f64 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) 1/16 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8))))
(*.f64 -1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 -1/2 (/.f64 (*.f64 h h) g))
(*.f64 -1/2 (/.f64 h (/.f64 g h)))
(*.f64 -1/2 (*.f64 (/.f64 h g) h))
(*.f64 (/.f64 -1/2 g) (*.f64 h h))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (/.f64 (*.f64 -1/8 (pow.f64 h 4)) (pow.f64 g 3)))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 -1/2 (/.f64 h (/.f64 g h))))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 -1/2 (*.f64 (/.f64 h g) h)))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 (/.f64 -1/2 g) (*.f64 h h)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (/.f64 (*.f64 -1/8 (pow.f64 h 4)) (pow.f64 g 3))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)))))
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6))))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/2 (*.f64 (/.f64 h g) h) (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 g 6))) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2)) (pow.f64 h 8)) g)) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 g 6)) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2)) (/.f64 g (pow.f64 h 8))) (/.f64 (*.f64 -1/8 (pow.f64 h 4)) (pow.f64 g 3)))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 -1/2 (*.f64 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 g 6)) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2)) g) (pow.f64 h 8))))))
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) (fma.f64 -1/2 (*.f64 (pow.f64 h 8) (/.f64 (+.f64 (/.f64 1/16 (pow.f64 g 6)) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2)) g)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6)))))
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6))) (*.f64 (/.f64 -1/2 g) (+.f64 (*.f64 (pow.f64 h 8) (+.f64 (/.f64 1/16 (pow.f64 g 6)) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2))) (*.f64 h h))))
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6))) (*.f64 (/.f64 -1/2 g) (+.f64 (*.f64 h h) (*.f64 (pow.f64 h 8) (+.f64 (/.f64 1/16 (pow.f64 g 6)) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2))))))
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))
(fma.f64 (sqrt.f64 -1) h (neg.f64 g))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g)))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 (sqrt.f64 -1) h (neg.f64 g)))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (*.f64 (sqrt.f64 -1) h)) g)
(-.f64 (fma.f64 (sqrt.f64 -1) h (*.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))))) g)
(-.f64 (fma.f64 (sqrt.f64 -1) h (*.f64 (/.f64 (*.f64 g 1/2) (sqrt.f64 -1)) (/.f64 g h))) g)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h (neg.f64 g))))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (-.f64 (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) (*.f64 (sqrt.f64 -1) h)) g))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (/.f64 1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (fma.f64 (sqrt.f64 -1) h (neg.f64 g))))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (/.f64 1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (*.f64 (sqrt.f64 -1) h))) g)
(*.f64 -1 (*.f64 (sqrt.f64 -1) h))
(neg.f64 (*.f64 (sqrt.f64 -1) h))
(*.f64 (sqrt.f64 -1) (neg.f64 h))
(*.f64 h (neg.f64 (sqrt.f64 -1)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (*.f64 -1 g))
(*.f64 -1 (+.f64 (*.f64 (sqrt.f64 -1) h) g))
(neg.f64 (fma.f64 (sqrt.f64 -1) h g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (*.f64 -1 g)))
(fma.f64 -1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (*.f64 -1 (+.f64 (*.f64 (sqrt.f64 -1) h) g)))
(fma.f64 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) -1/2 (neg.f64 (fma.f64 (sqrt.f64 -1) h g)))
(-.f64 (*.f64 (/.f64 (*.f64 g -1/2) h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) h g))
(-.f64 (*.f64 (/.f64 (*.f64 g g) (sqrt.f64 -1)) (/.f64 -1/2 h)) (fma.f64 (sqrt.f64 -1) h g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 -1 g) (*.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))))))
(fma.f64 -1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1 (*.f64 (sqrt.f64 -1) h) (fma.f64 -1 g (/.f64 (*.f64 1/8 (pow.f64 g 4)) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))))))
(fma.f64 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) -1/2 (fma.f64 -1 (fma.f64 (sqrt.f64 -1) h g) (*.f64 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) 1/8)))
(fma.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2 (-.f64 (*.f64 (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (/.f64 -1/8 (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) h g)))
(-.f64 (*.f64 (/.f64 (*.f64 g g) (sqrt.f64 -1)) (+.f64 (/.f64 -1/2 h) (/.f64 (*.f64 (*.f64 g g) 1/8) (neg.f64 (pow.f64 h 3))))) (fma.f64 (sqrt.f64 -1) h g))

localize38.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.9b
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
3.0b
(-.f64 (*.f64 g g) (*.f64 h h))
10.5b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
31.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 116 to 38 computations (67.2% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
g
@-inf
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
0.0ms
g
@0
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
0.0ms
h
@-inf
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
0.0ms
g
@inf
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
0.0ms
h
@0
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))

rewrite65.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
495×associate-*r/
448×distribute-lft-in
447×*-commutative
444×distribute-rgt-in
390×associate-*l/
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
118815
2285615
Stop Event
node limit
Counts
1 → 79
Calls
Call 1
Inputs
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.f64 1 g))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 g)) (-.f64 1 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 g (/.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g)) (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 g (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (exp.f64 (log1p.f64 g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (pow.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))) (/.f64 1 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) (/.f64 1 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))) (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g)))) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))) (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (+.f64 (*.f64 g g) (+.f64 (neg.f64 (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) (-.f64 (pow.f64 g 4) (*.f64 (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (+.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) (+.f64 (pow.f64 g 6) (pow.f64 (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) 3))) (+.f64 (pow.f64 g 4) (-.f64 (*.f64 (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (*.f64 (*.f64 g g) (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (/.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (/.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g)))) (cbrt.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))))) (/.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (cbrt.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (/.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (sqrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g)))) (/.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 g 4) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2)) (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 (*.f64 g g) (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (pow.f64 g 3) 3) (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 3)) (*.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (+.f64 (pow.f64 g 6) (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (*.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 g 6) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3)) (*.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 g 6) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3)) (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (*.f64 g g) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g)))) (neg.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (neg.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h)))) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (neg.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))))) (neg.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (neg.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (neg.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2) (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (cbrt.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2) (cbrt.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))))) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (sqrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (sqrt.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (sqrt.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))))) (sqrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) 1) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g)))) 1) (neg.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) 1) (neg.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (pow.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2)) (cbrt.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g)))) (pow.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2)) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (sqrt.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g)))) (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (sqrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 4) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2)) (/.f64 1 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (*.f64 g g) (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 6) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3)) (/.f64 1 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (*.f64 g g) (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 g 3) 3) (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 3)) (/.f64 1 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (+.f64 (pow.f64 g 6) (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (*.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 6) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3)) (/.f64 1 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))) 1) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))) (*.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 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))) (sqrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (sqrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))) (+.f64 (sqrt.f64 g) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4))) (-.f64 (sqrt.f64 g) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) 1) (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) (*.f64 (cbrt.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (cbrt.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (cbrt.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) (sqrt.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (sqrt.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (expm1.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 g g)) (cbrt.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 g) (sqrt.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) g)))))

simplify63.0ms (0.5%)

Algorithm
egg-herbie
Rules
717×associate-/l/
429×times-frac
401×associate-/r/
349×unswap-sqr
340×associate--r+
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
073548
1220537
2747523
33213521
46324521
Stop Event
node limit
Counts
103 → 110
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 (sqrt.f64 -1) h) g)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 (sqrt.f64 -1) h) g))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) g)))
(*.f64 2 g)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 2 g) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 2 g) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/16 (pow.f64 h 8)) (pow.f64 (*.f64 -1/8 (pow.f64 h 4)) 2)) (pow.f64 g 7))) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(*.f64 2 g)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 2 g) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 2 g) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 (sqrt.f64 -1) h) g)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 (sqrt.f64 -1) h) g))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) g)))
(*.f64 -1 (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) g)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 g (*.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))))))
Outputs
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 (sqrt.f64 -1) h) g)
(fma.f64 (sqrt.f64 -1) h g)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 (sqrt.f64 -1) h) g))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 (sqrt.f64 -1) h g))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) h g))
(fma.f64 (sqrt.f64 -1) h (fma.f64 1/2 (/.f64 g (*.f64 h (/.f64 (sqrt.f64 -1) g))) g))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) g)))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h g)))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h g)))
(fma.f64 1/2 (/.f64 g (*.f64 h (/.f64 (sqrt.f64 -1) g))) (fma.f64 (/.f64 1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (fma.f64 (sqrt.f64 -1) h g)))
(*.f64 2 g)
(*.f64 g 2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (*.f64 g 2))
(fma.f64 g 2 (*.f64 -1/2 (/.f64 h (/.f64 g h))))
(fma.f64 g 2 (*.f64 -1/2 (*.f64 (/.f64 h g) h)))
(fma.f64 g 2 (*.f64 (/.f64 -1/2 g) (*.f64 h h)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 2 g) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 2 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 g 2 (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(fma.f64 g 2 (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 -1/2 (*.f64 (/.f64 h g) h))))
(fma.f64 g 2 (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 (/.f64 -1/2 g) (*.f64 h h))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 2 g) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 2 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 g 2 (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) (fma.f64 g 2 (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6)))))
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 g 2 (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6)))))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 (/.f64 1/2 g) (*.f64 h h))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))
(fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8))
(fma.f64 1/2 (/.f64 h (/.f64 g h)) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8))
(fma.f64 1/2 (*.f64 (/.f64 h g) h) (*.f64 (/.f64 1/8 (pow.f64 g 3)) (pow.f64 h 4)))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(fma.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8)))
(fma.f64 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) 1/16 (fma.f64 1/2 (/.f64 h (/.f64 g h)) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8)))
(fma.f64 1/2 (*.f64 (/.f64 h g) h) (fma.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8 (*.f64 (/.f64 1/16 (pow.f64 g 5)) (pow.f64 h 6))))
(fma.f64 1/2 (*.f64 (/.f64 h g) h) (fma.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8 (/.f64 (pow.f64 h 6) (/.f64 (pow.f64 g 5) 1/16))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/16 (pow.f64 h 8)) (pow.f64 (*.f64 -1/8 (pow.f64 h 4)) 2)) (pow.f64 g 7))) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 1/2 (/.f64 (*.f64 h h) g) (fma.f64 1/2 (/.f64 (fma.f64 1/16 (pow.f64 h 8) (pow.f64 (*.f64 -1/8 (pow.f64 h 4)) 2)) (pow.f64 g 7)) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8))))
(fma.f64 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) 1/16 (fma.f64 1/2 (/.f64 h (/.f64 g h)) (fma.f64 1/2 (/.f64 (fma.f64 1/16 (pow.f64 h 8) (*.f64 (pow.f64 h 8) 1/64)) (pow.f64 g 7)) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8))))
(fma.f64 1/2 (+.f64 (*.f64 (/.f64 h g) h) (/.f64 (*.f64 (pow.f64 h 8) 5/64) (pow.f64 g 7))) (fma.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8 (*.f64 (/.f64 1/16 (pow.f64 g 5)) (pow.f64 h 6))))
(fma.f64 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) 1/16 (fma.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (/.f64 (*.f64 (pow.f64 h 8) 5/128) (pow.f64 g 7)))))
(*.f64 2 g)
(*.f64 g 2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (*.f64 g 2))
(fma.f64 g 2 (*.f64 -1/2 (/.f64 h (/.f64 g h))))
(fma.f64 g 2 (*.f64 -1/2 (*.f64 (/.f64 h g) h)))
(fma.f64 g 2 (*.f64 (/.f64 -1/2 g) (*.f64 h h)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 2 g) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 2 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 g 2 (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(fma.f64 g 2 (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 -1/2 (*.f64 (/.f64 h g) h))))
(fma.f64 g 2 (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 (/.f64 -1/2 g) (*.f64 h h))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 2 g) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 2 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 g 2 (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) (fma.f64 g 2 (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6)))))
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 g 2 (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6)))))
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 (sqrt.f64 -1) h) g)
(fma.f64 (sqrt.f64 -1) h g)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 (sqrt.f64 -1) h) g))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 (sqrt.f64 -1) h g))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) h g))
(fma.f64 (sqrt.f64 -1) h (fma.f64 1/2 (/.f64 g (*.f64 h (/.f64 (sqrt.f64 -1) g))) g))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) g)))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h g)))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h g)))
(fma.f64 1/2 (/.f64 g (*.f64 h (/.f64 (sqrt.f64 -1) g))) (fma.f64 (/.f64 1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (fma.f64 (sqrt.f64 -1) h g)))
(*.f64 -1 (*.f64 (sqrt.f64 -1) h))
(neg.f64 (*.f64 (sqrt.f64 -1) h))
(*.f64 (sqrt.f64 -1) (neg.f64 h))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) g)
(fma.f64 -1 (*.f64 (sqrt.f64 -1) h) g)
(-.f64 g (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) g))
(fma.f64 -1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1 (*.f64 (sqrt.f64 -1) h) g))
(fma.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2 (-.f64 g (*.f64 (sqrt.f64 -1) h)))
(fma.f64 (/.f64 g (*.f64 h (/.f64 (sqrt.f64 -1) g))) -1/2 (-.f64 g (*.f64 (sqrt.f64 -1) h)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 g (*.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))))))
(fma.f64 -1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (+.f64 (fma.f64 -1 (*.f64 (sqrt.f64 -1) h) g) (/.f64 (*.f64 1/8 (pow.f64 g 4)) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))))
(fma.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2 (-.f64 (fma.f64 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) 1/8 g) (*.f64 (sqrt.f64 -1) h)))
(-.f64 (fma.f64 (/.f64 g (*.f64 h (/.f64 (sqrt.f64 -1) g))) -1/2 (fma.f64 (/.f64 -1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) g)) (*.f64 (sqrt.f64 -1) h))
(-.f64 (fma.f64 (/.f64 -1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) g) (fma.f64 (sqrt.f64 -1) h (*.f64 1/2 (/.f64 g (*.f64 h (/.f64 (sqrt.f64 -1) g))))))

localize53.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.0b
(-.f64 (*.f64 g g) (*.f64 h h))
10.5b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
18.3b
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g)))
31.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 172 to 60 computations (65.1% saved)

series11.0ms (0.1%)

Counts
1 → 4
Calls

9 calls:

TimeVariablePointExpression
3.0ms
h
@0
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g)))
3.0ms
h
@inf
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g)))
1.0ms
g
@0
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g)))
1.0ms
g
@inf
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g)))
1.0ms
a
@0
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g)))

rewrite66.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
894×associate-/r*
616×associate-/l*
197×associate-/r/
154×associate-+l+
154×add-sqr-sqrt-binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01324
129724
2428924
Stop Event
node limit
Counts
1 → 30
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g))) (cbrt.f64 (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) 1) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (pow.f64 (cbrt.f64 a) 2))) (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (*.f64 (cbrt.f64 (cbrt.f64 a)) (cbrt.f64 (cbrt.f64 a)))) (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (sqrt.f64 a))) (cbrt.f64 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (sqrt.f64 (cbrt.f64 a))) (sqrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))))))))

simplify81.0ms (0.7%)

Algorithm
egg-herbie
Rules
720×associate-*r/
616×fma-def
570×unswap-sqr
559×*-commutative
495×associate-*l/
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
060268
1163268
2504268
31935268
45606258
56854250
67397250
Stop Event
node limit
Counts
34 → 38
Calls
Call 1
Inputs
(*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 -2) 2)))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (+.f64 (*.f64 -1/36 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 -2) 5)))) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 -2) 2))))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (+.f64 (*.f64 5/648 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 17))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 6)) (pow.f64 (cbrt.f64 -2) 8)))) (+.f64 (*.f64 -1/36 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 -2) 5)))) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 -2) 2)))))))
Outputs
(*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)))
(*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 -2) 2)))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (*.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h))))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5))) (*.f64 (*.f64 h h) (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 2)))) (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (*.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (*.f64 (cbrt.f64 1/2) (*.f64 h h)) (pow.f64 (cbrt.f64 -2) 2)))))
(*.f64 (cbrt.f64 1/2) (+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -2)) (/.f64 (*.f64 1/6 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h)))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (+.f64 (*.f64 -1/36 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 -2) 5)))) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 -2) 2))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 -1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (/.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 (cbrt.f64 -2) 5) (pow.f64 h 4)))) (*.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h)))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h)))) (*.f64 -1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (*.f64 (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 5)) (pow.f64 h 4))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5))) (*.f64 (*.f64 h h) (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 2)))) (*.f64 (*.f64 (pow.f64 h 4) (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 5))) (*.f64 -1/36 (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 g 11)) a))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (*.f64 (cbrt.f64 1/2) (*.f64 h h)) (pow.f64 (cbrt.f64 -2) 2))) (*.f64 -1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 -2) 5))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (*.f64 (cbrt.f64 1/2) (+.f64 (/.f64 (*.f64 1/6 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h))) (/.f64 (*.f64 -1/36 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11)))) (/.f64 (pow.f64 (cbrt.f64 -2) 5) (pow.f64 h 4))))))
(*.f64 (cbrt.f64 1/2) (+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -2)) (+.f64 (/.f64 (*.f64 1/6 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h))) (/.f64 (*.f64 -1/36 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11)))) (/.f64 (pow.f64 (cbrt.f64 -2) 5) (pow.f64 h 4))))))
(*.f64 (cbrt.f64 1/2) (+.f64 (/.f64 (*.f64 (pow.f64 h 4) (*.f64 -1/36 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11))))) (pow.f64 (cbrt.f64 -2) 5)) (+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -2)) (/.f64 (*.f64 1/6 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h))))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (+.f64 (*.f64 5/648 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 17))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 6)) (pow.f64 (cbrt.f64 -2) 8)))) (+.f64 (*.f64 -1/36 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 -2) 5)))) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 -2) 2)))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 5/648 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 17)))) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 6)) (pow.f64 (cbrt.f64 -2) 8))) (fma.f64 -1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (/.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 (cbrt.f64 -2) 5) (pow.f64 h 4)))) (*.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h))))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 5/648 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 17)))) (*.f64 (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 8)) (pow.f64 h 6))) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h)))) (*.f64 -1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (*.f64 (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 5)) (pow.f64 h 4)))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5))) (*.f64 (*.f64 h h) (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 2)))) (fma.f64 -1/36 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 g 11)) a)) (*.f64 (pow.f64 h 4) (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 5)))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 17)))) (*.f64 (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 8)) (*.f64 (pow.f64 h 6) 5/648))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (*.f64 (cbrt.f64 1/2) (*.f64 h h)) (pow.f64 (cbrt.f64 -2) 2))) (fma.f64 -1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 -2) 5))) (*.f64 5/648 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 17)))) (*.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 h 6) (pow.f64 (cbrt.f64 -2) 8))))))))
(+.f64 (*.f64 (cbrt.f64 1/2) (+.f64 (/.f64 (*.f64 1/6 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h))) (/.f64 (*.f64 -1/36 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11)))) (/.f64 (pow.f64 (cbrt.f64 -2) 5) (pow.f64 h 4))))) (*.f64 (cbrt.f64 1/2) (+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -2)) (/.f64 (*.f64 5/648 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 17)))) (/.f64 (pow.f64 (cbrt.f64 -2) 8) (pow.f64 h 6))))))
(*.f64 (cbrt.f64 1/2) (+.f64 (+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -2)) (/.f64 (*.f64 -1/36 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11)))) (/.f64 (pow.f64 (cbrt.f64 -2) 5) (pow.f64 h 4)))) (+.f64 (/.f64 (*.f64 5/648 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 17)))) (/.f64 (pow.f64 (cbrt.f64 -2) 8) (pow.f64 h 6))) (/.f64 (*.f64 1/6 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h))))))
(*.f64 (cbrt.f64 1/2) (+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -2)) (+.f64 (/.f64 (*.f64 -1/36 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11)))) (/.f64 (pow.f64 (cbrt.f64 -2) 5) (pow.f64 h 4))) (+.f64 (/.f64 (*.f64 5/648 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 17)))) (/.f64 (pow.f64 (cbrt.f64 -2) 8) (pow.f64 h 6))) (/.f64 (*.f64 1/6 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h)))))))

localize41.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.5b
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
3.0b
(-.f64 (*.f64 g g) (*.f64 h h))
8.8b
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))
31.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 147 to 39 computations (73.5% saved)

localize47.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.0b
(-.f64 (*.f64 g g) (*.f64 h h))
6.3b
(log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
8.8b
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))
31.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 183 to 55 computations (69.9% saved)

series76.0ms (0.7%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
39.0ms
a
@0
(log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
16.0ms
a
@-inf
(log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
12.0ms
a
@inf
(log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
2.0ms
g
@0
(log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
2.0ms
g
@-inf
(log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))

rewrite75.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
759×distribute-lft-in
424×associate-/r*
279×associate-/l*
269×associate-+l+
154×+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01323
129323
2419523
Stop Event
node limit
Counts
1 → 62
Calls
Call 1
Inputs
(log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 -1/2 a)) (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 -1/2) (+.f64 (log.f64 (/.f64 1 a)) (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2)) (+.f64 (log.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (log.f64 (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 a))) (+.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 a))) (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (log.f64 (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (log.f64 (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 2)) (log.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 -1/2 a)) 2)) (+.f64 (log.f64 (cbrt.f64 (/.f64 -1/2 a))) (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) (log.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) (log.f64 (sqrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1) (*.f64 (log.f64 (/.f64 -1/2 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (/.f64 -1/2 a)) 1) (*.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 (/.f64 -1/2 a)) (log.f64 (pow.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2))) (log.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 (/.f64 -1/2 a)) (log.f64 (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (log.f64 (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 -1/2)) (log.f64 (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (sqrt.f64 (/.f64 -1/2 a)))) (log.f64 (sqrt.f64 (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (pow.f64 (cbrt.f64 (/.f64 -1/2 a)) 2))) (log.f64 (cbrt.f64 (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (log.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 2))) (log.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (log.f64 (sqrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))) (log.f64 (sqrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (*.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1)) (*.f64 (log.f64 (/.f64 -1/2 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (log.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 2))) (*.f64 1 (log.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (log.f64 (sqrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))) (*.f64 1 (log.f64 (sqrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (*.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1)) (*.f64 1 (*.f64 (log.f64 (/.f64 -1/2 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 1/2) (-.f64 (log.f64 (neg.f64 a)) (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 -1/2) (-.f64 (log.f64 a) (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (-.f64 (log.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (log.f64 (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g)))) (-.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (log.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (log.f64 (*.f64 a -2)) (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 -1/2)) (log.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log.f64 (/.f64 -1/2 a)) (log.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (log.f64 (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log.f64 (/.f64 -1/2 a)) (log.f64 (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 g g))))) (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 1/2)) (log.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2))) (log.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (exp.f64 (log1p.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (log.f64 (pow.f64 (cbrt.f64 a) 2))) (log.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (log.f64 (sqrt.f64 a))) (log.f64 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) 0) (log.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) (pow.f64 (cbrt.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 2) (cbrt.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) (sqrt.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (log.f64 (sqrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (log.f64 (/.f64 -1/2 a)) (log.f64 (/.f64 -1/2 a)))) (-.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 3) (pow.f64 (log.f64 (/.f64 -1/2 a)) 3)) (+.f64 (*.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (-.f64 (*.f64 (log.f64 (/.f64 -1/2 a)) (log.f64 (/.f64 -1/2 a))) (*.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (/.f64 -1/2 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (-.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1))))))

simplify62.0ms (0.5%)

Algorithm
egg-herbie
Rules
886×times-frac
456×associate-/l*
454×associate-*r*
422×associate-+r+
392×associate-/r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01801301
15051199
218131112
Stop Event
node limit
Counts
98 → 109
Calls
Call 1
Inputs
(log.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 -1) h) a)))
(+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (log.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 -1) h) a))))
(+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (+.f64 (log.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 -1) h) a))) (*.f64 -1/6 (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))))))
(+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (+.f64 (log.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 -1) h) a))) (+.f64 (*.f64 3/40 (/.f64 (pow.f64 g 5) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))) (*.f64 -1/6 (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 -1 a)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (/.f64 -1 a))))
(+.f64 (*.f64 1/24 (/.f64 (+.f64 (*.f64 -3/4 (pow.f64 h 4)) (*.f64 -3/2 (pow.f64 h 4))) (pow.f64 g 4))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (/.f64 -1 a)))))
(+.f64 (*.f64 1/24 (/.f64 (+.f64 (*.f64 -3/4 (pow.f64 h 4)) (*.f64 -3/2 (pow.f64 h 4))) (pow.f64 g 4))) (+.f64 (*.f64 1/720 (/.f64 (+.f64 (*.f64 -15/4 (pow.f64 h 6)) (+.f64 (*.f64 -45/2 (pow.f64 h 6)) (*.f64 -45/4 (pow.f64 h 6)))) (pow.f64 g 6))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (/.f64 -1 a))))))
(+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a)))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (log.f64 (/.f64 -1 g)) (+.f64 (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 3 (pow.f64 h 4)) (*.f64 -3/4 (pow.f64 h 4))) (pow.f64 g 4))))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (log.f64 (/.f64 -1 g)) (+.f64 (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a))) (+.f64 (*.f64 1/720 (/.f64 (+.f64 (*.f64 15/4 (pow.f64 h 6)) (+.f64 (*.f64 720 (/.f64 (+.f64 (*.f64 1/16 (pow.f64 h 8)) (pow.f64 (*.f64 -1/8 (pow.f64 h 4)) 2)) (pow.f64 h 2))) (*.f64 -45/2 (pow.f64 h 6)))) (pow.f64 g 6))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 3 (pow.f64 h 4)) (*.f64 -3/4 (pow.f64 h 4))) (pow.f64 g 4)))))))
(log.f64 (*.f64 -1 (/.f64 g a)))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (*.f64 -1 (/.f64 g a))))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (log.f64 (*.f64 -1 (/.f64 g a))) (*.f64 -3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)))))
(+.f64 (*.f64 -5/96 (/.f64 (pow.f64 h 6) (pow.f64 g 6))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (log.f64 (*.f64 -1 (/.f64 g a))) (*.f64 -3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 h))) (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a))))
(+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 h))) (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a)))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (pow.f64 h 2))) (+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 h))) (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a))))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (pow.f64 h 2))) (+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 1/6 (/.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 g 3) (pow.f64 (sqrt.f64 -1) 3))) (*.f64 -3 (/.f64 (pow.f64 g 3) (pow.f64 (sqrt.f64 -1) 3)))) (pow.f64 h 3))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 h))) (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a)))))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 h))) (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a))))
(+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (+.f64 (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a))) (*.f64 -1 (log.f64 (/.f64 -1 h)))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (pow.f64 h 2))) (+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (+.f64 (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a))) (*.f64 -1 (log.f64 (/.f64 -1 h))))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (pow.f64 h 2))) (+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/6 (/.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 g 3) (pow.f64 (sqrt.f64 -1) 3))) (*.f64 -3 (/.f64 (pow.f64 g 3) (pow.f64 (sqrt.f64 -1) 3)))) (pow.f64 h 3))) (+.f64 (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a))) (*.f64 -1 (log.f64 (/.f64 -1 h)))))))
(+.f64 (*.f64 -1 (log.f64 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(+.f64 (*.f64 -1 (log.f64 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(+.f64 (*.f64 -1 (log.f64 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(+.f64 (*.f64 -1 (log.f64 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(+.f64 (log.f64 (/.f64 1 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(+.f64 (log.f64 (/.f64 1 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(+.f64 (log.f64 (/.f64 1 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(+.f64 (log.f64 (/.f64 1 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
Outputs
(log.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 -1) h) a)))
(log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) (/.f64 a h))))
(log.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 -1/2 h)) a))
(+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (log.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 -1) h) a))))
(+.f64 (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) (/.f64 a h)))) (/.f64 (/.f64 g (sqrt.f64 -1)) h))
(+.f64 (log.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 -1/2 h)) a)) (/.f64 g (*.f64 (sqrt.f64 -1) h)))
(+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (+.f64 (log.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 -1) h) a))) (*.f64 -1/6 (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))))))
(+.f64 (/.f64 (/.f64 g (sqrt.f64 -1)) h) (+.f64 (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) (/.f64 a h)))) (*.f64 -1/6 (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))))))
(+.f64 (/.f64 (/.f64 g (sqrt.f64 -1)) h) (fma.f64 -1/6 (/.f64 (/.f64 (/.f64 (pow.f64 g 3) -1) (sqrt.f64 -1)) (pow.f64 h 3)) (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) (/.f64 a h))))))
(+.f64 (log.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 -1/2 h)) a)) (+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (*.f64 (/.f64 (pow.f64 g 3) (pow.f64 h 3)) (/.f64 1/6 (sqrt.f64 -1)))))
(+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (+.f64 (log.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 -1) h) a))) (+.f64 (*.f64 3/40 (/.f64 (pow.f64 g 5) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))) (*.f64 -1/6 (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))))))
(+.f64 (/.f64 (/.f64 g (sqrt.f64 -1)) h) (+.f64 (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) (/.f64 a h)))) (fma.f64 3/40 (/.f64 (pow.f64 g 5) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5))) (*.f64 -1/6 (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))))))
(+.f64 (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) (/.f64 a h)))) (+.f64 (/.f64 (/.f64 g (sqrt.f64 -1)) h) (fma.f64 -1/6 (/.f64 (/.f64 (/.f64 (pow.f64 g 3) -1) (sqrt.f64 -1)) (pow.f64 h 3)) (*.f64 (/.f64 3/40 (pow.f64 (sqrt.f64 -1) 5)) (/.f64 (pow.f64 g 5) (pow.f64 h 5))))))
(+.f64 (+.f64 (log.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 -1/2 h)) a)) (/.f64 g (*.f64 (sqrt.f64 -1) h))) (fma.f64 3/40 (/.f64 (pow.f64 g 5) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5))) (*.f64 (/.f64 (pow.f64 g 3) (pow.f64 h 3)) (/.f64 1/6 (sqrt.f64 -1)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 -1 a)))
(fma.f64 -1 (neg.f64 (log.f64 g)) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(log.f64 (/.f64 (neg.f64 g) a))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (/.f64 -1 a))))
(fma.f64 -1 (neg.f64 (log.f64 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (log.f64 (/.f64 -1 a))))
(+.f64 (log.f64 g) (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (log.f64 (/.f64 -1 a))))
(fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (log.f64 (/.f64 (neg.f64 g) a)))
(+.f64 (*.f64 1/24 (/.f64 (+.f64 (*.f64 -3/4 (pow.f64 h 4)) (*.f64 -3/2 (pow.f64 h 4))) (pow.f64 g 4))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (/.f64 -1 a)))))
(fma.f64 1/24 (/.f64 (*.f64 (pow.f64 h 4) -9/4) (pow.f64 g 4)) (fma.f64 -1 (neg.f64 (log.f64 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (log.f64 (/.f64 -1 a)))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (log.f64 (/.f64 -1 a))) (fma.f64 1/24 (/.f64 (pow.f64 h 4) (/.f64 (pow.f64 g 4) -9/4)) (log.f64 g)))
(fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (fma.f64 -3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (log.f64 (/.f64 (neg.f64 g) a))))
(+.f64 (*.f64 1/24 (/.f64 (+.f64 (*.f64 -3/4 (pow.f64 h 4)) (*.f64 -3/2 (pow.f64 h 4))) (pow.f64 g 4))) (+.f64 (*.f64 1/720 (/.f64 (+.f64 (*.f64 -15/4 (pow.f64 h 6)) (+.f64 (*.f64 -45/2 (pow.f64 h 6)) (*.f64 -45/4 (pow.f64 h 6)))) (pow.f64 g 6))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (/.f64 -1 a))))))
(fma.f64 1/24 (/.f64 (*.f64 (pow.f64 h 4) -9/4) (pow.f64 g 4)) (fma.f64 1/720 (/.f64 (fma.f64 -15/4 (pow.f64 h 6) (*.f64 (pow.f64 h 6) -135/4)) (pow.f64 g 6)) (fma.f64 -1 (neg.f64 (log.f64 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (log.f64 (/.f64 -1 a))))))
(fma.f64 1/24 (/.f64 (pow.f64 h 4) (/.f64 (pow.f64 g 4) -9/4)) (+.f64 (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (log.f64 (/.f64 -1 a))) (fma.f64 1/720 (/.f64 (*.f64 (pow.f64 h 6) -75/2) (pow.f64 g 6)) (log.f64 g))))
(fma.f64 -5/96 (/.f64 (pow.f64 h 6) (pow.f64 g 6)) (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (fma.f64 -3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (log.f64 (/.f64 (neg.f64 g) a)))))
(+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a))))
(+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (*.f64 1/4 (/.f64 (*.f64 h h) a))))
(+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (/.f64 1/4 (/.f64 a (*.f64 h h)))))
(+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (/.f64 (*.f64 h h) (/.f64 a 1/4))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a)))))
(fma.f64 1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (*.f64 1/4 (/.f64 (*.f64 h h) a)))))
(+.f64 (log.f64 (/.f64 1/4 (/.f64 a (*.f64 h h)))) (fma.f64 (*.f64 (/.f64 h g) (/.f64 h g)) 1/4 (log.f64 (/.f64 -1 g))))
(+.f64 (log.f64 (/.f64 (*.f64 h h) (/.f64 a 1/4))) (fma.f64 (*.f64 (/.f64 h g) (/.f64 h g)) 1/4 (log.f64 (/.f64 -1 g))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (log.f64 (/.f64 -1 g)) (+.f64 (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 3 (pow.f64 h 4)) (*.f64 -3/4 (pow.f64 h 4))) (pow.f64 g 4))))))
(fma.f64 1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (+.f64 (log.f64 (/.f64 -1 g)) (+.f64 (log.f64 (*.f64 1/4 (/.f64 (*.f64 h h) a))) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 h 4) 9/4) (pow.f64 g 4))))))
(+.f64 (fma.f64 1/24 (/.f64 (pow.f64 h 4) (/.f64 (pow.f64 g 4) 9/4)) (log.f64 (/.f64 1/4 (/.f64 a (*.f64 h h))))) (fma.f64 (*.f64 (/.f64 h g) (/.f64 h g)) 1/4 (log.f64 (/.f64 -1 g))))
(+.f64 (log.f64 (/.f64 (*.f64 h h) (/.f64 a 1/4))) (+.f64 (/.f64 (*.f64 (pow.f64 h 4) 3/32) (pow.f64 g 4)) (fma.f64 (*.f64 (/.f64 h g) (/.f64 h g)) 1/4 (log.f64 (/.f64 -1 g)))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (log.f64 (/.f64 -1 g)) (+.f64 (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a))) (+.f64 (*.f64 1/720 (/.f64 (+.f64 (*.f64 15/4 (pow.f64 h 6)) (+.f64 (*.f64 720 (/.f64 (+.f64 (*.f64 1/16 (pow.f64 h 8)) (pow.f64 (*.f64 -1/8 (pow.f64 h 4)) 2)) (pow.f64 h 2))) (*.f64 -45/2 (pow.f64 h 6)))) (pow.f64 g 6))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 3 (pow.f64 h 4)) (*.f64 -3/4 (pow.f64 h 4))) (pow.f64 g 4)))))))
(fma.f64 1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (+.f64 (log.f64 (/.f64 -1 g)) (+.f64 (log.f64 (*.f64 1/4 (/.f64 (*.f64 h h) a))) (fma.f64 1/720 (/.f64 (fma.f64 15/4 (pow.f64 h 6) (fma.f64 720 (/.f64 (fma.f64 1/16 (pow.f64 h 8) (pow.f64 (*.f64 (pow.f64 h 4) -1/8) 2)) (*.f64 h h)) (*.f64 (pow.f64 h 6) -45/2))) (pow.f64 g 6)) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 h 4) 9/4) (pow.f64 g 4)))))))
(+.f64 (+.f64 (fma.f64 1/24 (/.f64 (pow.f64 h 4) (/.f64 (pow.f64 g 4) 9/4)) (log.f64 (/.f64 1/4 (/.f64 a (*.f64 h h))))) (/.f64 (*.f64 1/720 (fma.f64 (pow.f64 h 6) 15/4 (fma.f64 720 (/.f64 (fma.f64 1/16 (pow.f64 h 8) (*.f64 (pow.f64 h 8) 1/64)) (*.f64 h h)) (*.f64 (pow.f64 h 6) -45/2)))) (pow.f64 g 6))) (fma.f64 (*.f64 (/.f64 h g) (/.f64 h g)) 1/4 (log.f64 (/.f64 -1 g))))
(+.f64 (log.f64 (/.f64 (*.f64 h h) (/.f64 a 1/4))) (+.f64 (fma.f64 1/720 (/.f64 (+.f64 (/.f64 (*.f64 720 (*.f64 (pow.f64 h 8) 5/64)) (*.f64 h h)) (*.f64 (pow.f64 h 6) -75/4)) (pow.f64 g 6)) (/.f64 (*.f64 (pow.f64 h 4) 3/32) (pow.f64 g 4))) (fma.f64 (*.f64 (/.f64 h g) (/.f64 h g)) 1/4 (log.f64 (/.f64 -1 g)))))
(log.f64 (*.f64 -1 (/.f64 g a)))
(fma.f64 -1 (neg.f64 (log.f64 g)) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(log.f64 (/.f64 (neg.f64 g) a))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (*.f64 -1 (/.f64 g a))))
(fma.f64 -1 (neg.f64 (log.f64 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (log.f64 (/.f64 -1 a))))
(+.f64 (log.f64 g) (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (log.f64 (/.f64 -1 a))))
(fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (log.f64 (/.f64 (neg.f64 g) a)))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (log.f64 (*.f64 -1 (/.f64 g a))) (*.f64 -3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)))))
(fma.f64 1/24 (/.f64 (*.f64 (pow.f64 h 4) -9/4) (pow.f64 g 4)) (fma.f64 -1 (neg.f64 (log.f64 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (log.f64 (/.f64 -1 a)))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (log.f64 (/.f64 -1 a))) (fma.f64 1/24 (/.f64 (pow.f64 h 4) (/.f64 (pow.f64 g 4) -9/4)) (log.f64 g)))
(fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (fma.f64 -3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (log.f64 (/.f64 (neg.f64 g) a))))
(+.f64 (*.f64 -5/96 (/.f64 (pow.f64 h 6) (pow.f64 g 6))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (log.f64 (*.f64 -1 (/.f64 g a))) (*.f64 -3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))))))
(fma.f64 1/24 (/.f64 (*.f64 (pow.f64 h 4) -9/4) (pow.f64 g 4)) (fma.f64 1/720 (/.f64 (fma.f64 -15/4 (pow.f64 h 6) (*.f64 (pow.f64 h 6) -135/4)) (pow.f64 g 6)) (fma.f64 -1 (neg.f64 (log.f64 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (log.f64 (/.f64 -1 a))))))
(fma.f64 1/24 (/.f64 (pow.f64 h 4) (/.f64 (pow.f64 g 4) -9/4)) (+.f64 (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (log.f64 (/.f64 -1 a))) (fma.f64 1/720 (/.f64 (*.f64 (pow.f64 h 6) -75/2) (pow.f64 g 6)) (log.f64 g))))
(fma.f64 -5/96 (/.f64 (pow.f64 h 6) (pow.f64 g 6)) (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (fma.f64 -3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (log.f64 (/.f64 (neg.f64 g) a)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 h))) (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a))))
(fma.f64 -1 (neg.f64 (log.f64 h)) (log.f64 (/.f64 (*.f64 -1/2 (sqrt.f64 -1)) a)))
(+.f64 (log.f64 h) (log.f64 (/.f64 -1/2 (/.f64 a (sqrt.f64 -1)))))
(+.f64 (log.f64 h) (log.f64 (*.f64 (/.f64 -1/2 a) (sqrt.f64 -1))))
(+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 h))) (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a)))))
(+.f64 (/.f64 (/.f64 g (sqrt.f64 -1)) h) (fma.f64 -1 (neg.f64 (log.f64 h)) (log.f64 (/.f64 (*.f64 -1/2 (sqrt.f64 -1)) a))))
(+.f64 (log.f64 (/.f64 -1/2 (/.f64 a (sqrt.f64 -1)))) (+.f64 (/.f64 (/.f64 g (sqrt.f64 -1)) h) (log.f64 h)))
(+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (+.f64 (log.f64 h) (log.f64 (*.f64 (/.f64 -1/2 a) (sqrt.f64 -1)))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (pow.f64 h 2))) (+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 h))) (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a))))))
(+.f64 (/.f64 (/.f64 g (sqrt.f64 -1)) h) (fma.f64 -1 (neg.f64 (log.f64 h)) (log.f64 (/.f64 (*.f64 -1/2 (sqrt.f64 -1)) a))))
(+.f64 (log.f64 (/.f64 -1/2 (/.f64 a (sqrt.f64 -1)))) (+.f64 (/.f64 (/.f64 g (sqrt.f64 -1)) h) (log.f64 h)))
(+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (+.f64 (log.f64 h) (log.f64 (*.f64 (/.f64 -1/2 a) (sqrt.f64 -1)))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (pow.f64 h 2))) (+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 1/6 (/.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 g 3) (pow.f64 (sqrt.f64 -1) 3))) (*.f64 -3 (/.f64 (pow.f64 g 3) (pow.f64 (sqrt.f64 -1) 3)))) (pow.f64 h 3))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 h))) (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a)))))))
(fma.f64 1/2 (/.f64 (*.f64 0 (/.f64 (*.f64 g g) (pow.f64 (sqrt.f64 -1) 2))) (*.f64 h h)) (+.f64 (/.f64 (/.f64 g (sqrt.f64 -1)) h) (fma.f64 1/6 (/.f64 (*.f64 (/.f64 (pow.f64 g 3) (pow.f64 (sqrt.f64 -1) 3)) -1) (pow.f64 h 3)) (fma.f64 -1 (neg.f64 (log.f64 h)) (log.f64 (/.f64 (*.f64 -1/2 (sqrt.f64 -1)) a))))))
(+.f64 (/.f64 0 (*.f64 h h)) (+.f64 (fma.f64 1/6 (/.f64 (/.f64 (/.f64 (pow.f64 g 3) -1) (sqrt.f64 -1)) (/.f64 (pow.f64 h 3) -1)) (log.f64 h)) (+.f64 (log.f64 (/.f64 -1/2 (/.f64 a (sqrt.f64 -1)))) (/.f64 (/.f64 g (sqrt.f64 -1)) h))))
(+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (+.f64 (log.f64 (*.f64 (/.f64 -1/2 a) (sqrt.f64 -1))) (+.f64 (log.f64 h) (*.f64 (/.f64 (pow.f64 g 3) (pow.f64 h 3)) (/.f64 1/6 (sqrt.f64 -1))))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 h))) (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a))))
(fma.f64 -1 (log.f64 (/.f64 -1 h)) (log.f64 (/.f64 (*.f64 -1/2 (sqrt.f64 -1)) a)))
(-.f64 (log.f64 (/.f64 -1/2 (/.f64 a (sqrt.f64 -1)))) (log.f64 (/.f64 -1 h)))
(-.f64 (log.f64 (*.f64 (/.f64 -1/2 a) (sqrt.f64 -1))) (log.f64 (/.f64 -1 h)))
(+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (+.f64 (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a))) (*.f64 -1 (log.f64 (/.f64 -1 h)))))
(fma.f64 -1 (/.f64 (/.f64 g (sqrt.f64 -1)) h) (fma.f64 -1 (log.f64 (/.f64 -1 h)) (log.f64 (/.f64 (*.f64 -1/2 (sqrt.f64 -1)) a))))
(-.f64 (-.f64 (log.f64 (/.f64 -1/2 (/.f64 a (sqrt.f64 -1)))) (log.f64 (/.f64 -1 h))) (/.f64 (/.f64 g (sqrt.f64 -1)) h))
(-.f64 (-.f64 (log.f64 (*.f64 (/.f64 -1/2 a) (sqrt.f64 -1))) (/.f64 g (*.f64 (sqrt.f64 -1) h))) (log.f64 (/.f64 -1 h)))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (pow.f64 h 2))) (+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (+.f64 (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a))) (*.f64 -1 (log.f64 (/.f64 -1 h))))))
(fma.f64 -1 (/.f64 (/.f64 g (sqrt.f64 -1)) h) (fma.f64 -1 (log.f64 (/.f64 -1 h)) (log.f64 (/.f64 (*.f64 -1/2 (sqrt.f64 -1)) a))))
(-.f64 (-.f64 (log.f64 (/.f64 -1/2 (/.f64 a (sqrt.f64 -1)))) (log.f64 (/.f64 -1 h))) (/.f64 (/.f64 g (sqrt.f64 -1)) h))
(-.f64 (-.f64 (log.f64 (*.f64 (/.f64 -1/2 a) (sqrt.f64 -1))) (/.f64 g (*.f64 (sqrt.f64 -1) h))) (log.f64 (/.f64 -1 h)))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (/.f64 (pow.f64 g 2) (pow.f64 (sqrt.f64 -1) 2))) (pow.f64 h 2))) (+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/6 (/.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 g 3) (pow.f64 (sqrt.f64 -1) 3))) (*.f64 -3 (/.f64 (pow.f64 g 3) (pow.f64 (sqrt.f64 -1) 3)))) (pow.f64 h 3))) (+.f64 (log.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -1) a))) (*.f64 -1 (log.f64 (/.f64 -1 h)))))))
(fma.f64 1/2 (/.f64 (*.f64 0 (/.f64 (*.f64 g g) (pow.f64 (sqrt.f64 -1) 2))) (*.f64 h h)) (fma.f64 -1 (/.f64 (/.f64 g (sqrt.f64 -1)) h) (fma.f64 -1/6 (/.f64 (*.f64 (/.f64 (pow.f64 g 3) (pow.f64 (sqrt.f64 -1) 3)) -1) (pow.f64 h 3)) (fma.f64 -1 (log.f64 (/.f64 -1 h)) (log.f64 (/.f64 (*.f64 -1/2 (sqrt.f64 -1)) a))))))
(+.f64 (/.f64 0 (*.f64 h h)) (-.f64 (-.f64 (fma.f64 -1/6 (/.f64 (/.f64 (/.f64 (pow.f64 g 3) -1) (sqrt.f64 -1)) (/.f64 (pow.f64 h 3) -1)) (log.f64 (/.f64 -1/2 (/.f64 a (sqrt.f64 -1))))) (log.f64 (/.f64 -1 h))) (/.f64 (/.f64 g (sqrt.f64 -1)) h)))
(-.f64 (-.f64 (fma.f64 -1/6 (/.f64 (*.f64 (/.f64 (pow.f64 g 3) (sqrt.f64 -1)) 1) (pow.f64 h 3)) (log.f64 (*.f64 (/.f64 -1/2 a) (sqrt.f64 -1)))) (log.f64 (/.f64 -1 h))) (/.f64 g (*.f64 (sqrt.f64 -1) h)))
(+.f64 (*.f64 -1 (log.f64 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(fma.f64 -1 (log.f64 a) (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(-.f64 (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(fma.f64 -1 (log.f64 a) (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(-.f64 (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(fma.f64 -1 (log.f64 a) (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(-.f64 (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(fma.f64 -1 (log.f64 a) (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(-.f64 (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (log.f64 a))
(+.f64 (log.f64 (/.f64 1 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(fma.f64 -1 (log.f64 a) (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(-.f64 (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (log.f64 a))
(+.f64 (log.f64 (/.f64 1 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(fma.f64 -1 (log.f64 a) (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(-.f64 (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (log.f64 a))
(+.f64 (log.f64 (/.f64 1 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(fma.f64 -1 (log.f64 a) (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(-.f64 (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (log.f64 a))
(+.f64 (log.f64 (/.f64 1 a)) (log.f64 (*.f64 -1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(fma.f64 -1 (log.f64 a) (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(-.f64 (log.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (log.f64 a))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 1/2 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))

eval1.8s (15.9%)

Compiler

Compiled 111452 to 46120 computations (58.6% saved)

prune475.0ms (4.1%)

Pruning

42 alts after pruning (41 fresh and 1 done)

PrunedKeptTotal
New2405412446
Fresh18018
Picked101
Done415
Total2428422470
Error
14.0b
Counts
2470 → 42
Alt Table
Click to see full alt table
StatusErrorProgram
50.1b
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))) 3) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
48.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) (/.f64 -1/2 a))))
44.7b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
62.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
57.2b
(+.f64 (pow.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)) 1/3) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
20.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 2) (cbrt.f64 (/.f64 g a)))))
55.5b
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (sqrt.f64 (cbrt.f64 a))) (sqrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
55.7b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (/.f64 (*.f64 h h) (/.f64 a 1/4)))) 1/3)))
47.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
46.1b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (*.f64 g -2))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
46.1b
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (*.f64 (cbrt.f64 (cbrt.f64 a)) (cbrt.f64 (cbrt.f64 a)))) (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
55.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/3))
46.0b
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (pow.f64 (cbrt.f64 a) 2))) (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
54.5b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (/.f64 -1/2 a))))
57.2b
(+.f64 (exp.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) 1/3)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
39.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)))) (/.f64 -1/2 a))))
48.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a))))
50.1b
(+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
48.5b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2))) (/.f64 -1/2 a))))
20.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
50.5b
(+.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
51.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (fma.f64 (cbrt.f64 (pow.f64 g 4)) (pow.f64 (cbrt.f64 g) 2) (*.f64 h (neg.f64 h))))))))
49.9b
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
37.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 3))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
47.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))))))
48.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 3) (/.f64 -1/2 a))))
54.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (exp.f64 (*.f64 (log.f64 (/.f64 (neg.f64 g) a)) 1/3)))
61.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (*.f64 (/.f64 1/2 g) (*.f64 h h)) (/.f64 -1/2 a))))
46.0b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
38.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
44.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g g))))
20.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
47.8b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (/.f64 -1/2 g) (*.f64 h h)))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
37.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (pow.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
61.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (/.f64 -1/2 a))))
48.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)))))))
41.5b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)))))
46.7b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (*.f64 (/.f64 -1/2 g) (*.f64 h h)))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
57.2b
(+.f64 (pow.f64 (pow.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)) 1/6) 2) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
43.5b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2)) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
53.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (/.f64 -1/2 a))))
47.3b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
Compiler

Compiled 2792 to 1818 computations (34.9% saved)

localize51.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))
1.0b
(cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a)))
2.4b
(+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g))
18.3b
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g)))
Compiler

Compiled 155 to 71 computations (54.2% saved)

series16.0ms (0.1%)

Counts
3 → 60
Calls

24 calls:

TimeVariablePointExpression
1.0ms
a
@0
(*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))
1.0ms
g
@0
(cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a)))
1.0ms
g
@-inf
(cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a)))
1.0ms
a
@inf
(*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))
1.0ms
g
@0
(+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g))

rewrite104.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
835×associate-/l*
216×associate-+l+
200×add-sqr-sqrt-binary64
194×*-un-lft-identity-binary64
194×pow1-binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01762
139158
2574358
Stop Event
node limit
Counts
3 → 204
Calls
Call 1
Inputs
(+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g))
(cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a)))
(*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 g (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) (+.f64 g (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) (-.f64 g g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) (+.f64 (*.f64 (neg.f64 g) 1) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) g)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) (+.f64 (fma.f64 (neg.f64 g) 1 g) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) (+.f64 (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) (+.f64 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (fma.f64 (neg.f64 g) 1 g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) (neg.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) (*.f64 (neg.f64 g) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 g) (fma.f64 (*.f64 1/2 h) (/.f64 h g) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 g (neg.f64 g)) (*.f64 (/.f64 h g) (*.f64 1/2 h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) (exp.f64 (log1p.f64 g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) (-.f64 g g))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)))) (-.f64 1 (+.f64 g (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)))) (+.f64 1 (-.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g))) (-.f64 1 g))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 g)) (-.f64 1 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 h (/.f64 h g)) 2) (/.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) 1/4)) (-.f64 (/.f64 g (/.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) g))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 h (/.f64 h g)) 3) (/.f64 (+.f64 (pow.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) 2) (*.f64 g (fma.f64 (*.f64 1/2 h) (/.f64 h g) g))) 1/8)) (-.f64 (/.f64 (pow.f64 g 3) (+.f64 (pow.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) 2) (*.f64 g (fma.f64 (*.f64 1/2 h) (/.f64 h g) g)))) g))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 g (/.f64 (+.f64 g (-.f64 g (*.f64 (/.f64 h g) (*.f64 1/2 h)))) g)) (/.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (+.f64 g (-.f64 g (*.f64 (/.f64 h g) (*.f64 1/2 h))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 g (exp.f64 (log1p.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 g (/.f64 (pow.f64 (*.f64 h (/.f64 h g)) 2) (/.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) 1/4))) (/.f64 g (/.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 g (/.f64 (pow.f64 (*.f64 h (/.f64 h g)) 3) (/.f64 (+.f64 (pow.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) 2) (*.f64 g (fma.f64 (*.f64 1/2 h) (/.f64 h g) g))) 1/8))) (/.f64 (pow.f64 g 3) (+.f64 (pow.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) 2) (*.f64 g (fma.f64 (*.f64 1/2 h) (/.f64 h g) g)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) (exp.f64 (log1p.f64 g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) 0) g)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) (pow.f64 (cbrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) 2) (cbrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) (sqrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 g g) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2)) (/.f64 1 (+.f64 g (-.f64 g (*.f64 (/.f64 h g) (*.f64 1/2 h))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3)) (/.f64 1 (fma.f64 g g (*.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 (+.f64 g (-.f64 g (*.f64 (/.f64 h g) (*.f64 1/2 h)))) (+.f64 g (-.f64 g (*.f64 (/.f64 h g) (*.f64 1/2 h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) 2) (/.f64 1 (cbrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) (/.f64 1 (sqrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 g g) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2)) (+.f64 g (-.f64 g (*.f64 (/.f64 h g) (*.f64 1/2 h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 g g) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2)) (/.f64 1 (/.f64 1 (+.f64 g (-.f64 g (*.f64 (/.f64 h g) (*.f64 1/2 h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3)) (fma.f64 g g (*.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3)) (/.f64 1 (/.f64 1 (fma.f64 g g (*.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 g g (*.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) (/.f64 (fma.f64 g g (*.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2))) (cbrt.f64 (-.f64 (*.f64 g g) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2)))) (/.f64 (+.f64 g (-.f64 g (*.f64 (/.f64 h g) (*.f64 1/2 h)))) (cbrt.f64 (-.f64 (*.f64 g g) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3))) (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3)))) (/.f64 (fma.f64 g g (*.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g))) (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)))) (/.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (*.f64 g g) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2))) (/.f64 (+.f64 g (-.f64 g (*.f64 (/.f64 h g) (*.f64 1/2 h)))) (sqrt.f64 (-.f64 (*.f64 g g) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3))) (/.f64 (fma.f64 g g (*.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) (sqrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g))) (/.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) (sqrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) (fma.f64 (*.f64 1/2 h) (/.f64 h g) g)) (*.f64 g g)) (+.f64 g (fma.f64 (*.f64 1/2 h) (/.f64 h g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) 3) (pow.f64 g 3)) (+.f64 (+.f64 (*.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) (fma.f64 (*.f64 1/2 h) (/.f64 h g) g)) (*.f64 g g)) (*.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 g g) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2))) (neg.f64 (+.f64 g (-.f64 g (*.f64 (/.f64 h g) (*.f64 1/2 h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3))) (neg.f64 (fma.f64 g g (*.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (expm1.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 g (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) g)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g)) 2) (cbrt.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g)) g)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 g) 2) (cbrt.f64 g) (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g)) (sqrt.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g)) g)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 g) (sqrt.f64 g) (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) (cbrt.f64 (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)) 1/6) (pow.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) -1/2)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (expm1.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1/2 a) (neg.f64 g)) (*.f64 (/.f64 1/2 a) (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1/2 a) (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g)) (*.f64 (/.f64 1/2 a) (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 g) (/.f64 1/2 a)) (*.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) (/.f64 1/2 a)) (*.f64 (neg.f64 g) (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (/.f64 1 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) (/.f64 1/2 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/4 (*.f64 a a))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) 2) (cbrt.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) 2) (*.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1/2 a)) (*.f64 (sqrt.f64 (/.f64 1/2 a)) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) (sqrt.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) (*.f64 (sqrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 a) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) 2)) (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 a) (sqrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) (sqrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) (cbrt.f64 (/.f64 1/4 (*.f64 a a)))) (cbrt.f64 (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) (sqrt.f64 (/.f64 1/2 a))) (sqrt.f64 (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 a) 2)) (/.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (sqrt.f64 a)) (/.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 a (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (*.f64 a (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (*.f64 a (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))) (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 (*.f64 (*.f64 a 2) (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (/.f64 (neg.f64 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (/.f64 (*.f64 (neg.f64 a) (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (/.f64 (*.f64 (neg.f64 a) (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))) (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 a) (/.f64 1 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) (*.f64 a 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 a (*.f64 1/2 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 a 2) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (*.f64 a 2) (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (*.f64 a 2) (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))) (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) (/.f64 (*.f64 a 2) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) 2) (/.f64 (*.f64 a 2) (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) (/.f64 (*.f64 a 2) (sqrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)) (*.f64 (*.f64 a 2) (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)) (/.f64 (*.f64 a 2) (/.f64 1 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)) (/.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)) (/.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) a) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)) (/.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (neg.f64 a)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)) (/.f64 (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (*.f64 a 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3)) (*.f64 (*.f64 a 2) (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3)) (/.f64 (*.f64 a 2) (/.f64 1 (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3)) (/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))) (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3)) (/.f64 (*.f64 (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))) a) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3)) (/.f64 (*.f64 (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))) (neg.f64 a)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3)) (/.f64 (*.f64 (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))) (*.f64 a 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))) (/.f64 (*.f64 (*.f64 a 2) (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3))) (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3)))) (/.f64 (*.f64 (*.f64 a 2) (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))) (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g))) (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)))) (/.f64 (*.f64 (*.f64 a 2) (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) (cbrt.f64 (*.f64 1/2 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))) (/.f64 a (cbrt.f64 (*.f64 1/2 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3))) (/.f64 (*.f64 (*.f64 a 2) (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))) (sqrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g))) (/.f64 (*.f64 (*.f64 a 2) (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)) (sqrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) (/.f64 a (sqrt.f64 (*.f64 1/2 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) 2)) (/.f64 a (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) (/.f64 a (sqrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g))) (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3))) (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) -1/2) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g))) (*.f64 a (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3))) (*.f64 a (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)) (/.f64 1/2 a)) (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3)) (/.f64 1/2 a)) (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 (/.f64 (pow.f64 (cbrt.f64 a) 2) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 (/.f64 (sqrt.f64 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)) (-.f64 (*.f64 g g) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2))) (/.f64 (*.f64 a 2) (+.f64 g (-.f64 g (*.f64 (/.f64 h g) (*.f64 1/2 h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)) (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3))) (/.f64 (*.f64 a 2) (fma.f64 g g (*.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g)) (sqrt.f64 g)) (/.f64 (*.f64 a 2) (-.f64 (sqrt.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g)) (sqrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g))) (*.f64 (neg.f64 a) (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3))) (*.f64 (neg.f64 a) (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)) 1/2) (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3)) 1/2) (*.f64 (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)) -1/2) (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3)) -1/2) (*.f64 (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g g)) 1) (*.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g) (*.f64 a 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 3) (pow.f64 g 3)) 1) (*.f64 (+.f64 (pow.f64 (-.f64 (*.f64 (/.f64 h g) (*.f64 1/2 h)) g) 2) (*.f64 g (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))) (*.f64 a 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/2 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 1/2 a)) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (expm1.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 1/2 a) 3) (pow.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) 3) (pow.f64 (/.f64 1/2 a) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))))))

simplify65.0ms (0.6%)

Algorithm
egg-herbie
Rules
826×distribute-lft-neg-in
772×distribute-rgt-neg-in
639×distribute-neg-frac
541×associate-/l*
473×associate-*l*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
021957
155897
2156837
3362777
41213777
54769777
Stop Event
node limit
Counts
264 → 213
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 -1 (/.f64 g a))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 -1 (/.f64 g a))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 -1 (/.f64 g a))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
Outputs
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(/.f64 1/2 (/.f64 g (*.f64 h h)))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)) a))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g)))
(*.f64 1/4 (/.f64 (*.f64 h h) (*.f64 g a)))
(*.f64 1/4 (/.f64 (/.f64 (*.f64 h h) a) g))
(*.f64 (/.f64 h (/.f64 g h)) (/.f64 1/4 a))
(*.f64 (*.f64 h h) (/.f64 1/4 (*.f64 g a)))
(*.f64 h (*.f64 1/4 (/.f64 (/.f64 h a) g)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g)))
(*.f64 1/4 (/.f64 (*.f64 h h) (*.f64 g a)))
(*.f64 1/4 (/.f64 (/.f64 (*.f64 h h) a) g))
(*.f64 (/.f64 h (/.f64 g h)) (/.f64 1/4 a))
(*.f64 (*.f64 h h) (/.f64 1/4 (*.f64 g a)))
(*.f64 h (*.f64 1/4 (/.f64 (/.f64 h a) g)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g)))
(*.f64 1/4 (/.f64 (*.f64 h h) (*.f64 g a)))
(*.f64 1/4 (/.f64 (/.f64 (*.f64 h h) a) g))
(*.f64 (/.f64 h (/.f64 g h)) (/.f64 1/4 a))
(*.f64 (*.f64 h h) (/.f64 1/4 (*.f64 g a)))
(*.f64 h (*.f64 1/4 (/.f64 (/.f64 h a) g)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (*.f64 a g))) (*.f64 -1 (/.f64 g a)))
(*.f64 1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) (*.f64 -2 g)) a))
(*.f64 1/2 (/.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) a))
(/.f64 (+.f64 (neg.f64 g) (*.f64 (/.f64 h (/.f64 g h)) 1/4)) a)
(/.f64 (-.f64 (*.f64 (*.f64 h h) (/.f64 1/4 g)) g) a)

localize26.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (+.f64 g g) (/.f64 -1/2 a))
18.3b
(cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a)))
Compiler

Compiled 66 to 34 computations (48.5% saved)

series7.0ms (0.1%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
1.0ms
g
@0
(cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a)))
1.0ms
g
@inf
(*.f64 (+.f64 g g) (/.f64 -1/2 a))
1.0ms
a
@inf
(*.f64 (+.f64 g g) (/.f64 -1/2 a))
1.0ms
g
@inf
(cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a)))
1.0ms
g
@0
(*.f64 (+.f64 g g) (/.f64 -1/2 a))

rewrite65.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
825×pow1-binary64
776×add-exp-log-binary64
774×expm1-log1p-u-binary64
774×log1p-expm1-u-binary64
760×add-log-exp-binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0822
117516
2241816
Stop Event
node limit
Counts
2 → 86
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a)))
(*.f64 (+.f64 g g) (/.f64 -1/2 a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (+.f64 g g) (cbrt.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 g g) (cbrt.f64 (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 g g) (cbrt.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 g g) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 g g) (cbrt.f64 a))) (pow.f64 (cbrt.f64 (/.f64 (+.f64 g g) (cbrt.f64 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 g g) (cbrt.f64 a))) 2) (cbrt.f64 (/.f64 (+.f64 g g) (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/2 a)) (+.f64 g g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (+.f64 g g) a) 1/6) (pow.f64 (/.f64 (+.f64 g g) a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (/.f64 (+.f64 g g) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (/.f64 (+.f64 g g) (cbrt.f64 a)) 2) 1/3) (cbrt.f64 (/.f64 (+.f64 g g) (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (+.f64 g g) (sqrt.f64 a)) 1/3) (pow.f64 (/.f64 (+.f64 g g) (sqrt.f64 a)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 g g) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 g g) a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 g g) (cbrt.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 g g) (cbrt.f64 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 g g) a) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (+.f64 g g) (cbrt.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (+.f64 g g) (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (+.f64 g g) a))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 g g) (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (+.f64 g g) (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 g g) (cbrt.f64 a))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g (/.f64 -1/2 a)) (*.f64 g (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 -1/2 a) g) (*.f64 (/.f64 -1/2 a) g))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (+.f64 g g) a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 g g) (/.f64 -1/2 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 g g) (/.f64 (+.f64 g g) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 g g) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 (/.f64 1 a) (+.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/2 a) (+.f64 g g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 g g) a) (+.f64 g g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 g g) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 g g) (cbrt.f64 a)) (pow.f64 (/.f64 (+.f64 g g) (cbrt.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 g g) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 -1/2 a)) 2) (/.f64 (+.f64 g g) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (+.f64 g g) (cbrt.f64 a)) 2) (/.f64 (+.f64 g g) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (+.f64 g g) (cbrt.f64 a)) 2) (cbrt.f64 (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -1/2 a)) (/.f64 (+.f64 g g) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 g g) (sqrt.f64 a)) (sqrt.f64 (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 g g) (sqrt.f64 a)) (/.f64 (+.f64 g g) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 g g) (sqrt.f64 a)) (/.f64 -1/2 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 g (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1/2 a) 2) g)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (+.f64 g g) (cbrt.f64 a)) 2) 1) (/.f64 (+.f64 g g) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (+.f64 g g) (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 (/.f64 (+.f64 g g) (cbrt.f64 a))) 2)) (cbrt.f64 (/.f64 (+.f64 g g) (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (+.f64 g g) (cbrt.f64 a)) 2) (+.f64 g g)) (cbrt.f64 (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (+.f64 g g) (cbrt.f64 a)) 2) (pow.f64 (/.f64 (+.f64 g g) a) 1/6)) (pow.f64 (/.f64 (+.f64 g g) a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 g g) 1) (/.f64 -1/2 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 g g) (pow.f64 (cbrt.f64 a) 2)) (/.f64 -1/2 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 g g) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 g g) (*.f64 a -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 a (+.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 g g) (sqrt.f64 a)) (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 0 (*.f64 0 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 0 (*.f64 0 (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 0 (*.f64 0 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 0 (*.f64 a 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 0 (*.f64 (*.f64 a -2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 0 (*.f64 (neg.f64 a) 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 g 3)) (*.f64 (*.f64 a -2) (fma.f64 g g 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 g g) 1/2) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1/2 a) 0) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1/2 a) (*.f64 2 (pow.f64 g 3))) (fma.f64 g g 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (pow.f64 g 3)) -1/2) (*.f64 (fma.f64 g g 0) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 0 (/.f64 -1/2 a)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (pow.f64 g 3)) (/.f64 -1/2 a)) (fma.f64 g g 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (+.f64 g g)) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 g g) 1) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 g g) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (pow.f64 g 3)) 1) (*.f64 (fma.f64 g g 0) (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (pow.f64 g 3)) 1/2) (*.f64 (fma.f64 g g 0) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2 (*.f64 2 (pow.f64 g 3))) (*.f64 a (fma.f64 g g 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 2 (pow.f64 g 3))) (*.f64 (neg.f64 a) (fma.f64 g g 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 g g)) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 g g) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 g g) (cbrt.f64 a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 g g) a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 g g) (sqrt.f64 a)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (+.f64 g g) (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (+.f64 g g) a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 g g) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (+.f64 g g) (pow.f64 (/.f64 -1/2 a) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 -1/2 a) 3) (+.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 g g) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (+.f64 g g) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 g g) a)))))))

simplify15.0ms (0.1%)

Algorithm
egg-herbie
Rules
associate-+l-
fma-def
+-commutative
sub-neg
associate--l-
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06144
110144
217144
323144
429144
539144
647144
755144
863144
993144
Stop Event
saturated
Counts
110 → 88
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
(*.f64 -1 (/.f64 g a))
Outputs
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)
(*.f64 -1 (/.f64 g a))
(neg.f64 (/.f64 g a))
(/.f64 (neg.f64 g) a)

localize36.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.0b
(-.f64 (*.f64 g g) (*.f64 h h))
8.8b
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))
9.2b
(log.f64 (/.f64 (neg.f64 g) a))
31.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 121 to 35 computations (71.1% saved)

series98.0ms (0.8%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
37.0ms
g
@0
(log.f64 (/.f64 (neg.f64 g) a))
19.0ms
a
@0
(log.f64 (/.f64 (neg.f64 g) a))
16.0ms
a
@-inf
(log.f64 (/.f64 (neg.f64 g) a))
13.0ms
g
@-inf
(log.f64 (/.f64 (neg.f64 g) a))
7.0ms
g
@inf
(log.f64 (/.f64 (neg.f64 g) a))

rewrite47.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
552×pow1-binary64
510×add-exp-log-binary64
509×expm1-log1p-u-binary64
509×log1p-expm1-u-binary64
497×add-log-exp-binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
068
11266
217896
Stop Event
node limit
Counts
1 → 26
Calls
Call 1
Inputs
(log.f64 (/.f64 (neg.f64 g) a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 g) (neg.f64 (log.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) 2)) (log.f64 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 g a))) (log.f64 (sqrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 g) (log.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 g) (log.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (/.f64 g a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (/.f64 g a))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 g a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 g a))) 2) (cbrt.f64 (log.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (/.f64 g a))) (sqrt.f64 (log.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (log.f64 g) (log.f64 g)) (*.f64 (log.f64 a) (log.f64 a))) (+.f64 (log.f64 g) (log.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (+.f64 (*.f64 (log.f64 g) (log.f64 g)) (+.f64 (*.f64 (log.f64 a) (log.f64 a)) (*.f64 (log.f64 g) (log.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 g a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 g a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 g a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (/.f64 g a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (/.f64 g a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 g a))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (/.f64 g a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (/.f64 g a) 1))))))

simplify44.0ms (0.4%)

Algorithm
egg-herbie
Rules
250×fma-def
97×associate--r+
93×associate-+l-
87×+-commutative
75×associate-+r+
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
025276
150252
296252
3206252
4598252
51098252
61233252
71301252
81312252
91313252
Stop Event
saturated
Counts
50 → 33
Calls
Call 1
Inputs
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 -1 a)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 -1 a)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 -1 a)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 -1 a)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 1 a)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 1 a)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 1 a)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 (*.f64 -1 g)) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 (*.f64 -1 g)) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 (*.f64 -1 g)) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 (*.f64 -1 g)) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
Outputs
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 1 a)))
(fma.f64 -1 (log.f64 (/.f64 -1 g)) (neg.f64 (log.f64 a)))
(-.f64 (neg.f64 (log.f64 a)) (log.f64 (/.f64 -1 g)))
(-.f64 (neg.f64 (log.f64 (/.f64 -1 g))) (log.f64 a))
(-.f64 (-.f64 (log.f64 g) (log.f64 -1)) (log.f64 a))
(-.f64 (log.f64 g) (+.f64 (log.f64 a) (log.f64 -1)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 1 a)))
(fma.f64 -1 (log.f64 (/.f64 -1 g)) (neg.f64 (log.f64 a)))
(-.f64 (neg.f64 (log.f64 a)) (log.f64 (/.f64 -1 g)))
(-.f64 (neg.f64 (log.f64 (/.f64 -1 g))) (log.f64 a))
(-.f64 (-.f64 (log.f64 g) (log.f64 -1)) (log.f64 a))
(-.f64 (log.f64 g) (+.f64 (log.f64 a) (log.f64 -1)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 1 a)))
(fma.f64 -1 (log.f64 (/.f64 -1 g)) (neg.f64 (log.f64 a)))
(-.f64 (neg.f64 (log.f64 a)) (log.f64 (/.f64 -1 g)))
(-.f64 (neg.f64 (log.f64 (/.f64 -1 g))) (log.f64 a))
(-.f64 (-.f64 (log.f64 g) (log.f64 -1)) (log.f64 a))
(-.f64 (log.f64 g) (+.f64 (log.f64 a) (log.f64 -1)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 1 a)))
(fma.f64 -1 (log.f64 (/.f64 -1 g)) (neg.f64 (log.f64 a)))
(-.f64 (neg.f64 (log.f64 a)) (log.f64 (/.f64 -1 g)))
(-.f64 (neg.f64 (log.f64 (/.f64 -1 g))) (log.f64 a))
(-.f64 (-.f64 (log.f64 g) (log.f64 -1)) (log.f64 a))
(-.f64 (log.f64 g) (+.f64 (log.f64 a) (log.f64 -1)))
(+.f64 (log.f64 (*.f64 -1 g)) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (log.f64 (*.f64 -1 g)) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (log.f64 (*.f64 -1 g)) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (log.f64 (*.f64 -1 g)) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(-.f64 (log.f64 (neg.f64 g)) (log.f64 a))

localize63.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.7b
(/.f64 g (*.f64 h h))
9.2b
(log.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))
10.5b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
31.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 214 to 78 computations (63.6% saved)

series122.0ms (1.1%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
77.0ms
a
@-inf
(log.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))
30.0ms
a
@0
(log.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))
7.0ms
a
@inf
(log.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))
1.0ms
h
@inf
(log.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))
1.0ms
g
@0
(log.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))

rewrite76.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
838×associate-/r/
764×associate-/l/
160×add-sqr-sqrt-binary64
155×*-un-lft-identity-binary64
155×pow1-binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01331
130429
2491029
Stop Event
node limit
Counts
2 → 119
Calls
Call 1
Inputs
(log.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))
(/.f64 g (*.f64 h h))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)) (log.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 1/2) (log.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g))) (+.f64 (log.f64 (/.f64 1 a)) (log.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))) 2)) (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)) 2)) (+.f64 (log.f64 (cbrt.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))) (log.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))) (log.f64 (sqrt.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))) (+.f64 (log.f64 (sqrt.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))) (log.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))) (log.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 1/2) 1) (*.f64 (log.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)) 1) (*.f64 (log.f64 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (log.f64 1/2)) (log.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 1/2) (log.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)))) (log.f64 (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 1/2) 0) (log.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 1/2) (log.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)) 2))) (log.f64 (cbrt.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 1/2) (log.f64 (sqrt.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))) (log.f64 (sqrt.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (log.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))) 2))) (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (log.f64 (sqrt.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))))) (log.f64 (sqrt.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (*.f64 (log.f64 1/2) 1)) (*.f64 (log.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g))) (-.f64 (log.f64 a) (log.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (log.f64 (/.f64 a (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)))) (log.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 1/2 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)))) (log.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (-.f64 (+.f64 g g) (*.f64 1/2 (*.f64 (/.f64 h g) h)))) (-.f64 (log.f64 (neg.f64 a)) (log.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log.f64 1/2) (log.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)))) (log.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log.f64 1/2) 0) (log.f64 (/.f64 a (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log.f64 1/2) (log.f64 (-.f64 (+.f64 g g) (*.f64 1/2 (*.f64 (/.f64 h g) h))))) (log.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (log.f64 (*.f64 1/2 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g))))) (log.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (exp.f64 (log1p.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (log.f64 (*.f64 1/2 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)))) 0) (log.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (log.f64 (*.f64 1/2 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)))) (log.f64 (pow.f64 (cbrt.f64 a) 2))) (log.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (log.f64 (*.f64 1/2 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)))) (log.f64 (sqrt.f64 a))) (log.f64 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))) (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))) 2) (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))) (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (log.f64 1/2) (log.f64 1/2)) (*.f64 (log.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)) (log.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))) (-.f64 (log.f64 1/2) (log.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 1/2) 3) (pow.f64 (log.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)) 3)) (-.f64 (+.f64 (*.f64 (log.f64 1/2) (log.f64 1/2)) (*.f64 (log.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)) (log.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))) (*.f64 (log.f64 1/2) (log.f64 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (-.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (*.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (+.f64 g g)) a)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 g (pow.f64 h -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 g (pow.f64 h -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 g (pow.f64 h -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 g (pow.f64 h -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 g (pow.f64 h -2))) (pow.f64 (cbrt.f64 (*.f64 g (pow.f64 h -2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 g (pow.f64 h -2))) 2) (cbrt.f64 (*.f64 g (pow.f64 h -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 g) 2) (*.f64 (cbrt.f64 g) (pow.f64 h -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 g) h) (/.f64 (sqrt.f64 g) h))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 g) (*.f64 (sqrt.f64 g) (pow.f64 h -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 g h) (/.f64 1 h))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 h -2) g)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 g) (/.f64 1 (neg.f64 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 h) (/.f64 g h))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 h 4))) (/.f64 g (pow.f64 (cbrt.f64 h) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 g (neg.f64 (pow.f64 h -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (*.f64 h h))) (neg.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 1) (/.f64 (cbrt.f64 g) (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 g) 1) (/.f64 (sqrt.f64 g) (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) h) (/.f64 (cbrt.f64 g) h))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 g) (*.f64 h h)) (sqrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (cbrt.f64 (pow.f64 h 4))) (cbrt.f64 (*.f64 g (pow.f64 h -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 g) (cbrt.f64 (pow.f64 h 4))) (/.f64 (sqrt.f64 g) (pow.f64 (cbrt.f64 h) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (*.f64 h h) (pow.f64 (cbrt.f64 g) 2))) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (*.f64 h h) (sqrt.f64 g))) (sqrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 g)) (pow.f64 h -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 g (pow.f64 h -2))) 2))) (cbrt.f64 (*.f64 g (pow.f64 h -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 1 (sqrt.f64 g)) h)) (/.f64 (sqrt.f64 g) h))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (*.f64 h h)) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 g (*.f64 h h))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 g (pow.f64 h -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 h g) h))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 h (/.f64 h g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 g) 2) (/.f64 (*.f64 h h) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 g) 2) (*.f64 1 (/.f64 (*.f64 h h) (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 g) 2) (*.f64 h (/.f64 h (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 g) (/.f64 (*.f64 h h) (sqrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 g) (*.f64 1 (/.f64 (*.f64 h h) (sqrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 g) (*.f64 h (/.f64 h (sqrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 g h) h)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 g) (neg.f64 (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 g 1) (*.f64 h h))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 g (sqrt.f64 h)) (*.f64 h (sqrt.f64 h)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 g (cbrt.f64 (pow.f64 h 4))) (pow.f64 (cbrt.f64 h) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 g h) (pow.f64 (cbrt.f64 h) 2)) (cbrt.f64 h))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 g (*.f64 (sqrt.f64 h) h)) (sqrt.f64 h))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 g (pow.f64 (cbrt.f64 h) 2)) (*.f64 h (cbrt.f64 h)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (*.f64 (/.f64 h g) h)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 1 (neg.f64 (*.f64 (/.f64 h g) h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 g h)) (neg.f64 h))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 g h)) (*.f64 1 (neg.f64 h)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 g)) (neg.f64 (neg.f64 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 g)) (*.f64 1 (neg.f64 (neg.f64 (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 g (pow.f64 h -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 g (pow.f64 h -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 g (pow.f64 h -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 g) h) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 h g) h) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 g (neg.f64 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 g g) (pow.f64 h 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 g) (pow.f64 h -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (expm1.f64 (*.f64 g (pow.f64 h -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 g (pow.f64 h -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 g 3) (pow.f64 (*.f64 h h) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 g (pow.f64 h -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 g (pow.f64 h -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 g (pow.f64 h -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 g (pow.f64 h -2))))))))

simplify60.0ms (0.5%)

Algorithm
egg-herbie
Rules
812×associate-/r*
617×associate-*l*
508×associate-*r/
413×fma-def
371×associate--r-
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01261382
13481302
211001246
340821246
Stop Event
node limit
Counts
179 → 165
Calls
Call 1
Inputs
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a))) (*.f64 -1 (log.f64 g)))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a))) (+.f64 (*.f64 -1 (log.f64 g)) (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2)))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -1 (log.f64 g)) (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2))))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -1 (log.f64 g)) (+.f64 (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (*.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)))))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 -1 a)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (/.f64 -1 a))))
(+.f64 (*.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (/.f64 -1 a)))))
(+.f64 (*.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -1/192 (/.f64 (pow.f64 h 6) (pow.f64 g 6))) (log.f64 (/.f64 -1 a))))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 1 a)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (/.f64 1 a))))
(+.f64 (*.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (/.f64 1 a)))))
(+.f64 (*.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -1/192 (/.f64 (pow.f64 h 6) (pow.f64 g 6))) (log.f64 (/.f64 1 a))))))
(log.f64 (*.f64 -1 (/.f64 g a)))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (*.f64 -1 (/.f64 g a))))
(+.f64 (*.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (*.f64 -1 (/.f64 g a)))))
(+.f64 (*.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (log.f64 (*.f64 -1 (/.f64 g a))) (*.f64 -1/192 (/.f64 (pow.f64 h 6) (pow.f64 g 6))))))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (*.f64 -2 (log.f64 (/.f64 1 h))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 h))) (+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2)))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 h))) (+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2))))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 h))) (+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (*.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)))))))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (*.f64 -2 (log.f64 (/.f64 -1 h))))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (*.f64 -2 (log.f64 (/.f64 -1 h)))))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (*.f64 -2 (log.f64 (/.f64 -1 h))))))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 h))) (*.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)))))))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 -1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 -1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 -1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 -1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
(/.f64 g (pow.f64 h 2))
Outputs
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a))) (*.f64 -1 (log.f64 g)))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (*.f64 h h) a))) (neg.f64 (log.f64 g)))
(-.f64 (log.f64 (*.f64 1/4 (/.f64 h (/.f64 a h)))) (log.f64 g))
(-.f64 (log.f64 (*.f64 1/4 (*.f64 h h))) (log.f64 (*.f64 a g)))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a))) (+.f64 (*.f64 -1 (log.f64 g)) (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2)))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (*.f64 h h) a))) (fma.f64 -1 (log.f64 g) (*.f64 -4 (/.f64 (*.f64 g g) (*.f64 h h)))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 h (/.f64 a h)))) (-.f64 (*.f64 -4 (*.f64 (/.f64 g h) (/.f64 g h))) (log.f64 g)))
(-.f64 (fma.f64 -4 (/.f64 (/.f64 (*.f64 g g) h) h) (log.f64 (*.f64 1/4 (/.f64 h (/.f64 a h))))) (log.f64 g))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (fma.f64 (/.f64 -4 h) (*.f64 g (/.f64 g h)) (*.f64 2 (log.f64 h))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -1 (log.f64 g)) (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2))))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (*.f64 h h) a))) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -1 (log.f64 g) (*.f64 -4 (/.f64 (*.f64 g g) (*.f64 h h))))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 h (/.f64 a h)))) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (*.f64 -4 (*.f64 (/.f64 g h) (/.f64 g h))) (log.f64 g))))
(fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (fma.f64 -4 (/.f64 (/.f64 (*.f64 g g) h) h) (log.f64 (*.f64 1/4 (/.f64 h (/.f64 a h))))) (log.f64 g)))
(fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (fma.f64 (/.f64 -4 h) (*.f64 g (/.f64 g h)) (*.f64 2 (log.f64 h)))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) a))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -1 (log.f64 g)) (+.f64 (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (*.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)))))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (*.f64 h h) a))) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -1 (log.f64 g) (fma.f64 -4 (/.f64 (*.f64 g g) (*.f64 h h)) (*.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)))))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 h (/.f64 a h)))) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (fma.f64 -4 (*.f64 (/.f64 g h) (/.f64 g h)) (*.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)))) (log.f64 g))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 h (/.f64 a h)))) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (fma.f64 -4 (/.f64 (/.f64 (*.f64 g g) h) h) (*.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)))) (log.f64 g))))
(fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (+.f64 (fma.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)) (*.f64 (*.f64 g g) (/.f64 -4 (*.f64 h h)))) (-.f64 (log.f64 (*.f64 1/4 (*.f64 h h))) (log.f64 (*.f64 a g)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 -1 a)))
(fma.f64 -1 (neg.f64 (log.f64 g)) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(log.f64 (/.f64 (neg.f64 g) a))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (/.f64 -1 a))))
(fma.f64 -1 (neg.f64 (log.f64 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (log.f64 (/.f64 -1 a))))
(+.f64 (log.f64 g) (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (log.f64 (/.f64 -1 a))))
(fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (log.f64 (/.f64 (neg.f64 g) a)))
(+.f64 (*.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (/.f64 -1 a)))))
(fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (fma.f64 -1 (neg.f64 (log.f64 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (log.f64 (/.f64 -1 a)))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (log.f64 (/.f64 -1 a))) (fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (log.f64 g)))
(fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (log.f64 (/.f64 (neg.f64 g) a))))
(+.f64 (*.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -1/192 (/.f64 (pow.f64 h 6) (pow.f64 g 6))) (log.f64 (/.f64 -1 a))))))
(fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (fma.f64 -1 (neg.f64 (log.f64 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (fma.f64 -1/192 (/.f64 (pow.f64 h 6) (pow.f64 g 6)) (log.f64 (/.f64 -1 a))))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (fma.f64 -1/192 (/.f64 (pow.f64 h 6) (pow.f64 g 6)) (log.f64 (/.f64 -1 a)))) (fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (log.f64 g)))
(fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (fma.f64 -1/192 (/.f64 (pow.f64 h 6) (pow.f64 g 6)) (log.f64 (/.f64 (neg.f64 g) a)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 1 a)))
(fma.f64 -1 (log.f64 (/.f64 -1 g)) (neg.f64 (log.f64 a)))
(-.f64 (neg.f64 (log.f64 a)) (log.f64 (/.f64 -1 g)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (/.f64 1 a))))
(fma.f64 -1 (log.f64 (/.f64 -1 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (neg.f64 (log.f64 a))))
(-.f64 (-.f64 (*.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g))) (log.f64 a)) (log.f64 (/.f64 -1 g)))
(-.f64 (/.f64 -1/4 (/.f64 (/.f64 (*.f64 g g) h) h)) (+.f64 (log.f64 (/.f64 -1 g)) (log.f64 a)))
(+.f64 (-.f64 (/.f64 (/.f64 -1/4 (/.f64 g (*.f64 h h))) g) (log.f64 -1)) (log.f64 (/.f64 g a)))
(+.f64 (*.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (/.f64 1 a)))))
(fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (fma.f64 -1 (log.f64 (/.f64 -1 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (neg.f64 (log.f64 a)))))
(fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (-.f64 (-.f64 (*.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g))) (log.f64 a)) (log.f64 (/.f64 -1 g))))
(-.f64 (fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (-.f64 (/.f64 -1/4 (/.f64 (/.f64 (*.f64 g g) h) h)) (log.f64 (/.f64 -1 g)))) (log.f64 a))
(-.f64 (fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (/.f64 (/.f64 -1/4 (/.f64 g (*.f64 h h))) g)) (+.f64 (log.f64 (/.f64 -1 g)) (log.f64 a)))
(+.f64 (*.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -1/192 (/.f64 (pow.f64 h 6) (pow.f64 g 6))) (log.f64 (/.f64 1 a))))))
(fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (fma.f64 -1 (log.f64 (/.f64 -1 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (fma.f64 -1/192 (/.f64 (pow.f64 h 6) (pow.f64 g 6)) (neg.f64 (log.f64 a))))))
(fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (-.f64 (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (-.f64 (*.f64 -1/192 (/.f64 (pow.f64 h 6) (pow.f64 g 6))) (log.f64 a))) (log.f64 (/.f64 -1 g))))
(-.f64 (fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (-.f64 (*.f64 (/.f64 -1/192 (pow.f64 g 6)) (pow.f64 h 6)) (log.f64 a)))) (log.f64 (/.f64 -1 g)))
(-.f64 (fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (-.f64 (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (*.f64 (pow.f64 h 6) (/.f64 -1/192 (pow.f64 g 6)))) (log.f64 a))) (log.f64 (/.f64 -1 g)))
(log.f64 (*.f64 -1 (/.f64 g a)))
(fma.f64 -1 (neg.f64 (log.f64 g)) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (log.f64 (/.f64 -1 a)))
(log.f64 (/.f64 (neg.f64 g) a))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (*.f64 -1 (/.f64 g a))))
(fma.f64 -1 (neg.f64 (log.f64 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (log.f64 (/.f64 -1 a))))
(+.f64 (log.f64 g) (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (log.f64 (/.f64 -1 a))))
(fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (log.f64 (/.f64 (neg.f64 g) a)))
(+.f64 (*.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (*.f64 -1 (/.f64 g a)))))
(fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (fma.f64 -1 (neg.f64 (log.f64 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (log.f64 (/.f64 -1 a)))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (log.f64 (/.f64 -1 a))) (fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (log.f64 g)))
(fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (log.f64 (/.f64 (neg.f64 g) a))))
(+.f64 (*.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (log.f64 (*.f64 -1 (/.f64 g a))) (*.f64 -1/192 (/.f64 (pow.f64 h 6) (pow.f64 g 6))))))
(fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (fma.f64 -1 (neg.f64 (log.f64 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (fma.f64 -1/192 (/.f64 (pow.f64 h 6) (pow.f64 g 6)) (log.f64 (/.f64 -1 a))))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (fma.f64 -1/192 (/.f64 (pow.f64 h 6) (pow.f64 g 6)) (log.f64 (/.f64 -1 a)))) (fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (log.f64 g)))
(fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (fma.f64 -1/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (fma.f64 -1/192 (/.f64 (pow.f64 h 6) (pow.f64 g 6)) (log.f64 (/.f64 (neg.f64 g) a)))))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (*.f64 -2 (log.f64 (/.f64 1 h))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (*.f64 h h) a))) (neg.f64 (log.f64 g)))
(-.f64 (log.f64 (*.f64 1/4 (/.f64 h (/.f64 a h)))) (log.f64 g))
(-.f64 (log.f64 (*.f64 1/4 (*.f64 h h))) (log.f64 (*.f64 a g)))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 h))) (+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2)))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (*.f64 h h) a))) (fma.f64 -1 (log.f64 g) (*.f64 -4 (/.f64 (*.f64 g g) (*.f64 h h)))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 h (/.f64 a h)))) (-.f64 (*.f64 -4 (*.f64 (/.f64 g h) (/.f64 g h))) (log.f64 g)))
(-.f64 (fma.f64 -4 (/.f64 (/.f64 (*.f64 g g) h) h) (log.f64 (*.f64 1/4 (/.f64 h (/.f64 a h))))) (log.f64 g))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (fma.f64 (/.f64 -4 h) (*.f64 g (/.f64 g h)) (*.f64 2 (log.f64 h))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 h))) (+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2))))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (*.f64 h h) a))) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -1 (log.f64 g) (*.f64 -4 (/.f64 (*.f64 g g) (*.f64 h h))))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 h (/.f64 a h)))) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (*.f64 -4 (*.f64 (/.f64 g h) (/.f64 g h))) (log.f64 g))))
(fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (fma.f64 -4 (/.f64 (/.f64 (*.f64 g g) h) h) (log.f64 (*.f64 1/4 (/.f64 h (/.f64 a h))))) (log.f64 g)))
(fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (fma.f64 (/.f64 -4 h) (*.f64 g (/.f64 g h)) (*.f64 2 (log.f64 h)))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 h))) (+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (*.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)))))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 (*.f64 h h) a))) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -1 (log.f64 g) (fma.f64 -4 (/.f64 (*.f64 g g) (*.f64 h h)) (*.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)))))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 h (/.f64 a h)))) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (fma.f64 -4 (*.f64 (/.f64 g h) (/.f64 g h)) (*.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)))) (log.f64 g))))
(+.f64 (log.f64 (*.f64 1/4 (/.f64 h (/.f64 a h)))) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (fma.f64 -4 (/.f64 (/.f64 (*.f64 g g) h) h) (*.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)))) (log.f64 g))))
(fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (+.f64 (fma.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)) (*.f64 (*.f64 g g) (/.f64 -4 (*.f64 h h)))) (-.f64 (log.f64 (*.f64 1/4 (*.f64 h h))) (log.f64 (*.f64 a g)))))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (*.f64 -2 (log.f64 (/.f64 -1 h))))
(fma.f64 -2 (log.f64 (/.f64 -1 h)) (log.f64 (/.f64 (/.f64 1/4 a) g)))
(fma.f64 -2 (log.f64 (/.f64 -1 h)) (log.f64 (/.f64 1/4 (*.f64 a g))))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (*.f64 -2 (log.f64 (/.f64 -1 h)))))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (fma.f64 -4 (/.f64 (*.f64 g g) (*.f64 h h)) (*.f64 -2 (log.f64 (/.f64 -1 h)))))
(+.f64 (*.f64 -4 (*.f64 (/.f64 g h) (/.f64 g h))) (fma.f64 -2 (log.f64 (/.f64 -1 h)) (log.f64 (/.f64 (/.f64 1/4 a) g))))
(fma.f64 -4 (/.f64 (/.f64 (*.f64 g g) h) h) (fma.f64 -2 (log.f64 (/.f64 -1 h)) (log.f64 (/.f64 1/4 (*.f64 a g)))))
(fma.f64 -4 (*.f64 g (/.f64 g (*.f64 h h))) (fma.f64 -2 (log.f64 (/.f64 -1 h)) (log.f64 (/.f64 1/4 (*.f64 a g)))))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (*.f64 -2 (log.f64 (/.f64 -1 h))))))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -4 (/.f64 (*.f64 g g) (*.f64 h h)) (*.f64 -2 (log.f64 (/.f64 -1 h))))))
(+.f64 (log.f64 (/.f64 (/.f64 1/4 a) g)) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -4 (*.f64 (/.f64 g h) (/.f64 g h)) (*.f64 -2 (log.f64 (/.f64 -1 h))))))
(fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -4 (/.f64 (/.f64 (*.f64 g g) h) h) (fma.f64 -2 (log.f64 (/.f64 -1 h)) (log.f64 (/.f64 1/4 (*.f64 a g))))))
(fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -4 (*.f64 g (/.f64 g (*.f64 h h))) (fma.f64 -2 (log.f64 (/.f64 -1 h)) (log.f64 (/.f64 1/4 (*.f64 a g))))))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 h))) (*.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)))))))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -4 (/.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 -2 (log.f64 (/.f64 -1 h)) (*.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)))))))
(+.f64 (log.f64 (/.f64 (/.f64 1/4 a) g)) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -4 (*.f64 (/.f64 g h) (/.f64 g h)) (fma.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)) (*.f64 -2 (log.f64 (/.f64 -1 h)))))))
(+.f64 (log.f64 (/.f64 1/4 (*.f64 a g))) (fma.f64 -4 (/.f64 (/.f64 (*.f64 g g) h) h) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -2 (log.f64 (/.f64 -1 h)) (*.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)))))))
(+.f64 (fma.f64 -4 (*.f64 g (/.f64 g (*.f64 h h))) (fma.f64 -8 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (*.f64 -64/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6))))) (fma.f64 -2 (log.f64 (/.f64 -1 h)) (log.f64 (/.f64 1/4 (*.f64 a g)))))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (*.f64 -1 (log.f64 a)))
(+.f64 (neg.f64 (log.f64 a)) (log.f64 (*.f64 1/2 (+.f64 (/.f64 (*.f64 1/2 (*.f64 h h)) g) (*.f64 -2 g)))))
(-.f64 (log.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (*.f64 1/4 (*.f64 (/.f64 h g) h)) (neg.f64 g))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (/.f64 1/4 (/.f64 g (*.f64 h h))) (neg.f64 g))) (log.f64 a))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (*.f64 -1 (log.f64 a)))
(+.f64 (neg.f64 (log.f64 a)) (log.f64 (*.f64 1/2 (+.f64 (/.f64 (*.f64 1/2 (*.f64 h h)) g) (*.f64 -2 g)))))
(-.f64 (log.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (*.f64 1/4 (*.f64 (/.f64 h g) h)) (neg.f64 g))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (/.f64 1/4 (/.f64 g (*.f64 h h))) (neg.f64 g))) (log.f64 a))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (*.f64 -1 (log.f64 a)))
(+.f64 (neg.f64 (log.f64 a)) (log.f64 (*.f64 1/2 (+.f64 (/.f64 (*.f64 1/2 (*.f64 h h)) g) (*.f64 -2 g)))))
(-.f64 (log.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (*.f64 1/4 (*.f64 (/.f64 h g) h)) (neg.f64 g))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (/.f64 1/4 (/.f64 g (*.f64 h h))) (neg.f64 g))) (log.f64 a))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (*.f64 -1 (log.f64 a)))
(+.f64 (neg.f64 (log.f64 a)) (log.f64 (*.f64 1/2 (+.f64 (/.f64 (*.f64 1/2 (*.f64 h h)) g) (*.f64 -2 g)))))
(-.f64 (log.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (*.f64 1/4 (*.f64 (/.f64 h g) h)) (neg.f64 g))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (/.f64 1/4 (/.f64 g (*.f64 h h))) (neg.f64 g))) (log.f64 a))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (log.f64 (/.f64 1 a)))
(+.f64 (neg.f64 (log.f64 a)) (log.f64 (*.f64 1/2 (+.f64 (/.f64 (*.f64 1/2 (*.f64 h h)) g) (*.f64 -2 g)))))
(-.f64 (log.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (*.f64 1/4 (*.f64 (/.f64 h g) h)) (neg.f64 g))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (/.f64 1/4 (/.f64 g (*.f64 h h))) (neg.f64 g))) (log.f64 a))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (log.f64 (/.f64 1 a)))
(+.f64 (neg.f64 (log.f64 a)) (log.f64 (*.f64 1/2 (+.f64 (/.f64 (*.f64 1/2 (*.f64 h h)) g) (*.f64 -2 g)))))
(-.f64 (log.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (*.f64 1/4 (*.f64 (/.f64 h g) h)) (neg.f64 g))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (/.f64 1/4 (/.f64 g (*.f64 h h))) (neg.f64 g))) (log.f64 a))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (log.f64 (/.f64 1 a)))
(+.f64 (neg.f64 (log.f64 a)) (log.f64 (*.f64 1/2 (+.f64 (/.f64 (*.f64 1/2 (*.f64 h h)) g) (*.f64 -2 g)))))
(-.f64 (log.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (*.f64 1/4 (*.f64 (/.f64 h g) h)) (neg.f64 g))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (/.f64 1/4 (/.f64 g (*.f64 h h))) (neg.f64 g))) (log.f64 a))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))) (log.f64 (/.f64 1 a)))
(+.f64 (neg.f64 (log.f64 a)) (log.f64 (*.f64 1/2 (+.f64 (/.f64 (*.f64 1/2 (*.f64 h h)) g) (*.f64 -2 g)))))
(-.f64 (log.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (*.f64 1/4 (*.f64 (/.f64 h g) h)) (neg.f64 g))) (log.f64 a))
(-.f64 (log.f64 (+.f64 (/.f64 1/4 (/.f64 g (*.f64 h h))) (neg.f64 g))) (log.f64 a))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 -1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 (+.f64 (/.f64 (*.f64 1/2 (*.f64 h h)) g) (*.f64 -2 g)) -1/2)))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) -1/2)))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (+.f64 (*.f64 -1/4 (*.f64 (/.f64 h g) h)) (*.f64 g 1))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (+.f64 (/.f64 -1/4 (/.f64 g (*.f64 h h))) (*.f64 g 1))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 -1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 (+.f64 (/.f64 (*.f64 1/2 (*.f64 h h)) g) (*.f64 -2 g)) -1/2)))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) -1/2)))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (+.f64 (*.f64 -1/4 (*.f64 (/.f64 h g) h)) (*.f64 g 1))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (+.f64 (/.f64 -1/4 (/.f64 g (*.f64 h h))) (*.f64 g 1))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 -1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 (+.f64 (/.f64 (*.f64 1/2 (*.f64 h h)) g) (*.f64 -2 g)) -1/2)))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) -1/2)))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (+.f64 (*.f64 -1/4 (*.f64 (/.f64 h g) h)) (*.f64 g 1))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (+.f64 (/.f64 -1/4 (/.f64 g (*.f64 h h))) (*.f64 g 1))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 -1/2 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 g)))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 (+.f64 (/.f64 (*.f64 1/2 (*.f64 h h)) g) (*.f64 -2 g)) -1/2)))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 g -2)) -1/2)))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (+.f64 (*.f64 -1/4 (*.f64 (/.f64 h g) h)) (*.f64 g 1))))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (+.f64 (/.f64 -1/4 (/.f64 g (*.f64 h h))) (*.f64 g 1))))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))
(/.f64 g (pow.f64 h 2))
(/.f64 g (*.f64 h h))

localize62.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
10.5b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
31.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
32.7b
(log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
33.6b
(-.f64 (exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2)) g)
Compiler

Compiled 200 to 64 computations (68% saved)

series8.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
2.0ms
h
@inf
(log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
1.0ms
g
@0
(log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
1.0ms
h
@0
(log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
1.0ms
g
@inf
(log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
0.0ms
g
@0
(-.f64 (exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2)) g)

rewrite79.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
544×*-commutative
473×associate-*r/
458×distribute-lft-in
387×associate-*l/
201×associate-+l+
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01128
124427
2345027
Stop Event
node limit
Counts
2 → 160
Calls
Call 1
Inputs
(-.f64 (exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2)) g)
(log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (+.f64 (neg.f64 g) (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (+.f64 (neg.f64 g) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (+.f64 (neg.f64 g) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (fma.f64 (neg.f64 g) 1 g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 g) 1 g) (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g) (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g) (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 g) 1 g) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 g) 1 g) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (+.f64 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 1 (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 1 (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 1 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 g) (+.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 g) (+.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 g) (+.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (neg.f64 g) 1 g) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (exp.f64 (log1p.f64 g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 g (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 g (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 g (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (-.f64 1 (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (-.f64 1 (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (-.f64 1 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (+.f64 g 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.f64 1 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (*.f64 g g) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.f64 (/.f64 (*.f64 g g) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.f64 (/.f64 (*.f64 g g) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.f64 (/.f64 (*.f64 g g) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (/.f64 (pow.f64 g 3) (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (-.f64 (/.f64 (pow.f64 g 3) (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (fma.f64 (neg.f64 g) 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (-.f64 (/.f64 (pow.f64 g 3) (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (fma.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 g) 2) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (-.f64 (/.f64 (pow.f64 g 3) (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 0) g)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (neg.f64 g) (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)) (/.f64 1 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 g) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4)) (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) (sqrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) (sqrt.f64 g)) (+.f64 (sqrt.f64 g) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h)))) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))) (-.f64 (+.f64 (*.f64 g g) (-.f64 (*.f64 g g) (*.f64 h h))) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)) (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 3))) (-.f64 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)) (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))) (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))) (/.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h)))) (cbrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))))) (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (cbrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))) (/.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (sqrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h)))) (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 (neg.f64 g) (neg.f64 g)))) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (pow.f64 g 4)) (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 (*.f64 g g) (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 (neg.f64 g) 3)) (-.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 (neg.f64 g) (neg.f64 g))) (*.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 3) (pow.f64 (pow.f64 g 3) 3)) (*.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 g 6)) (*.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 g 6)) (*.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 g 6)) (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (+.f64 (pow.f64 g 4) (*.f64 (*.f64 g g) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h)))) (neg.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))) (neg.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 (neg.f64 g) (neg.f64 g))))) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 (neg.f64 g) 3))) (-.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 (neg.f64 g) (neg.f64 g))) (*.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (neg.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))))) (neg.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (neg.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))) (neg.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2) (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))) (cbrt.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2) (cbrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))))) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (sqrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))) (sqrt.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (sqrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))))) (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 (neg.f64 g) (neg.f64 g)))) 1) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 (neg.f64 g) 3)) 1) (-.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 (neg.f64 g) (neg.f64 g))) (*.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h)))) 1) (neg.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))) 1) (neg.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2)) (cbrt.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h)))) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))) (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (sqrt.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h)))) (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (pow.f64 g 4)) (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (*.f64 g g) (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 g 6)) (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (+.f64 (pow.f64 g 4) (*.f64 (*.f64 g g) (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 3) (pow.f64 (pow.f64 g 3) 3)) (/.f64 1 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (+.f64 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 g 6)) (*.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 g 6)) (/.f64 1 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) 1) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) (*.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 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (*.f64 g g) (fma.f64 g g (*.f64 h h))) (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)) 1) (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)) (*.f64 (cbrt.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (cbrt.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (cbrt.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (pow.f64 g 3)) (sqrt.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (sqrt.f64 (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (expm1.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (neg.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) (neg.f64 g))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2)) (log.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (-.f64 g h)) (log.f64 (+.f64 g h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4)) (+.f64 (log.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4)) (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (+.f64 g h)) (log.f64 (-.f64 g h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (log.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 (log.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (log.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4))) (log.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (log.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (log.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2))) (log.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (log.f64 (+.f64 g h))) (log.f64 (-.f64 g h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (log.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2))) (*.f64 1 (log.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (log.f64 (+.f64 g h))) (*.f64 1 (log.f64 (-.f64 g h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6))) (log.f64 (+.f64 (pow.f64 h 4) (+.f64 (pow.f64 (*.f64 g h) 2) (pow.f64 g 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4))) (log.f64 (fma.f64 g g (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (-.f64 1 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (exp.f64 (log1p.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (log.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6)))) (log.f64 (+.f64 (pow.f64 h 4) (+.f64 (pow.f64 (*.f64 g h) 2) (pow.f64 g 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (log.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4)))) (log.f64 (fma.f64 g g (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (exp.f64 (log1p.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (pow.f64 (cbrt.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 2) (cbrt.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (-.f64 (-.f64 (+.f64 (*.f64 g g) 1) (*.f64 h h)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) 1)))))))

simplify76.0ms (0.7%)

Algorithm
egg-herbie
Rules
734×times-frac
624×fma-def
470×associate-+l-
396×associate-+r-
391×+-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01501304
14561269
214491233
359911227
Stop Event
node limit
Counts
208 → 232
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))))
(*.f64 -1/2 (/.f64 (pow.f64 h 2) g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (pow.f64 h 8)) (pow.f64 (*.f64 -1/8 (pow.f64 h 4)) 2)) (pow.f64 g 7))) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(*.f64 -2 g)
(+.f64 (*.f64 -2 g) (*.f64 1/2 (/.f64 (pow.f64 h 2) g)))
(+.f64 (*.f64 -2 g) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 -2 g) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(*.f64 -1/2 (/.f64 (pow.f64 h 2) g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 g 6))) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2)) (pow.f64 h 8)) g)) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))))
(*.f64 -1 (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (*.f64 -1 g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (*.f64 -1 g)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 -1 g) (*.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))))))
(log.f64 (neg.f64 (pow.f64 h 2)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (log.f64 (neg.f64 (pow.f64 h 2))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (log.f64 (neg.f64 (pow.f64 h 2)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -1/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (log.f64 (neg.f64 (pow.f64 h 2))))))
(*.f64 -2 (log.f64 (/.f64 1 g)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (*.f64 -2 (log.f64 (/.f64 1 g))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 g))) (*.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4)))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 g))) (+.f64 (*.f64 -1/3 (/.f64 (pow.f64 h 6) (pow.f64 g 6))) (*.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4))))))
(*.f64 -2 (log.f64 (/.f64 -1 g)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (*.f64 -2 (log.f64 (/.f64 -1 g))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 g))) (*.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4)))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -1/3 (/.f64 (pow.f64 h 6) (pow.f64 g 6))) (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 g))) (*.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4))))))
(log.f64 (pow.f64 g 2))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (pow.f64 g 2)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (log.f64 (pow.f64 g 2))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -1/3 (/.f64 (pow.f64 h 6) (pow.f64 g 6))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (log.f64 (pow.f64 g 2)))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 h))) (log.f64 -1))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 h))) (+.f64 (log.f64 -1) (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 h))) (+.f64 (log.f64 -1) (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2))))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 h))) (+.f64 (*.f64 -1/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6))) (+.f64 (log.f64 -1) (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 h))))
(+.f64 (log.f64 -1) (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (*.f64 -2 (log.f64 (/.f64 -1 h)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (log.f64 -1) (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (*.f64 -2 (log.f64 (/.f64 -1 h))))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -1/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6))) (+.f64 (log.f64 -1) (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (*.f64 -2 (log.f64 (/.f64 -1 h)))))))
Outputs
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))
(fma.f64 (sqrt.f64 -1) h (neg.f64 g))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g)))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 (sqrt.f64 -1) h (neg.f64 g)))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) h (neg.f64 g)))
(-.f64 (fma.f64 (sqrt.f64 -1) h (*.f64 (/.f64 (*.f64 g g) h) (/.f64 1/2 (sqrt.f64 -1)))) g)
(-.f64 (fma.f64 (/.f64 1/2 (sqrt.f64 -1)) (/.f64 (*.f64 g g) h) (*.f64 (sqrt.f64 -1) h)) g)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h (neg.f64 g))))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h (neg.f64 g))))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) h (fma.f64 (/.f64 1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (neg.f64 g))))
(*.f64 -1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 -1/2 (/.f64 (*.f64 h h) g))
(*.f64 -1/2 (/.f64 h (/.f64 g h)))
(*.f64 (/.f64 -1/2 g) (*.f64 h h))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (/.f64 (*.f64 -1/8 (pow.f64 h 4)) (pow.f64 g 3)))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 -1/2 (/.f64 h (/.f64 g h))))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 (/.f64 -1/2 g) (*.f64 h h)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (/.f64 (*.f64 -1/8 (pow.f64 h 4)) (pow.f64 g 3))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)))))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/2 (*.f64 (/.f64 h g) h) (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (pow.f64 h 8)) (pow.f64 (*.f64 -1/8 (pow.f64 h 4)) 2)) (pow.f64 g 7))) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/2 (/.f64 (fma.f64 1/16 (pow.f64 h 8) (pow.f64 (*.f64 -1/8 (pow.f64 h 4)) 2)) (pow.f64 g 7)) (/.f64 (*.f64 -1/8 (pow.f64 h 4)) (pow.f64 g 3)))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (/.f64 (*.f64 -1/2 (fma.f64 1/16 (pow.f64 h 8) (*.f64 (pow.f64 h 8) 1/64))) (pow.f64 g 7)))))
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/2 (/.f64 (*.f64 (pow.f64 h 8) 5/64) (pow.f64 g 7)) (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6)))))
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (/.f64 (*.f64 (pow.f64 h 8) -5/128) (pow.f64 g 7)))))
(*.f64 -2 g)
(*.f64 g -2)
(+.f64 (*.f64 -2 g) (*.f64 1/2 (/.f64 (pow.f64 h 2) g)))
(fma.f64 -2 g (*.f64 1/2 (/.f64 (*.f64 h h) g)))
(fma.f64 g -2 (/.f64 (*.f64 (*.f64 1/2 h) h) g))
(fma.f64 g -2 (*.f64 1/2 (*.f64 (/.f64 h g) h)))
(+.f64 (*.f64 -2 g) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(fma.f64 -2 g (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8)))
(fma.f64 g -2 (fma.f64 1/2 (/.f64 h (/.f64 g h)) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8)))
(fma.f64 1/2 (*.f64 (/.f64 h g) h) (fma.f64 g -2 (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8)))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 -2 g) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -2 g (fma.f64 1/2 (/.f64 (*.f64 h h) g) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8))))
(fma.f64 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) 1/16 (fma.f64 g -2 (fma.f64 1/2 (/.f64 h (/.f64 g h)) (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8))))
(fma.f64 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) 1/16 (fma.f64 1/2 (*.f64 (/.f64 h g) h) (fma.f64 g -2 (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8))))
(*.f64 -1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 -1/2 (/.f64 (*.f64 h h) g))
(*.f64 -1/2 (/.f64 h (/.f64 g h)))
(*.f64 (/.f64 -1/2 g) (*.f64 h h))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (/.f64 (*.f64 -1/8 (pow.f64 h 4)) (pow.f64 g 3)))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 -1/2 (/.f64 h (/.f64 g h))))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 (/.f64 -1/2 g) (*.f64 h h)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (/.f64 (*.f64 -1/8 (pow.f64 h 4)) (pow.f64 g 3))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)))))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/2 (*.f64 (/.f64 h g) h) (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 g 6))) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2)) (pow.f64 h 8)) g)) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 g 6)) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2)) (/.f64 g (pow.f64 h 8))) (/.f64 (*.f64 -1/8 (pow.f64 h 4)) (pow.f64 g 3)))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/2 (/.f64 (pow.f64 h 8) (/.f64 g (+.f64 (/.f64 1/16 (pow.f64 g 6)) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2)))) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 h 8) g) (+.f64 (/.f64 1/16 (pow.f64 g 6)) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2))) (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6)))))
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 (/.f64 -1/16 (pow.f64 g 5)) (pow.f64 h 6))) (*.f64 (/.f64 -1/2 g) (+.f64 (*.f64 (pow.f64 h 8) (+.f64 (/.f64 1/16 (pow.f64 g 6)) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2))) (*.f64 h h))))
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))
(fma.f64 (sqrt.f64 -1) h (neg.f64 g))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g)))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 (sqrt.f64 -1) h (neg.f64 g)))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) h (neg.f64 g)))
(-.f64 (fma.f64 (sqrt.f64 -1) h (*.f64 (/.f64 (*.f64 g g) h) (/.f64 1/2 (sqrt.f64 -1)))) g)
(-.f64 (fma.f64 (/.f64 1/2 (sqrt.f64 -1)) (/.f64 (*.f64 g g) h) (*.f64 (sqrt.f64 -1) h)) g)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 -1 g))))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h (neg.f64 g))))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h (neg.f64 g))))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) h (fma.f64 (/.f64 1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (neg.f64 g))))
(*.f64 -1 (*.f64 (sqrt.f64 -1) h))
(neg.f64 (*.f64 (sqrt.f64 -1) h))
(*.f64 (sqrt.f64 -1) (neg.f64 h))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (*.f64 -1 g))
(*.f64 -1 (+.f64 (*.f64 (sqrt.f64 -1) h) g))
(neg.f64 (fma.f64 (sqrt.f64 -1) h g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (*.f64 -1 g)))
(fma.f64 -1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (*.f64 -1 (+.f64 (*.f64 (sqrt.f64 -1) h) g)))
(fma.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2 (neg.f64 (fma.f64 (sqrt.f64 -1) h g)))
(-.f64 (*.f64 (/.f64 (*.f64 g g) h) (/.f64 -1/2 (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) h g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 -1 g) (*.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))))))
(fma.f64 -1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1 (*.f64 (sqrt.f64 -1) h) (fma.f64 -1 g (/.f64 (*.f64 1/8 (pow.f64 g 4)) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))))))
(fma.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2 (fma.f64 -1 (fma.f64 (sqrt.f64 -1) h g) (*.f64 (/.f64 1/8 (neg.f64 (sqrt.f64 -1))) (/.f64 (pow.f64 g 4) (pow.f64 h 3)))))
(fma.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2 (-.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (sqrt.f64 -1) (pow.f64 h 3)))) (fma.f64 (sqrt.f64 -1) h g)))
(-.f64 (*.f64 (*.f64 (/.f64 g (sqrt.f64 -1)) g) (+.f64 (/.f64 -1/2 h) (/.f64 (*.f64 (*.f64 g g) 1/8) (neg.f64 (pow.f64 h 3))))) (fma.f64 (sqrt.f64 -1) h g))
(log.f64 (neg.f64 (pow.f64 h 2)))
(log.f64 (neg.f64 (*.f64 h h)))
(log.f64 (*.f64 h (neg.f64 h)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (log.f64 (neg.f64 (pow.f64 h 2))))
(fma.f64 -1 (/.f64 (*.f64 g g) (*.f64 h h)) (log.f64 (neg.f64 (*.f64 h h))))
(-.f64 (log.f64 (*.f64 h (neg.f64 h))) (*.f64 (/.f64 g h) (/.f64 g h)))
(-.f64 (log.f64 (neg.f64 (*.f64 h h))) (/.f64 (*.f64 g g) (*.f64 h h)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (log.f64 (neg.f64 (pow.f64 h 2)))))
(fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -1 (/.f64 (*.f64 g g) (*.f64 h h)) (log.f64 (neg.f64 (*.f64 h h)))))
(fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (log.f64 (*.f64 h (neg.f64 h))) (*.f64 (/.f64 g h) (/.f64 g h))))
(fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (log.f64 (neg.f64 (*.f64 h h))) (/.f64 (*.f64 g g) (*.f64 h h))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -1/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (log.f64 (neg.f64 (pow.f64 h 2))))))
(fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -1/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)) (fma.f64 -1 (/.f64 (*.f64 g g) (*.f64 h h)) (log.f64 (neg.f64 (*.f64 h h))))))
(fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -1/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)) (-.f64 (log.f64 (*.f64 h (neg.f64 h))) (*.f64 (/.f64 g h) (/.f64 g h)))))
(fma.f64 -1/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)) (fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (log.f64 (neg.f64 (*.f64 h h))) (/.f64 (*.f64 g g) (*.f64 h h)))))
(*.f64 -2 (log.f64 (/.f64 1 g)))
(*.f64 -2 (neg.f64 (log.f64 g)))
(neg.f64 (*.f64 (log.f64 g) -2))
(log.f64 (*.f64 g g))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (*.f64 -2 (log.f64 (/.f64 1 g))))
(fma.f64 -1 (/.f64 (*.f64 h h) (*.f64 g g)) (*.f64 -2 (neg.f64 (log.f64 g))))
(-.f64 (neg.f64 (*.f64 (log.f64 g) -2)) (*.f64 (/.f64 h g) (/.f64 h g)))
(-.f64 (log.f64 (*.f64 g g)) (*.f64 (/.f64 h g) (/.f64 h g)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 g))) (*.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4)))))
(fma.f64 -1 (/.f64 (*.f64 h h) (*.f64 g g)) (fma.f64 -2 (neg.f64 (log.f64 g)) (/.f64 (*.f64 -1/2 (pow.f64 h 4)) (pow.f64 g 4))))
(-.f64 (fma.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (neg.f64 (*.f64 (log.f64 g) -2))) (*.f64 (/.f64 h g) (/.f64 h g)))
(fma.f64 2 (log.f64 g) (fma.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (/.f64 (neg.f64 (*.f64 h h)) (*.f64 g g))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 g))) (+.f64 (*.f64 -1/3 (/.f64 (pow.f64 h 6) (pow.f64 g 6))) (*.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4))))))
(fma.f64 -1 (/.f64 (*.f64 h h) (*.f64 g g)) (fma.f64 -2 (neg.f64 (log.f64 g)) (fma.f64 -1/3 (/.f64 (pow.f64 h 6) (pow.f64 g 6)) (/.f64 (*.f64 -1/2 (pow.f64 h 4)) (pow.f64 g 4)))))
(-.f64 (fma.f64 -2 (neg.f64 (log.f64 g)) (fma.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (*.f64 -1/3 (/.f64 (pow.f64 h 6) (pow.f64 g 6))))) (*.f64 (/.f64 h g) (/.f64 h g)))
(-.f64 (fma.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (fma.f64 2 (log.f64 g) (*.f64 (/.f64 -1/3 (pow.f64 g 6)) (pow.f64 h 6)))) (*.f64 (/.f64 h g) (/.f64 h g)))
(*.f64 -2 (log.f64 (/.f64 -1 g)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (*.f64 -2 (log.f64 (/.f64 -1 g))))
(fma.f64 -1 (/.f64 (*.f64 h h) (*.f64 g g)) (*.f64 -2 (log.f64 (/.f64 -1 g))))
(fma.f64 -2 (log.f64 (/.f64 -1 g)) (neg.f64 (*.f64 (/.f64 h g) (/.f64 h g))))
(fma.f64 -2 (log.f64 (/.f64 -1 g)) (/.f64 (neg.f64 (*.f64 h h)) (*.f64 g g)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 g))) (*.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4)))))
(fma.f64 -1 (/.f64 (*.f64 h h) (*.f64 g g)) (fma.f64 -2 (log.f64 (/.f64 -1 g)) (/.f64 (*.f64 -1/2 (pow.f64 h 4)) (pow.f64 g 4))))
(-.f64 (fma.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (*.f64 -2 (log.f64 (/.f64 -1 g)))) (*.f64 (/.f64 h g) (/.f64 h g)))
(fma.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (fma.f64 -2 (log.f64 (/.f64 -1 g)) (/.f64 (neg.f64 (*.f64 h h)) (*.f64 g g))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -1/3 (/.f64 (pow.f64 h 6) (pow.f64 g 6))) (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 g))) (*.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4))))))
(fma.f64 -1 (/.f64 (*.f64 h h) (*.f64 g g)) (fma.f64 -1/3 (/.f64 (pow.f64 h 6) (pow.f64 g 6)) (fma.f64 -2 (log.f64 (/.f64 -1 g)) (/.f64 (*.f64 -1/2 (pow.f64 h 4)) (pow.f64 g 4)))))
(-.f64 (fma.f64 -1/3 (/.f64 (pow.f64 h 6) (pow.f64 g 6)) (fma.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (*.f64 -2 (log.f64 (/.f64 -1 g))))) (*.f64 (/.f64 h g) (/.f64 h g)))
(log.f64 (pow.f64 g 2))
(*.f64 -2 (neg.f64 (log.f64 g)))
(neg.f64 (*.f64 (log.f64 g) -2))
(log.f64 (*.f64 g g))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (log.f64 (pow.f64 g 2)))
(fma.f64 -1 (/.f64 (*.f64 h h) (*.f64 g g)) (*.f64 -2 (neg.f64 (log.f64 g))))
(-.f64 (neg.f64 (*.f64 (log.f64 g) -2)) (*.f64 (/.f64 h g) (/.f64 h g)))
(-.f64 (log.f64 (*.f64 g g)) (*.f64 (/.f64 h g) (/.f64 h g)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (log.f64 (pow.f64 g 2))))
(fma.f64 -1 (/.f64 (*.f64 h h) (*.f64 g g)) (fma.f64 -2 (neg.f64 (log.f64 g)) (/.f64 (*.f64 -1/2 (pow.f64 h 4)) (pow.f64 g 4))))
(-.f64 (fma.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (neg.f64 (*.f64 (log.f64 g) -2))) (*.f64 (/.f64 h g) (/.f64 h g)))
(fma.f64 2 (log.f64 g) (fma.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (/.f64 (neg.f64 (*.f64 h h)) (*.f64 g g))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 -1/3 (/.f64 (pow.f64 h 6) (pow.f64 g 6))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (log.f64 (pow.f64 g 2)))))
(fma.f64 -1 (/.f64 (*.f64 h h) (*.f64 g g)) (fma.f64 -2 (neg.f64 (log.f64 g)) (fma.f64 -1/3 (/.f64 (pow.f64 h 6) (pow.f64 g 6)) (/.f64 (*.f64 -1/2 (pow.f64 h 4)) (pow.f64 g 4)))))
(-.f64 (fma.f64 -2 (neg.f64 (log.f64 g)) (fma.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (*.f64 -1/3 (/.f64 (pow.f64 h 6) (pow.f64 g 6))))) (*.f64 (/.f64 h g) (/.f64 h g)))
(-.f64 (fma.f64 -1/2 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (fma.f64 2 (log.f64 g) (*.f64 (/.f64 -1/3 (pow.f64 g 6)) (pow.f64 h 6)))) (*.f64 (/.f64 h g) (/.f64 h g)))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 h))) (log.f64 -1))
(log.f64 (neg.f64 (*.f64 h h)))
(log.f64 (*.f64 h (neg.f64 h)))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 h))) (+.f64 (log.f64 -1) (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2)))))
(fma.f64 -1 (/.f64 (*.f64 g g) (*.f64 h h)) (log.f64 (neg.f64 (*.f64 h h))))
(-.f64 (log.f64 (*.f64 h (neg.f64 h))) (*.f64 (/.f64 g h) (/.f64 g h)))
(-.f64 (log.f64 (neg.f64 (*.f64 h h))) (/.f64 (*.f64 g g) (*.f64 h h)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 h))) (+.f64 (log.f64 -1) (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2))))))
(fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -1 (/.f64 (*.f64 g g) (*.f64 h h)) (log.f64 (neg.f64 (*.f64 h h)))))
(fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (log.f64 (*.f64 h (neg.f64 h))) (*.f64 (/.f64 g h) (/.f64 g h))))
(fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (log.f64 (neg.f64 (*.f64 h h))) (/.f64 (*.f64 g g) (*.f64 h h))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 h))) (+.f64 (*.f64 -1/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6))) (+.f64 (log.f64 -1) (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -1/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)) (fma.f64 -1 (/.f64 (*.f64 g g) (*.f64 h h)) (log.f64 (neg.f64 (*.f64 h h))))))
(fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -1/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)) (-.f64 (log.f64 (*.f64 h (neg.f64 h))) (*.f64 (/.f64 g h) (/.f64 g h)))))
(fma.f64 -1/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)) (fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (log.f64 (neg.f64 (*.f64 h h))) (/.f64 (*.f64 g g) (*.f64 h h)))))
(+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 h))))
(fma.f64 -2 (log.f64 (/.f64 -1 h)) (log.f64 -1))
(+.f64 (log.f64 -1) (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (*.f64 -2 (log.f64 (/.f64 -1 h)))))
(+.f64 (log.f64 -1) (fma.f64 -1 (/.f64 (*.f64 g g) (*.f64 h h)) (*.f64 -2 (log.f64 (/.f64 -1 h)))))
(+.f64 (/.f64 (/.f64 (neg.f64 (*.f64 g g)) h) h) (fma.f64 -2 (log.f64 (/.f64 -1 h)) (log.f64 -1)))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 h)) (log.f64 -1)) (/.f64 (*.f64 g g) (*.f64 h h)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (log.f64 -1) (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (*.f64 -2 (log.f64 (/.f64 -1 h))))))
(fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (+.f64 (log.f64 -1) (fma.f64 -1 (/.f64 (*.f64 g g) (*.f64 h h)) (*.f64 -2 (log.f64 (/.f64 -1 h))))))
(+.f64 (-.f64 (*.f64 -2 (log.f64 (/.f64 -1 h))) (*.f64 (/.f64 g h) (/.f64 g h))) (fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (log.f64 -1)))
(fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 h)) (log.f64 -1)) (/.f64 (*.f64 g g) (*.f64 h h))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4))) (+.f64 (*.f64 -1/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6))) (+.f64 (log.f64 -1) (+.f64 (*.f64 -1 (/.f64 (pow.f64 g 2) (pow.f64 h 2))) (*.f64 -2 (log.f64 (/.f64 -1 h)))))))
(fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -1/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)) (+.f64 (log.f64 -1) (fma.f64 -1 (/.f64 (*.f64 g g) (*.f64 h h)) (*.f64 -2 (log.f64 (/.f64 -1 h)))))))
(fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -1/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)) (+.f64 (/.f64 (/.f64 (neg.f64 (*.f64 g g)) h) h) (fma.f64 -2 (log.f64 (/.f64 -1 h)) (log.f64 -1)))))
(fma.f64 -1/2 (/.f64 (pow.f64 g 4) (pow.f64 h 4)) (fma.f64 -1/3 (/.f64 (pow.f64 g 6) (pow.f64 h 6)) (-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 h)) (log.f64 -1)) (/.f64 (*.f64 g g) (*.f64 h h)))))

eval666.0ms (5.8%)

Compiler

Compiled 51048 to 25020 computations (51% saved)

prune258.0ms (2.2%)

Pruning

42 alts after pruning (40 fresh and 2 done)

PrunedKeptTotal
New1184271211
Fresh231336
Picked101
Done325
Total1211421253
Error
2.9b
Counts
1253 → 42
Alt Table
Click to see full alt table
StatusErrorProgram
20.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 (neg.f64 g) a)))
19.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))) (cbrt.f64 (*.f64 (*.f64 h (*.f64 h (/.f64 1/2 g))) (/.f64 -1/2 a))))
5.7b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
48.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) (/.f64 -1/2 a))))
48.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 (*.f64 (/.f64 -1/2 a) (*.f64 2 (pow.f64 g 3))) (fma.f64 g g 0))))
20.0b
(+.f64 (cbrt.f64 (/.f64 1/2 (/.f64 a (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
20.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 2) (cbrt.f64 (/.f64 g a)))))
20.4b
(+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
23.7b
(+.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
20.2b
(+.f64 (cbrt.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) 2) (/.f64 (*.f64 a 2) (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
63.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (+.f64 g g) (cbrt.f64 a)))
48.8b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2)) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
5.7b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
50.0b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (exp.f64 (*.f64 (*.f64 -2 (log.f64 (/.f64 -1 g))) 1/2)) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
38.7b
(+.f64 (cbrt.f64 (*.f64 (*.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) (cbrt.f64 (/.f64 1/4 (*.f64 a a)))) (cbrt.f64 (/.f64 1/2 a)))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
44.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g g) (sqrt.f64 a)) (/.f64 -1/2 (sqrt.f64 a)))))
6.0b
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (pow.f64 (cbrt.f64 a) 2))) (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
6.3b
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (*.f64 (cbrt.f64 (cbrt.f64 a)) (cbrt.f64 (cbrt.f64 a)))) (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
48.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a))))
38.2b
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (sqrt.f64 a))) (cbrt.f64 (sqrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
47.3b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
20.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
38.1b
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (sqrt.f64 (cbrt.f64 a))) (sqrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
41.9b
(+.f64 (cbrt.f64 (exp.f64 (log.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
20.0b
(+.f64 (cbrt.f64 (/.f64 (/.f64 1/2 a) (/.f64 1 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
49.9b
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
43.1b
(+.f64 (pow.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)) 1/3) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
37.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 3))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
20.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))) (cbrt.f64 (*.f64 (exp.f64 (log.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))) (/.f64 -1/2 a))))
20.0b
(+.f64 (cbrt.f64 (/.f64 (neg.f64 g) a)) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
47.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))))))
61.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (*.f64 (/.f64 1/2 g) (*.f64 h h)) (/.f64 -1/2 a))))
21.9b
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))) 3) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
38.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
41.5b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)))))
60.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (*.f64 (+.f64 g g) (cbrt.f64 (/.f64 -1/2 a))))
61.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (/.f64 -1/2 a))))
48.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)))))))
46.7b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (*.f64 (/.f64 -1/2 g) (*.f64 h h)))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
20.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g g) (pow.f64 (cbrt.f64 a) 2)) (/.f64 -1/2 (cbrt.f64 a)))))
62.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
42.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (exp.f64 (*.f64 (log.f64 (/.f64 (neg.f64 g) a)) 1/3)))
Compiler

Compiled 2732 to 1814 computations (33.6% saved)

localize57.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a)))
1.5b
(/.f64 1/2 (/.f64 g (*.f64 h h)))
2.4b
(+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g))
6.7b
(/.f64 g (*.f64 h h))
Compiler

Compiled 176 to 75 computations (57.4% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
h
@inf
(/.f64 1/2 (/.f64 g (*.f64 h h)))
0.0ms
g
@0
(/.f64 1/2 (/.f64 g (*.f64 h h)))
0.0ms
g
@inf
(/.f64 1/2 (/.f64 g (*.f64 h h)))
0.0ms
g
@-inf
(/.f64 1/2 (/.f64 g (*.f64 h h)))
0.0ms
h
@0
(/.f64 1/2 (/.f64 g (*.f64 h h)))

rewrite67.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
810×pow1-binary64
758×add-exp-log-binary64
758×expm1-log1p-u-binary64
758×log1p-expm1-u-binary64
742×add-log-exp-binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
115610
2215910
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(/.f64 1/2 (/.f64 g (*.f64 h h)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/2 (/.f64 (*.f64 h h) g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (*.f64 h h) g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 h h) (/.f64 1/2 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 1/2 (/.f64 (*.f64 h h) g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g))) (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g))) 2) (cbrt.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 1/2 g)) h) (*.f64 (sqrt.f64 (/.f64 1/2 g)) h))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 g) (*.f64 h h))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 h h) g) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (/.f64 1 (*.f64 g (neg.f64 (pow.f64 h -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 g) h) h)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 g) 1) (*.f64 h h))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 g) (cbrt.f64 (pow.f64 h 4))) (pow.f64 (cbrt.f64 h) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (/.f64 g h)) h)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (neg.f64 g)) (*.f64 h (neg.f64 h)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (*.f64 g (pow.f64 h -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (neg.f64 (*.f64 g (neg.f64 (pow.f64 h -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (*.f64 g (pow.f64 h -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (*.f64 g (pow.f64 h -2)) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 g) (pow.f64 h -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (*.f64 g (neg.f64 (pow.f64 h -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 h h)) g)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 (cbrt.f64 (/.f64 (*.f64 g g) (pow.f64 h 4)))) (cbrt.f64 (*.f64 g (pow.f64 h -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 (/.f64 (sqrt.f64 g) h)) (/.f64 (sqrt.f64 g) h))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (*.f64 (*.f64 g (pow.f64 h -2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 1/2 g)) h) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 g (pow.f64 h -2)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 1/4 (/.f64 (*.f64 g g) (pow.f64 h 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/2) (/.f64 (*.f64 h h) g)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g))))))))

simplify139.0ms (1.2%)

Algorithm
egg-herbie
Rules
803×sqr-pow
669×*-commutative
576×associate-/l/
568×associate-*r*
484×unswap-sqr
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08240
116240
235240
364240
4162240
5554240
62487240
73690240
83862240
94062240
104287240
114598240
125810240
136404240
147028240
157671240
Stop Event
node limit
Counts
61 → 39
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
Outputs
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))
(*.f64 1/2 (/.f64 (pow.f64 h 2) g))
(*.f64 1/2 (/.f64 (*.f64 h h) g))
(*.f64 1/2 (/.f64 h (/.f64 g h)))
(*.f64 1/2 (*.f64 (/.f64 h g) h))
(/.f64 (*.f64 h h) (/.f64 g 1/2))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(*.f64 h (/.f64 h (/.f64 g 1/2)))

localize38.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
18.3b
(cbrt.f64 (/.f64 (neg.f64 g) a))
Compiler

Compiled 52 to 22 computations (57.7% saved)

series4.0ms (0%)

Counts
1 → 0
Calls

6 calls:

TimeVariablePointExpression
1.0ms
g
@0
(cbrt.f64 (/.f64 (neg.f64 g) a))
1.0ms
g
@inf
(cbrt.f64 (/.f64 (neg.f64 g) a))
1.0ms
g
@-inf
(cbrt.f64 (/.f64 (neg.f64 g) a))
1.0ms
a
@inf
(cbrt.f64 (/.f64 (neg.f64 g) a))
1.0ms
a
@0
(cbrt.f64 (/.f64 (neg.f64 g) a))

rewrite65.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
550×pow1-binary64
512×add-exp-log-binary64
511×expm1-log1p-u-binary64
511×log1p-expm1-u-binary64
500×add-log-exp-binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
068
11276
218146
Stop Event
node limit
Counts
1 → 27
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 (neg.f64 g) a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 g a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 g a))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g a))) 2) (cbrt.f64 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (pow.f64 (/.f64 1 a) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 g a) 1/6) (pow.f64 (/.f64 g a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (/.f64 g a)) 1/3) (pow.f64 (sqrt.f64 (/.f64 g a)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 g) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 g) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 g a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 g a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 g a) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 g a))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 g a))))))))

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
27 → 27
Calls
Call 1
Inputs
Outputs

localize104.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.9b
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
3.0b
(-.f64 (*.f64 g g) (*.f64 h h))
10.5b
(cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a)))
31.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 155 to 57 computations (63.2% saved)

series8.0ms (0.1%)

Counts
1 → 8
Calls

9 calls:

TimeVariablePointExpression
1.0ms
g
@0
(cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a)))
1.0ms
h
@-inf
(cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a)))
1.0ms
h
@0
(cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a)))
1.0ms
h
@inf
(cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a)))
1.0ms
g
@inf
(cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a)))

rewrite94.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
600×associate-/l*
438×associate-/r/
275×associate-+l+
173×add-sqr-sqrt-binary64
165×*-un-lft-identity-binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01623
136623
2493123
Stop Event
node limit
Counts
1 → 38
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/6) (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 -1/2 a)) 1) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 -1/2 a)) -1) (cbrt.f64 (neg.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 1 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cbrt.f64 (/.f64 a (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 a (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 -1/2) (/.f64 (/.f64 1 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (/.f64 1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 -1/2 a)) (/.f64 1 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 -1/2 a)) 2)) (/.f64 (/.f64 1 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (sqrt.f64 (/.f64 -1/2 a))) (/.f64 (/.f64 1 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (sqrt.f64 (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a))) (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a)))) (/.f64 (/.f64 1 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (cbrt.f64 -1/2)) (cbrt.f64 (cbrt.f64 -1/2))) (/.f64 (cbrt.f64 (/.f64 a (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (cbrt.f64 -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (cbrt.f64 (/.f64 -1/2 a))) (/.f64 (/.f64 1 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (sqrt.f64 (cbrt.f64 (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (cbrt.f64 -1/2)) (/.f64 (cbrt.f64 (/.f64 a (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (sqrt.f64 (cbrt.f64 -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))))))))

simplify100.0ms (0.9%)

Algorithm
egg-herbie
Rules
823×fma-def
462×associate-/r*
370×*-commutative
358×times-frac
351×unswap-sqr
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0128899
1392813
21601787
34675767
47857767
Stop Event
node limit
Counts
46 → 54
Calls
Call 1
Inputs
(*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9))) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))) (pow.f64 g 2))) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3)))))
(+.f64 (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))))) (*.f64 1/27 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/3))) (*.f64 (cbrt.f64 -1/2) (pow.f64 g 3))) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3))) (+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9))) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))) (pow.f64 g 2))) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3))))))
(*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)))
(+.f64 (*.f64 -1/6 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
(+.f64 (*.f64 -1/6 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3))) (+.f64 (*.f64 -1/18 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)))))
(+.f64 (*.f64 -1/6 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3))) (+.f64 (*.f64 1/3 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (-.f64 (*.f64 1/216 (/.f64 1 (*.f64 a (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 g 5))))) (*.f64 13/144 (/.f64 1 (*.f64 a (pow.f64 g 5))))) (pow.f64 h 6))) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (pow.f64 g 2)) 1/3))) (+.f64 (*.f64 -1/18 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))))
Outputs
(*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (cbrt.f64 -1/2))
(*.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 -1/2))
(*.f64 (cbrt.f64 (*.f64 h (/.f64 (sqrt.f64 -1) a))) (cbrt.f64 -1/2))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9))))
(fma.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (cbrt.f64 -1/2) (*.f64 (*.f64 1/3 (*.f64 (cbrt.f64 -1/2) g)) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18))))
(fma.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 -1/2) (*.f64 (*.f64 (pow.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18) (pow.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18)) (*.f64 1/3 (*.f64 (cbrt.f64 -1/2) g))))
(*.f64 (cbrt.f64 -1/2) (+.f64 (cbrt.f64 (*.f64 h (/.f64 (sqrt.f64 -1) a))) (*.f64 1/3 (*.f64 g (*.f64 (pow.f64 (/.f64 (/.f64 -1 (*.f64 h h)) (pow.f64 a 7)) 1/18) (pow.f64 (/.f64 (/.f64 -1 (*.f64 h h)) (pow.f64 a 7)) 1/18))))))
(*.f64 (cbrt.f64 -1/2) (fma.f64 1/3 (*.f64 g (*.f64 (pow.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18) (pow.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18))) (cbrt.f64 (*.f64 h (/.f64 (sqrt.f64 -1) a)))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9))) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))) (pow.f64 g 2))) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3)))))
(fma.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (cbrt.f64 -1/2) (*.f64 1/3 (+.f64 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18))) (*.f64 (cbrt.f64 -1/2) (*.f64 (*.f64 (+.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18) (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18)))) (*.f64 g g)) (cbrt.f64 (/.f64 (/.f64 (*.f64 a a) (pow.f64 (sqrt.f64 -1) 2)) (*.f64 h h))))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 -1/2) (+.f64 (*.f64 g (*.f64 (pow.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18) (pow.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18))) (*.f64 (-.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (*.f64 (sqrt.f64 -1) h) (pow.f64 a 17))) 1/18)) (pow.f64 (/.f64 1 (*.f64 (*.f64 (sqrt.f64 -1) h) (pow.f64 a 17))) 1/18))) (*.f64 (*.f64 g g) (cbrt.f64 (*.f64 -1 (*.f64 (/.f64 a h) (/.f64 a h)))))))) (*.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 -1/2)))
(fma.f64 (cbrt.f64 (*.f64 h (/.f64 (sqrt.f64 -1) a))) (cbrt.f64 -1/2) (*.f64 (*.f64 1/3 (cbrt.f64 -1/2)) (fma.f64 g (*.f64 (pow.f64 (/.f64 (/.f64 -1 (*.f64 h h)) (pow.f64 a 7)) 1/18) (pow.f64 (/.f64 (/.f64 -1 (*.f64 h h)) (pow.f64 a 7)) 1/18)) (*.f64 (fma.f64 (*.f64 -1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18)) (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18) (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a)))) (*.f64 (*.f64 g g) (cbrt.f64 (*.f64 (/.f64 a h) (/.f64 a (neg.f64 h)))))))))
(*.f64 (cbrt.f64 -1/2) (+.f64 (cbrt.f64 (*.f64 h (/.f64 (sqrt.f64 -1) a))) (*.f64 1/3 (fma.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 h (*.f64 (sqrt.f64 -1) (pow.f64 a 17)))) 1/18) (pow.f64 (/.f64 1 (*.f64 h (*.f64 (sqrt.f64 -1) (pow.f64 a 17)))) 1/18)) -1/3 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a)))) (*.f64 (*.f64 g g) (cbrt.f64 (/.f64 a (/.f64 (neg.f64 h) (/.f64 a h))))) (*.f64 g (*.f64 (pow.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18) (pow.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18)))))))
(+.f64 (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))))) (*.f64 1/27 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/3))) (*.f64 (cbrt.f64 -1/2) (pow.f64 g 3))) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3))) (+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9))) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))) (pow.f64 g 2))) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3))))))
(fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 (/.f64 (*.f64 a a) (pow.f64 (sqrt.f64 -1) 2)) (*.f64 h h))) (*.f64 (fma.f64 2/3 (*.f64 (+.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18) (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/18))) (*.f64 1/27 (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 a 7) (*.f64 h h)))))) (*.f64 (cbrt.f64 -1/2) (pow.f64 g 3)))) (fma.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (cbrt.f64 -1/2) (*.f64 1/3 (+.f64 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18))) (*.f64 (cbrt.f64 -1/2) (*.f64 (*.f64 (+.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18) (pow.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) (*.f64 h (pow.f64 a 17))) 1/18)))) (*.f64 g g)) (cbrt.f64 (/.f64 (/.f64 (*.f64 a a) (pow.f64 (sqrt.f64 -1) 2)) (*.f64 h h)))))))))
(fma.f64 -1/3 (*.f64 (fma.f64 2/3 (*.f64 (-.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (*.f64 (sqrt.f64 -1) h) (pow.f64 a 17))) 1/18)) (pow.f64 (/.f64 1 (*.f64 (*.f64 (sqrt.f64 -1) h) (pow.f64 a 17))) 1/18))) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/18))) (*.f64 1/27 (cbrt.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h)))))) (*.f64 (cbrt.f64 -1/2) (*.f64 (pow.f64 g 3) (cbrt.f64 (*.f64 -1 (*.f64 (/.f64 a h) (/.f64 a h))))))) (fma.f64 1/3 (*.f64 (cbrt.f64 -1/2) (+.f64 (*.f64 g (*.f64 (pow.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18) (pow.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18))) (*.f64 (-.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 (*.f64 1/3 (pow.f64 (/.f64 1 (*.f64 (*.f64 (sqrt.f64 -1) h) (pow.f64 a 17))) 1/18)) (pow.f64 (/.f64 1 (*.f64 (*.f64 (sqrt.f64 -1) h) (pow.f64 a 17))) 1/18))) (*.f64 (*.f64 g g) (cbrt.f64 (*.f64 -1 (*.f64 (/.f64 a h) (/.f64 a h)))))))) (*.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 -1/2))))
(+.f64 (*.f64 (cbrt.f64 -1/2) (+.f64 (cbrt.f64 (*.f64 h (/.f64 (sqrt.f64 -1) a))) (*.f64 1/3 (*.f64 g (*.f64 (pow.f64 (/.f64 (/.f64 -1 (*.f64 h h)) (pow.f64 a 7)) 1/18) (pow.f64 (/.f64 (/.f64 -1 (*.f64 h h)) (pow.f64 a 7)) 1/18)))))) (*.f64 (cbrt.f64 (*.f64 (/.f64 a h) (/.f64 a (neg.f64 h)))) (+.f64 (*.f64 1/3 (*.f64 (cbrt.f64 -1/2) (*.f64 g (*.f64 g (fma.f64 (*.f64 -1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18)) (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18) (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a)))))))) (*.f64 (fma.f64 (fma.f64 (*.f64 -1/3 (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18)) (pow.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 h (pow.f64 a 17)))) 1/18) (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a)))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/18))) (*.f64 1/27 (cbrt.f64 (/.f64 (/.f64 -1 (*.f64 h h)) (pow.f64 a 7))))) (*.f64 -1/3 (*.f64 (cbrt.f64 -1/2) (pow.f64 g 3)))))))
(fma.f64 (cbrt.f64 (/.f64 a (/.f64 (neg.f64 h) (/.f64 a h)))) (fma.f64 1/3 (*.f64 (cbrt.f64 -1/2) (*.f64 g (*.f64 g (fma.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 h (*.f64 (sqrt.f64 -1) (pow.f64 a 17)))) 1/18) (pow.f64 (/.f64 1 (*.f64 h (*.f64 (sqrt.f64 -1) (pow.f64 a 17)))) 1/18)) -1/3 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))))))) (*.f64 (fma.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 h (*.f64 (sqrt.f64 -1) (pow.f64 a 17)))) 1/18) (pow.f64 (/.f64 1 (*.f64 h (*.f64 (sqrt.f64 -1) (pow.f64 a 17)))) 1/18)) -1/3 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a)))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 5)) (*.f64 (pow.f64 a 4) (pow.f64 h 5))) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 5)) (*.f64 (pow.f64 a 4) (pow.f64 h 5))) 1/18))) (*.f64 1/27 (cbrt.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h)))))) (*.f64 -1/3 (*.f64 (cbrt.f64 -1/2) (pow.f64 g 3))))) (*.f64 (cbrt.f64 -1/2) (fma.f64 1/3 (*.f64 g (*.f64 (pow.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18) (pow.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h))) 1/18))) (cbrt.f64 (*.f64 h (/.f64 (sqrt.f64 -1) a))))))
(*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)))
(*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)))
(*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 2) (cbrt.f64 (/.f64 g a))))
(*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 2)))
(+.f64 (*.f64 -1/6 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
(fma.f64 -1/6 (/.f64 (*.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 h h)) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (pow.f64 (cbrt.f64 2) 2)) (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
(fma.f64 -1/6 (*.f64 (/.f64 (*.f64 h h) (/.f64 (pow.f64 (cbrt.f64 2) 2) (cbrt.f64 -1/2))) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 2) (cbrt.f64 (/.f64 g a)))))
(fma.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 2)) (*.f64 -1/6 (*.f64 (/.f64 h (/.f64 (/.f64 (pow.f64 (cbrt.f64 2) 2) (cbrt.f64 -1/2)) h)) (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))))))
(fma.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 2)) (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5))) (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) -1/6) (pow.f64 (cbrt.f64 2) 2)) (*.f64 h h))))
(+.f64 (*.f64 -1/6 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3))) (+.f64 (*.f64 -1/18 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)))))
(fma.f64 -1/6 (/.f64 (*.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 h h)) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (pow.f64 (cbrt.f64 2) 2)) (fma.f64 -1/18 (/.f64 (*.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 4)) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11)))) (pow.f64 (cbrt.f64 2) 2)) (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)))))
(fma.f64 -1/6 (*.f64 (/.f64 (*.f64 h h) (/.f64 (pow.f64 (cbrt.f64 2) 2) (cbrt.f64 -1/2))) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)) (*.f64 (/.f64 (cbrt.f64 -1/2) (/.f64 (pow.f64 (cbrt.f64 2) 2) (pow.f64 h 4))) (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11))) -1/18))))
(fma.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 2)) (fma.f64 -1/6 (*.f64 (/.f64 h (/.f64 (/.f64 (pow.f64 (cbrt.f64 2) 2) (cbrt.f64 -1/2)) h)) (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))))) (*.f64 -1/18 (/.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (/.f64 (pow.f64 (cbrt.f64 2) 2) (*.f64 (cbrt.f64 -1/2) (pow.f64 h 4)))))))
(fma.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 2)) (fma.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5))) (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) -1/6) (pow.f64 (cbrt.f64 2) 2)) (*.f64 h h)) (/.f64 (*.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 4)) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11)))) (/.f64 (pow.f64 (cbrt.f64 2) 2) -1/18))))
(+.f64 (*.f64 -1/6 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3))) (+.f64 (*.f64 1/3 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (-.f64 (*.f64 1/216 (/.f64 1 (*.f64 a (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 g 5))))) (*.f64 13/144 (/.f64 1 (*.f64 a (pow.f64 g 5))))) (pow.f64 h 6))) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (pow.f64 g 2)) 1/3))) (+.f64 (*.f64 -1/18 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 2) 2)) (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))))
(fma.f64 -1/6 (/.f64 (*.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 h h)) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (pow.f64 (cbrt.f64 2) 2)) (fma.f64 1/3 (*.f64 (/.f64 (cbrt.f64 -1/2) (/.f64 (pow.f64 (cbrt.f64 2) 2) (*.f64 (-.f64 (/.f64 1/216 (*.f64 a (*.f64 (pow.f64 g 5) (pow.f64 (cbrt.f64 2) 6)))) (/.f64 13/144 (*.f64 a (pow.f64 g 5)))) (pow.f64 h 6)))) (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 g g)))) (fma.f64 -1/18 (/.f64 (*.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 4)) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11)))) (pow.f64 (cbrt.f64 2) 2)) (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))))
(fma.f64 -1/6 (*.f64 (/.f64 (*.f64 h h) (/.f64 (pow.f64 (cbrt.f64 2) 2) (cbrt.f64 -1/2))) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (fma.f64 1/3 (/.f64 (*.f64 (cbrt.f64 (*.f64 (/.f64 a g) (/.f64 a g))) (cbrt.f64 -1/2)) (/.f64 (/.f64 (pow.f64 (cbrt.f64 2) 2) (pow.f64 h 6)) (+.f64 (/.f64 1/216 (*.f64 (pow.f64 g 5) (*.f64 a 4))) (/.f64 -13/144 (*.f64 a (pow.f64 g 5)))))) (fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)) (*.f64 (/.f64 (cbrt.f64 -1/2) (/.f64 (pow.f64 (cbrt.f64 2) 2) (pow.f64 h 4))) (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11))) -1/18)))))
(fma.f64 1/3 (/.f64 (cbrt.f64 -1/2) (/.f64 (/.f64 (/.f64 (pow.f64 (cbrt.f64 2) 2) (pow.f64 h 6)) (+.f64 (/.f64 (/.f64 1/864 a) (pow.f64 g 5)) (/.f64 (/.f64 -13/144 a) (pow.f64 g 5)))) (cbrt.f64 (*.f64 (/.f64 a g) (/.f64 a g))))) (fma.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 2)) (fma.f64 -1/6 (*.f64 (/.f64 h (/.f64 (/.f64 (pow.f64 (cbrt.f64 2) 2) (cbrt.f64 -1/2)) h)) (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))))) (*.f64 -1/18 (/.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (/.f64 (pow.f64 (cbrt.f64 2) 2) (*.f64 (cbrt.f64 -1/2) (pow.f64 h 4))))))))
(fma.f64 (cbrt.f64 (*.f64 a (/.f64 a (*.f64 g g)))) (*.f64 (/.f64 (*.f64 1/3 (cbrt.f64 -1/2)) (pow.f64 (cbrt.f64 2) 2)) (*.f64 (*.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)) -77/864) (pow.f64 h 6))) (fma.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 2)) (fma.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5))) (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) -1/6) (pow.f64 (cbrt.f64 2) 2)) (*.f64 h h)) (/.f64 (*.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 h 4)) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11)))) (/.f64 (pow.f64 (cbrt.f64 2) 2) -1/18)))))

localize142.0ms (1.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.5b
(/.f64 1/2 (/.f64 g (*.f64 h h)))
2.4b
(+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g))
6.7b
(/.f64 g (*.f64 h h))
18.3b
(cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))
Compiler

Compiled 223 to 96 computations (57% saved)

series6.0ms (0.1%)

Counts
1 → 4
Calls

9 calls:

TimeVariablePointExpression
1.0ms
g
@-inf
(cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))
1.0ms
h
@0
(cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))
1.0ms
g
@0
(cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))
1.0ms
g
@inf
(cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))
1.0ms
h
@inf
(cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))

rewrite92.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
840×associate-/r/
767×associate-/l/
160×add-sqr-sqrt-binary64
154×*-un-lft-identity-binary64
154×pow1-binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01324
130522
2492522
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)) (cbrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 1/2 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (fma.f64 (/.f64 1/2 g) (*.f64 h h) (+.f64 g g)) a)))))))))

simplify88.0ms (0.8%)

Algorithm
egg-herbie
Rules
720×associate-*r/
616×fma-def
570×unswap-sqr
559×*-commutative
495×associate-*l/
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
060268
1163268
2504268
31935268
45606258
56854250
67397250
Stop Event
node limit
Counts
29 → 33
Calls
Call 1
Inputs
(*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 -2) 2)))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (+.f64 (*.f64 -1/36 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 -2) 5)))) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 -2) 2))))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (+.f64 (*.f64 5/648 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 17))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 6)) (pow.f64 (cbrt.f64 -2) 8)))) (+.f64 (*.f64 -1/36 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 -2) 5)))) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 -2) 2)))))))
Outputs
(*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)))
(*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 -2) 2)))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (*.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h))))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5))) (*.f64 (*.f64 h h) (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 2)))) (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (*.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (*.f64 (cbrt.f64 1/2) (*.f64 h h)) (pow.f64 (cbrt.f64 -2) 2)))))
(*.f64 (cbrt.f64 1/2) (+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -2)) (/.f64 (*.f64 1/6 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h)))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (+.f64 (*.f64 -1/36 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 -2) 5)))) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 -2) 2))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 -1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (/.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 (cbrt.f64 -2) 5) (pow.f64 h 4)))) (*.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h)))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h)))) (*.f64 -1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (*.f64 (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 5)) (pow.f64 h 4))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5))) (*.f64 (*.f64 h h) (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 2)))) (*.f64 (*.f64 (pow.f64 h 4) (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 5))) (*.f64 -1/36 (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 g 11)) a))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (*.f64 (cbrt.f64 1/2) (*.f64 h h)) (pow.f64 (cbrt.f64 -2) 2))) (*.f64 -1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 -2) 5))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (*.f64 (cbrt.f64 1/2) (+.f64 (/.f64 (*.f64 1/6 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h))) (/.f64 (*.f64 -1/36 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11)))) (/.f64 (pow.f64 (cbrt.f64 -2) 5) (pow.f64 h 4))))))
(*.f64 (cbrt.f64 1/2) (+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -2)) (+.f64 (/.f64 (*.f64 1/6 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h))) (/.f64 (*.f64 -1/36 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11)))) (/.f64 (pow.f64 (cbrt.f64 -2) 5) (pow.f64 h 4))))))
(*.f64 (cbrt.f64 1/2) (+.f64 (/.f64 (*.f64 (pow.f64 h 4) (*.f64 -1/36 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11))))) (pow.f64 (cbrt.f64 -2) 5)) (+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -2)) (/.f64 (*.f64 1/6 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h))))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (+.f64 (*.f64 5/648 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 17))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 6)) (pow.f64 (cbrt.f64 -2) 8)))) (+.f64 (*.f64 -1/36 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 -2) 5)))) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 2)) (pow.f64 (cbrt.f64 -2) 2)))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 5/648 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 17)))) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 6)) (pow.f64 (cbrt.f64 -2) 8))) (fma.f64 -1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (/.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 (cbrt.f64 -2) 5) (pow.f64 h 4)))) (*.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h))))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 5/648 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 17)))) (*.f64 (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 8)) (pow.f64 h 6))) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h)))) (*.f64 -1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (*.f64 (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 5)) (pow.f64 h 4)))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5))) (*.f64 (*.f64 h h) (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 2)))) (fma.f64 -1/36 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 g 11)) a)) (*.f64 (pow.f64 h 4) (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 5)))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 17)))) (*.f64 (/.f64 (cbrt.f64 1/2) (pow.f64 (cbrt.f64 -2) 8)) (*.f64 (pow.f64 h 6) 5/648))))))
(fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2)) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (*.f64 (cbrt.f64 1/2) (*.f64 h h)) (pow.f64 (cbrt.f64 -2) 2))) (fma.f64 -1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (/.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 h 4)) (pow.f64 (cbrt.f64 -2) 5))) (*.f64 5/648 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 17)))) (*.f64 (cbrt.f64 1/2) (/.f64 (pow.f64 h 6) (pow.f64 (cbrt.f64 -2) 8))))))))
(+.f64 (*.f64 (cbrt.f64 1/2) (+.f64 (/.f64 (*.f64 1/6 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h))) (/.f64 (*.f64 -1/36 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11)))) (/.f64 (pow.f64 (cbrt.f64 -2) 5) (pow.f64 h 4))))) (*.f64 (cbrt.f64 1/2) (+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -2)) (/.f64 (*.f64 5/648 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 17)))) (/.f64 (pow.f64 (cbrt.f64 -2) 8) (pow.f64 h 6))))))
(*.f64 (cbrt.f64 1/2) (+.f64 (+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -2)) (/.f64 (*.f64 -1/36 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11)))) (/.f64 (pow.f64 (cbrt.f64 -2) 5) (pow.f64 h 4)))) (+.f64 (/.f64 (*.f64 5/648 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 17)))) (/.f64 (pow.f64 (cbrt.f64 -2) 8) (pow.f64 h 6))) (/.f64 (*.f64 1/6 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h))))))
(*.f64 (cbrt.f64 1/2) (+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -2)) (+.f64 (/.f64 (*.f64 -1/36 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11)))) (/.f64 (pow.f64 (cbrt.f64 -2) 5) (pow.f64 h 4))) (+.f64 (/.f64 (*.f64 5/648 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 17)))) (/.f64 (pow.f64 (cbrt.f64 -2) 8) (pow.f64 h 6))) (/.f64 (*.f64 1/6 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 -2) 2) (*.f64 h h)))))))

localize135.0ms (1.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.0b
(-.f64 (*.f64 g g) (*.f64 h h))
10.5b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
31.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
42.3b
(cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))
Compiler

Compiled 186 to 64 computations (65.6% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
g
@0
(cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))
0.0ms
g
@inf
(cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))
0.0ms
h
@inf
(cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))
0.0ms
h
@0
(cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))
0.0ms
h
@-inf
(cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))

rewrite62.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
952×pow1-binary64
895×add-exp-log-binary64
895×expm1-log1p-u-binary64
895×log1p-expm1-u-binary64
103×add-sqr-sqrt-binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0915
120112
2271312
Stop Event
node limit
Counts
1 → 26
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2)) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/4) 1/3) (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/4) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6))) (sqrt.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4))) (sqrt.f64 (fma.f64 g g (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))

simplify64.0ms (0.6%)

Algorithm
egg-herbie
Rules
615×times-frac
520×associate-/r/
486×associate-+r+
477×associate-+l+
382×unswap-sqr
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
072643
1219625
2769613
33724609
46543609
Stop Event
node limit
Counts
50 → 56
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (*.f64 (sqrt.f64 -1) h)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
g
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) g)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(*.f64 -1 g)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 -1 g))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1 g) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1 g) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
g
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) g)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (*.f64 (sqrt.f64 -1) h)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
(*.f64 -1 (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (*.f64 -1 (*.f64 (sqrt.f64 -1) h)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (*.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))) (*.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))))))
Outputs
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (*.f64 (sqrt.f64 -1) h))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (*.f64 (sqrt.f64 -1) h))
(fma.f64 (sqrt.f64 -1) h (*.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1)))))
(fma.f64 1/2 (/.f64 g (*.f64 (/.f64 (sqrt.f64 -1) g) h)) (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (*.f64 (sqrt.f64 -1) h)))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (*.f64 (sqrt.f64 -1) h)))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) h (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))))))
(fma.f64 (sqrt.f64 -1) h (fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (*.f64 (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (/.f64 1/8 (sqrt.f64 -1)))))
(fma.f64 (sqrt.f64 -1) h (*.f64 (/.f64 g (/.f64 (sqrt.f64 -1) g)) (+.f64 (/.f64 1/2 h) (/.f64 (*.f64 (*.f64 g g) -1/8) (neg.f64 (pow.f64 h 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h (/.f64 (*.f64 1/16 (pow.f64 g 6)) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5))))))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) h (fma.f64 (/.f64 1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
(fma.f64 1/2 (/.f64 g (*.f64 (/.f64 (sqrt.f64 -1) g) h)) (fma.f64 (sqrt.f64 -1) h (fma.f64 (/.f64 1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (*.f64 (/.f64 (pow.f64 g 6) (pow.f64 h 5)) (/.f64 1/16 (pow.f64 (sqrt.f64 -1) 5))))))
g
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) g)
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) g)
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) g)
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) g)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 h h) g) g) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) g))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/2 (*.f64 (/.f64 h g) h) g))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/2 (/.f64 h (/.f64 g h)) g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) g)))
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) g)))
(*.f64 -1 g)
(neg.f64 g)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 -1 g))
(fma.f64 1/2 (/.f64 (*.f64 h h) g) (neg.f64 g))
(fma.f64 1/2 (/.f64 h (/.f64 g h)) (neg.f64 g))
(-.f64 (*.f64 1/2 (*.f64 (/.f64 h g) h)) g)
(-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1 g) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(fma.f64 1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1 g (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8)))
(fma.f64 1/2 (/.f64 h (/.f64 g h)) (-.f64 (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8) g))
(fma.f64 1/2 (*.f64 (/.f64 h g) h) (-.f64 (*.f64 (/.f64 1/8 (pow.f64 g 3)) (pow.f64 h 4)) g))
(-.f64 (*.f64 (/.f64 1/8 (pow.f64 g 3)) (pow.f64 h 4)) (fma.f64 -1/2 (/.f64 h (/.f64 g h)) g))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1 g) (*.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1 g (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8))))
(fma.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 1/2 (/.f64 h (/.f64 g h)) (-.f64 (*.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8) g)))
(fma.f64 1/2 (*.f64 (/.f64 h g) h) (-.f64 (fma.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8 (*.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)))) g))
(-.f64 (fma.f64 1/2 (/.f64 h (/.f64 g h)) (*.f64 1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)))) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) g))
(-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) g)))
g
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) g)
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) g)
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) g)
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) g)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 h h) g) g) (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) g))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/2 (*.f64 (/.f64 h g) h) g))
(fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/2 (/.f64 h (/.f64 g h)) g))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5))) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 (*.f64 h h) g) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (+.f64 g (*.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) g)))
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) (fma.f64 -1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (fma.f64 -1/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) g)))
(*.f64 (sqrt.f64 -1) h)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (*.f64 (sqrt.f64 -1) h))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (*.f64 (sqrt.f64 -1) h))
(fma.f64 (sqrt.f64 -1) h (*.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1)))))
(fma.f64 1/2 (/.f64 g (*.f64 (/.f64 (sqrt.f64 -1) g) h)) (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (*.f64 (sqrt.f64 -1) h)))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (*.f64 (sqrt.f64 -1) h)))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) h (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))))))
(fma.f64 (sqrt.f64 -1) h (fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (*.f64 (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (/.f64 1/8 (sqrt.f64 -1)))))
(fma.f64 (sqrt.f64 -1) h (*.f64 (/.f64 g (/.f64 (sqrt.f64 -1) g)) (+.f64 (/.f64 1/2 h) (/.f64 (*.f64 (*.f64 g g) -1/8) (neg.f64 (pow.f64 h 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (sqrt.f64 -1) h) (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
(fma.f64 1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h (/.f64 (*.f64 1/16 (pow.f64 g 6)) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5))))))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 -1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) (fma.f64 (sqrt.f64 -1) h (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
(fma.f64 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) h (fma.f64 (/.f64 1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (*.f64 1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))))))
(fma.f64 1/2 (/.f64 g (*.f64 (/.f64 (sqrt.f64 -1) g) h)) (fma.f64 (sqrt.f64 -1) h (fma.f64 (/.f64 1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (*.f64 (/.f64 (pow.f64 g 6) (pow.f64 h 5)) (/.f64 1/16 (pow.f64 (sqrt.f64 -1) 5))))))
(*.f64 -1 (*.f64 (sqrt.f64 -1) h))
(neg.f64 (*.f64 (sqrt.f64 -1) h))
(*.f64 h (neg.f64 (sqrt.f64 -1)))
(*.f64 (sqrt.f64 -1) (neg.f64 h))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (*.f64 -1 (*.f64 (sqrt.f64 -1) h)))
(fma.f64 -1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (neg.f64 (*.f64 (sqrt.f64 -1) h)))
(fma.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2 (*.f64 h (neg.f64 (sqrt.f64 -1))))
(-.f64 (*.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2) (*.f64 (sqrt.f64 -1) h))
(-.f64 (/.f64 (*.f64 g (*.f64 g -1/2)) (*.f64 (sqrt.f64 -1) h)) (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (*.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))))))
(fma.f64 -1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1 (*.f64 (sqrt.f64 -1) h) (*.f64 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) 1/8)))
(fma.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2 (-.f64 (*.f64 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) 1/8) (*.f64 (sqrt.f64 -1) h)))
(-.f64 (fma.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2 (*.f64 (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (/.f64 -1/8 (sqrt.f64 -1)))) (*.f64 (sqrt.f64 -1) h))
(-.f64 (*.f64 (/.f64 g (/.f64 (sqrt.f64 -1) g)) (+.f64 (/.f64 -1/2 h) (/.f64 (*.f64 (*.f64 g g) 1/8) (neg.f64 (pow.f64 h 3))))) (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 g 2) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))) (*.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))))))
(fma.f64 -1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1 (*.f64 (sqrt.f64 -1) h) (fma.f64 -1/16 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5))) (*.f64 (/.f64 (pow.f64 g 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) 1/8))))
(fma.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2 (-.f64 (fma.f64 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) 1/8 (*.f64 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5))) -1/16)) (*.f64 (sqrt.f64 -1) h)))
(-.f64 (fma.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -1/2 (fma.f64 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5))) -1/16 (*.f64 (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (/.f64 -1/8 (sqrt.f64 -1))))) (*.f64 (sqrt.f64 -1) h))
(-.f64 (*.f64 (/.f64 g (/.f64 (sqrt.f64 -1) g)) (+.f64 (/.f64 -1/2 h) (/.f64 (*.f64 (*.f64 g g) 1/8) (neg.f64 (pow.f64 h 3))))) (fma.f64 (/.f64 1/16 (pow.f64 (sqrt.f64 -1) 5)) (/.f64 (pow.f64 g 6) (pow.f64 h 5)) (*.f64 (sqrt.f64 -1) h)))
(-.f64 (*.f64 (/.f64 (pow.f64 g 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5))) -1/16) (fma.f64 (sqrt.f64 -1) h (*.f64 (/.f64 g (/.f64 (sqrt.f64 -1) g)) (+.f64 (/.f64 1/2 h) (/.f64 (*.f64 (*.f64 g g) -1/8) (neg.f64 (pow.f64 h 3)))))))

eval881.0ms (7.6%)

Compiler

Compiled 57000 to 28430 computations (50.1% saved)

prune291.0ms (2.5%)

Pruning

42 alts after pruning (39 fresh and 3 done)

PrunedKeptTotal
New1289101299
Fresh62935
Picked101
Done336
Total1299421341
Error
0.6b
Counts
1341 → 42
Alt Table
Click to see full alt table
StatusErrorProgram
20.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 (neg.f64 g) a)))
19.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))) (cbrt.f64 (*.f64 (*.f64 h (*.f64 h (/.f64 1/2 g))) (/.f64 -1/2 a))))
48.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) (/.f64 -1/2 a))))
48.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 (*.f64 (/.f64 -1/2 a) (*.f64 2 (pow.f64 g 3))) (fma.f64 g g 0))))
2.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (cbrt.f64 g) (cbrt.f64 (neg.f64 a))))
2.2b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (/.f64 1/2 (/.f64 (/.f64 g h) h)) (+.f64 g g)))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
20.4b
(+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
23.7b
(+.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
20.2b
(+.f64 (cbrt.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) 2) (/.f64 (*.f64 a 2) (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
47.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (cbrt.f64 (/.f64 -1/2 a)) (/.f64 1 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))
63.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (+.f64 g g) (cbrt.f64 a)))
63.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 1 (cbrt.f64 (/.f64 a g))))
48.8b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2)) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
50.0b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (exp.f64 (*.f64 (*.f64 -2 (log.f64 (/.f64 -1 g))) 1/2)) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
38.7b
(+.f64 (cbrt.f64 (*.f64 (*.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) (cbrt.f64 (/.f64 1/4 (*.f64 a a)))) (cbrt.f64 (/.f64 1/2 a)))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
44.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g g) (sqrt.f64 a)) (/.f64 -1/2 (sqrt.f64 a)))))
6.0b
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (pow.f64 (cbrt.f64 a) 2))) (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
21.5b
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))) 3) (cbrt.f64 (*.f64 (*.f64 h (*.f64 h (/.f64 1/2 g))) (/.f64 -1/2 a))))
6.3b
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (*.f64 (cbrt.f64 (cbrt.f64 a)) (cbrt.f64 (cbrt.f64 a)))) (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
63.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 g a)))
38.2b
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (sqrt.f64 a))) (cbrt.f64 (sqrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
20.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
38.1b
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (sqrt.f64 (cbrt.f64 a))) (sqrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
41.9b
(+.f64 (cbrt.f64 (exp.f64 (log.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
20.0b
(+.f64 (cbrt.f64 (/.f64 (/.f64 1/2 a) (/.f64 1 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
49.9b
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
43.1b
(+.f64 (pow.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)) 1/3) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
5.5b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (*.f64 (*.f64 h (*.f64 h (/.f64 1/2 g))) (/.f64 -1/2 a))))
37.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 3))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
20.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))) (cbrt.f64 (*.f64 (exp.f64 (log.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))) (/.f64 -1/2 a))))
20.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 2))))
20.0b
(+.f64 (cbrt.f64 (/.f64 (neg.f64 g) a)) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
47.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))))))
61.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (*.f64 (/.f64 1/2 g) (*.f64 h h)) (/.f64 -1/2 a))))
38.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
52.9b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
20.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g g))) (/.f64 -1/2 a))))
48.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)))))))
60.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (*.f64 (+.f64 g g) (cbrt.f64 (/.f64 -1/2 a))))
62.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
42.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (exp.f64 (*.f64 (log.f64 (/.f64 (neg.f64 g) a)) 1/3)))
20.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g g) (pow.f64 (cbrt.f64 a) 2)) (/.f64 -1/2 (cbrt.f64 a)))))
Compiler

Compiled 1324 to 889 computations (32.9% saved)

regimes482.0ms (4.2%)

Counts
103 → 1
Calls
Call 1
Inputs
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 g a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 (neg.f64 g) a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 1 (cbrt.f64 (/.f64 a g))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (+.f64 g g) (cbrt.f64 a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (*.f64 (+.f64 g g) (cbrt.f64 (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g g))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (*.f64 (/.f64 1/2 g) (*.f64 h h)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (/.f64 (neg.f64 g) a)) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))) (cbrt.f64 (*.f64 (*.f64 h (*.f64 h (/.f64 1/2 g))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (pow.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)) 1/3) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (cbrt.f64 g) (cbrt.f64 (neg.f64 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (exp.f64 (*.f64 (log.f64 (/.f64 (neg.f64 g) a)) 1/3)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/3))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (neg.f64 g) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a))))
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (*.f64 (*.f64 h (*.f64 h (/.f64 1/2 g))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (/.f64 1/2 (/.f64 a (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (pow.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)) 1/3) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (/.f64 1/2 (/.f64 (/.f64 g h) h)) (+.f64 g g)))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (/.f64 (/.f64 1/2 a) (/.f64 1 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 2))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 2) (cbrt.f64 (/.f64 g a)))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g g) (sqrt.f64 a)) (/.f64 -1/2 (sqrt.f64 a)))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 (*.f64 (/.f64 -1/2 a) (*.f64 2 (pow.f64 g 3))) (fma.f64 g g 0))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (exp.f64 (*.f64 (log.f64 (/.f64 (neg.f64 g) a)) 1/3)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (*.f64 g -2))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g g))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (cbrt.f64 (/.f64 -1/2 a)) (/.f64 1 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))
(+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2))) (/.f64 -1/2 a))))
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (/.f64 -1/2 g) (*.f64 h h)))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (*.f64 (/.f64 -1/2 g) (*.f64 h h)))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))) 3) (cbrt.f64 (*.f64 (*.f64 h (*.f64 h (/.f64 1/2 g))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/3))
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (exp.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) 1/3)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (pow.f64 (pow.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)) 1/6) 2) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))) 3) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.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)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g g) (pow.f64 (cbrt.f64 a) 2)) (/.f64 -1/2 (cbrt.f64 a)))))
(+.f64 (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 1/2) (cbrt.f64 -2))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 2) (cbrt.f64 (/.f64 g a)))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 3) (/.f64 -1/2 a))))
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2)) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (/.f64 (*.f64 h h) (/.f64 a 1/4)))) 1/3)))
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.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)))) -1/2)) (cbrt.f64 a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))) (cbrt.f64 (*.f64 (exp.f64 (log.f64 (-.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) g) g))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1/3)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 1/3) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (exp.f64 (log.f64 (*.f64 (/.f64 1/2 a) (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)))) 3) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (*.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))) (cbrt.f64 (/.f64 1/4 (*.f64 a a)))) (cbrt.f64 (/.f64 1/2 a)))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (exp.f64 (*.f64 (*.f64 -2 (log.f64 (/.f64 -1 g))) 1/2)) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))))))
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) (/.f64 -1/2 a))))
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2)) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (sqrt.f64 a))) (cbrt.f64 (sqrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (sqrt.f64 (cbrt.f64 a))) (sqrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) (fma.f64 g g (-.f64 (*.f64 g g) (+.f64 (*.f64 h h) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (/.f64 -1/2 a))))
(+.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 3))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (pow.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) 2))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)))))
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (sqrt.f64 (cbrt.f64 a))) (sqrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (pow.f64 (cbrt.f64 a) 2))) (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g)))) 2) (/.f64 (*.f64 a 2) (cbrt.f64 (fma.f64 (*.f64 1/2 h) (/.f64 h g) (neg.f64 (+.f64 g g))))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a))))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (cbrt.f64 (pow.f64 (cbrt.f64 a) 2))) (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (*.f64 (cbrt.f64 (cbrt.f64 a)) (cbrt.f64 (cbrt.f64 a)))) (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (pow.f64 (sqrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 1/3)))
(+.f64 (/.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)))) (*.f64 (cbrt.f64 (cbrt.f64 a)) (cbrt.f64 (cbrt.f64 a)))) (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (fma.f64 (cbrt.f64 (pow.f64 g 4)) (pow.f64 (cbrt.f64 g) 2) (*.f64 h (neg.f64 h))))))))
Outputs
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (cbrt.f64 g) (cbrt.f64 (neg.f64 a))))
Calls

7 calls:

64.0ms
(*.f64 2 a)
61.0ms
g
58.0ms
(/.f64 1 (*.f64 2 a))
55.0ms
h
52.0ms
a
Results
ErrorSegmentsBranch
2.1b1g
2.1b1h
2.1b1a
2.1b1(+.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)))))))
2.1b1(/.f64 1 (*.f64 2 a))
2.1b1(*.f64 2 a)
2.1b1(*.f64 h h)
Compiler

Compiled 3252 to 1470 computations (54.8% saved)

regimes44.0ms (0.4%)

Counts
13 → 1
Calls
Call 1
Inputs
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 g a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 (neg.f64 g) a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 1 (cbrt.f64 (/.f64 a g))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (+.f64 g g) (cbrt.f64 a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (*.f64 (+.f64 g g) (cbrt.f64 (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g g))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (*.f64 (/.f64 1/2 g) (*.f64 h h)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (/.f64 (neg.f64 g) a)) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))) (cbrt.f64 (*.f64 (*.f64 h (*.f64 h (/.f64 1/2 g))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (pow.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 (/.f64 g (*.f64 h h))) (+.f64 g g)) a)) 1/3) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
Outputs
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))) (cbrt.f64 (*.f64 (*.f64 h (*.f64 h (/.f64 1/2 g))) (/.f64 -1/2 a))))
Calls

5 calls:

8.0ms
h
8.0ms
a
8.0ms
g
7.0ms
(*.f64 h h)
5.0ms
(*.f64 h h)
Results
ErrorSegmentsBranch
19.4b1g
19.4b1h
19.4b1a
19.4b1(*.f64 h h)
19.4b1(*.f64 h h)
Compiler

Compiled 296 to 170 computations (42.6% saved)

regimes33.0ms (0.3%)

Counts
10 → 1
Calls
Call 1
Inputs
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 g a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 (neg.f64 g) a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 1 (cbrt.f64 (/.f64 a g))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (+.f64 g g) (cbrt.f64 a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (*.f64 (+.f64 g g) (cbrt.f64 (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g g))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (*.f64 (/.f64 1/2 g) (*.f64 h h)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (/.f64 (neg.f64 g) a)) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
Outputs
(+.f64 (cbrt.f64 (/.f64 (neg.f64 g) a)) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
Calls

5 calls:

7.0ms
h
6.0ms
a
6.0ms
g
4.0ms
(*.f64 h h)
4.0ms
(*.f64 h h)
Results
ErrorSegmentsBranch
20.0b1g
20.0b1h
20.0b1a
20.0b1(*.f64 h h)
20.0b1(*.f64 h h)
Compiler

Compiled 200 to 118 computations (41% saved)

regimes29.0ms (0.3%)

Counts
9 → 1
Calls
Call 1
Inputs
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 g a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 (neg.f64 g) a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 1 (cbrt.f64 (/.f64 a g))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (+.f64 g g) (cbrt.f64 a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (*.f64 (+.f64 g g) (cbrt.f64 (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g g))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (*.f64 (/.f64 1/2 g) (*.f64 h h)) (/.f64 -1/2 a))))
Outputs
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g g))) (/.f64 -1/2 a))))
Calls

4 calls:

7.0ms
h
6.0ms
g
6.0ms
a
4.0ms
(*.f64 h h)
Results
ErrorSegmentsBranch
20.1b1g
20.1b1h
20.1b1a
20.1b1(*.f64 h h)
Compiler

Compiled 172 to 103 computations (40.1% saved)

regimes21.0ms (0.2%)

Accuracy

Total -43.2b remaining (-214.8%)

Threshold costs -43.2b (-214.8%)

Counts
7 → 1
Calls
Call 1
Inputs
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 g a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 (neg.f64 g) a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 1 (cbrt.f64 (/.f64 a g))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (+.f64 g g) (cbrt.f64 a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (*.f64 (+.f64 g g) (cbrt.f64 (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
Outputs
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 (neg.f64 g) a)))
Calls

3 calls:

6.0ms
a
5.0ms
g
5.0ms
h
Results
ErrorSegmentsBranch
20.1b1g
20.1b1h
20.1b1a
Compiler

Compiled 124 to 73 computations (41.1% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
13×+-commutative
12×*-commutative
sub-neg
neg-mul-1
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047176
174176
283176
387176
488176
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (cbrt.f64 g) (cbrt.f64 (neg.f64 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))) (cbrt.f64 (*.f64 (*.f64 h (*.f64 h (/.f64 1/2 g))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (/.f64 (neg.f64 g) a)) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g g))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 (neg.f64 g) a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 g a)))
Outputs
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (/.f64 (cbrt.f64 g) (cbrt.f64 (neg.f64 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g) g))) (cbrt.f64 (*.f64 (*.f64 h (*.f64 h (/.f64 1/2 g))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (/.f64 (neg.f64 g) a)) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (/.f64 (neg.f64 g) a)) (cbrt.f64 (*.f64 (/.f64 -1/2 a) (+.f64 g (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) g)))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (+.f64 g g))) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (*.f64 (/.f64 -1/2 a) (/.f64 1 (/.f64 1 (+.f64 g g))))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 (neg.f64 g) a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 g a)))
Compiler

Compiled 132 to 93 computations (29.5% saved)

soundness310.0ms (2.7%)

Algorithm
egg-herbie
Rules
433×fma-neg
424×*-commutative
409×distribute-lft-out
361×associate--r-
337×+-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02052
15450
216050
348648
4132348
5276248
6430148
7597848
8677448
9736548
06144
110144
217144
323144
429144
539144
647144
755144
863144
993144
Stop Event
saturated
node limit
Compiler

Compiled 568 to 336 computations (40.8% saved)

end67.0ms (0.6%)

Compiler

Compiled 117 to 70 computations (40.2% saved)

Profiling

Loading profile data...