Details

Time bar (total: 14.3s)

analyze567.0ms (4%)

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)

sample2.0s (14.1%)

Results
1.7s8256×body256valid
254.0ms1415×body256invalid

preprocess61.0ms (0.4%)

Algorithm
egg-herbie
Rules
780×associate-/l*
667×associate-/r*
357×fma-def
357×associate-+l+
284×distribute-lft-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054208
1164200
2559200
31771192
45125192
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)

simplify104.0ms (0.7%)

Algorithm
egg-herbie
Rules
433×fma-neg
417×*-commutative
410×distribute-lft-out
380×associate--r-
338×+-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02052
15350
215950
347948
4128048
5271648
6425048
7591448
8675048
9734748
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))))
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (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
39.2b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
39.2b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (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)

localize37.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.8b
(-.f64 (*.f64 g g) (*.f64 h h))
7.9b
(cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
9.4b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
32.8b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 140 to 35 computations (75% saved)

series51.0ms (0.4%)

Counts
4 → 60
Calls

30 calls:

TimeVariablePointExpression
14.0ms
h
@-inf
(cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
5.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 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
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)))

rewrite92.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
561×frac-times
358×associate-*r/
267×associate-*r*
256×associate-*l/
240×associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01668
18568
270068
Stop Event
node limit
Counts
4 → 229
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 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
(-.f64 (*.f64 g g) (*.f64 h h))
Outputs
((#(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 (+.f64 g h)) (sqrt.f64 (-.f64 g 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 (sqrt.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4))) (/.f64 1 (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))) (/.f64 1 (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 (pow.f64 (+.f64 g h) 1/2) (pow.f64 (-.f64 g 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 1 (/.f64 (sqrt.f64 (fma.f64 g g (*.f64 h h))) (sqrt.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) (sqrt.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6)))))))) (#(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 /.f64 (neg.f64 (sqrt.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4)))) (neg.f64 (sqrt.f64 (fma.f64 g g (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6)))) (neg.f64 (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 exp.f64 (*.f64 1/2 (log.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 (/.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 (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 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (/.f64 1 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 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (/.f64 1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 -1/2)) (cbrt.f64 (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 a -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 (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 -1/2)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.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 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1) (cbrt.f64 (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 1/2)) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/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 (fma.f64 g g (*.f64 h h)) (*.f64 g g))) (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 (*.f64 (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (cbrt.f64 (/.f64 -1/2 a))) (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 1 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (*.f64 (cbrt.f64 (*.f64 a -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 -1/2) (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (*.f64 (cbrt.f64 a) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (*.f64 (cbrt.f64 (neg.f64 a)) (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 (fma.f64 g g (*.f64 h h)) (*.f64 g g))) 1) (*.f64 (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 a -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g))) (cbrt.f64 -1/2)) (*.f64 (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g))) (cbrt.f64 1/2)) (*.f64 (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (neg.f64 a))))))) (#(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))) 1) (*.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 a -2))))))) (#(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 -1/2)) (*.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 a)))))) (#(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 1/2)) (*.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 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (*.f64 (cbrt.f64 (*.f64 a -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 -1/2) (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (*.f64 (cbrt.f64 a) (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 1/2) (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (*.f64 (cbrt.f64 (neg.f64 a)) (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 (neg.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2))) (neg.f64 (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 exp.f64 (*.f64 1/3 (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 (/.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 (pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1/6) (pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (/.f64 1 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 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 -1/2)) (cbrt.f64 (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (-.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 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 -1/2)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.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 (cbrt.f64 (/.f64 -1/2 a)) (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 (*.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 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1) (cbrt.f64 (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 1/2)) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g))) (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 (*.f64 (cbrt.f64 (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (cbrt.f64 (/.f64 -1/2 a))) (cbrt.f64 (fma.f64 g 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 1 (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (*.f64 (cbrt.f64 (*.f64 a -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 -1/2) (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (*.f64 (cbrt.f64 a) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (*.f64 (cbrt.f64 (neg.f64 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (cbrt.f64 (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (*.f64 (cbrt.f64 (*.f64 a -2)) (cbrt.f64 (fma.f64 g 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 (cbrt.f64 -1/2) (cbrt.f64 (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (*.f64 (cbrt.f64 a) (cbrt.f64 (fma.f64 g 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 (cbrt.f64 1/2) (cbrt.f64 (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (*.f64 (cbrt.f64 (neg.f64 a)) (cbrt.f64 (fma.f64 g 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 (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g))) 1) (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 a -2))))))) (#(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))) 1) (*.f64 (cbrt.f64 (fma.f64 g g (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (cbrt.f64 (*.f64 a -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g))) (cbrt.f64 -1/2)) (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 a)))))) (#(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 -1/2)) (*.f64 (cbrt.f64 (fma.f64 g g (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g))) (cbrt.f64 1/2)) (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (neg.f64 a))))))) (#(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 1/2)) (*.f64 (cbrt.f64 (fma.f64 g g (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (cbrt.f64 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (neg.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 1/3 (log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (neg.f64 (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (neg.f64 (*.f64 h h)) (*.f64 0 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (+.f64 (neg.f64 (*.f64 h h)) (*.f64 0 (*.f64 h h))) (*.f64 0 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (neg.f64 (*.f64 h h)) (*.f64 2 (*.f64 0 (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (+.f64 (+.f64 (neg.f64 (*.f64 h h)) (*.f64 0 (*.f64 h h))) (*.f64 2 (*.f64 0 (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g g) (neg.f64 (-.f64 (*.f64 h h) (*.f64 0 (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 0 (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 2 (*.f64 0 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (*.f64 2 (*.f64 0 (*.f64 h h))) (*.f64 0 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (*.f64 0 (*.f64 h h)) (*.f64 2 (*.f64 0 (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (*.f64 2 (*.f64 0 (*.f64 h h))) (*.f64 2 (*.f64 0 (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 h h)) (*.f64 g g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 h h)) (+.f64 (*.f64 g g) (*.f64 0 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 h h)) (+.f64 (*.f64 g g) (*.f64 2 (*.f64 0 (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 h h)) (+.f64 (*.f64 h h) (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 h h)) (-.f64 (*.f64 g g) (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (neg.f64 (*.f64 h h)) (*.f64 0 (*.f64 h h))) (*.f64 g g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 0 (*.f64 h h))) (-.f64 (*.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))) (neg.f64 (/.f64 (pow.f64 h 4) (fma.f64 g g (*.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)))) (neg.f64 (/.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 (*.f64 g g) (*.f64 h h)) (neg.f64 (*.f64 h h))) (*.f64 h h))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 0 (*.f64 h h)) (*.f64 g g)) (neg.f64 (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 0 (*.f64 h h)) (*.f64 g g)) (+.f64 (neg.f64 (*.f64 h h)) (*.f64 0 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 g h) g) (*.f64 (+.f64 g h) (neg.f64 h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 g h) g) (*.f64 (-.f64 g h) h))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 g h) h) (*.f64 (-.f64 g h) g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g (+.f64 g h)) (*.f64 (neg.f64 h) (+.f64 g h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 g (-.f64 g h)) (*.f64 h (-.f64 g h)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 h (-.f64 g h)) (*.f64 g (-.f64 g h)))))) (#(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 (+.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 (fma.f64 g g (*.f64 h h)) (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (/.f64 1 (fma.f64 g g (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (neg.f64 (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 (-.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 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))) (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (/.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 (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 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (*.f64 0 (*.f64 h h)) (*.f64 0 (*.f64 h h)))) (/.f64 1 (-.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 0 (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (-.f64 g h) (neg.f64 (+.f64 g h))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 g g (*.f64 h h))) (-.f64 (pow.f64 g 4) (pow.f64 h 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.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 6) (pow.f64 (neg.f64 (*.f64 h h)) 3)) (/.f64 1 (+.f64 (pow.f64 g 4) (-.f64 (*.f64 1 (pow.f64 h 4)) (neg.f64 (pow.f64 (*.f64 g h) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 (*.f64 0 (*.f64 h h)) 3)) (/.f64 1 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (*.f64 0 (*.f64 h h)) (-.f64 (*.f64 0 (*.f64 h h)) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4))) (/.f64 1 (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))) (/.f64 1 (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 *.f64 (sqrt.f64 (+.f64 g h)) (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 g h) 1/2) (*.f64 (pow.f64 (-.f64 g h) 1/2) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(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))) (sqrt.f64 (+.f64 g h))) (sqrt.f64 (-.f64 g h)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (pow.f64 (+.f64 g h) 1/2)) (pow.f64 (-.f64 g h) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4)) (-.f64 (pow.f64 g 4) (pow.f64 h 4))) (-.f64 (*.f64 g g) (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4)) (+.f64 (pow.f64 g 6) (pow.f64 h 6))) (-.f64 (+.f64 (pow.f64 g 4) (pow.f64 h 4)) (pow.f64 (*.f64 g h) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6)) (-.f64 (pow.f64 g 8) (*.f64 (pow.f64 h 4) (*.f64 (fma.f64 g g (*.f64 h h)) (fma.f64 g g (*.f64 h h)))))) (-.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4)) (pow.f64 (*.f64 g h) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6)) (+.f64 (pow.f64 (pow.f64 g 4) 3) (pow.f64 (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)) 3))) (+.f64 (pow.f64 g 8) (*.f64 (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)) (-.f64 (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)) (pow.f64 g 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (+.f64 g h))) (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (-.f64 g h))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (+.f64 g h) 1/2) (pow.f64 (+.f64 g h) 1/2)) (*.f64 (pow.f64 (-.f64 g h) 1/2) (pow.f64 (-.f64 g h) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 g 1) h) (-.f64 (pow.f64 g 1) h))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 g (pow.f64 h 1)) (-.f64 g (pow.f64 h 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 g 1) (pow.f64 h 1)) (-.f64 (pow.f64 g 1) (pow.f64 h 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) 1/4) (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) 1/4))))) (#(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 (fma.f64 g g (*.f64 h h)) (/.f64 (fma.f64 g g (*.f64 h h)) (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 1 (-.f64 (*.f64 g g) (*.f64 h h))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 0 (*.f64 h h))) (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (*.f64 0 (*.f64 h h)) (*.f64 0 (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 g 4) (-.f64 (*.f64 1 (pow.f64 h 4)) (neg.f64 (pow.f64 (*.f64 g h) 2)))) (+.f64 (pow.f64 g 6) (pow.f64 (neg.f64 (*.f64 h h)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (*.f64 0 (*.f64 h h)) (-.f64 (*.f64 0 (*.f64 h h)) (-.f64 (*.f64 g g) (*.f64 h h))))) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 (*.f64 0 (*.f64 h h)) 3))))))) (#(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 6) (pow.f64 h 6)) (*.f64 (+.f64 (*.f64 g g) (*.f64 h (-.f64 h g))) (+.f64 (*.f64 g g) (*.f64 h (+.f64 g h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))) (/.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))) (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (-.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)) 2) (*.f64 (*.f64 0 (*.f64 h h)) (*.f64 0 (*.f64 h h)))) (-.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 0 (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 g 8) (pow.f64 h 8)) (*.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 (-.f64 (pow.f64 g 12) (pow.f64 h 12)) (*.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 -1 (neg.f64 (/.f64 1 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 g 6) (pow.f64 (neg.f64 (*.f64 h h)) 3)) (+.f64 (pow.f64 g 4) (-.f64 (*.f64 1 (pow.f64 h 4)) (neg.f64 (pow.f64 (*.f64 g h) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 g 6) (pow.f64 (neg.f64 (*.f64 h h)) 3)) (+.f64 (*.f64 1 (pow.f64 h 4)) (-.f64 (pow.f64 g 4) (neg.f64 (pow.f64 (*.f64 g h) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 (*.f64 0 (*.f64 h h)) 3)) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (*.f64 0 (*.f64 h h)) (-.f64 (*.f64 0 (*.f64 h h)) (-.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) (pow.f64 (*.f64 0 (*.f64 h h)) 3)) (+.f64 (*.f64 (*.f64 0 (*.f64 h h)) (*.f64 0 (*.f64 h h))) (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 0 (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (pow.f64 g 4) 3) (pow.f64 (pow.f64 h 4) 3)) (*.f64 (fma.f64 g g (*.f64 h h)) (+.f64 (pow.f64 g 8) (+.f64 (pow.f64 h 8) (pow.f64 (*.f64 g h) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (pow.f64 g 6) 3) (pow.f64 (pow.f64 h 6) 3)) (*.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))) (+.f64 (pow.f64 g 12) (+.f64 (pow.f64 h 12) (*.f64 (pow.f64 g 6) (pow.f64 h 6))))))))) (#(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 /.f64 (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 g h)) (+.f64 g h))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (-.f64 g h)) (-.f64 g h))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 g h) (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 g h))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 g h) (-.f64 (*.f64 g g) (*.f64 h h))) (+.f64 g h))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (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 (*.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (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 (*.f64 (+.f64 g h) (-.f64 (pow.f64 g 3) (pow.f64 h 3))) (+.f64 (*.f64 g g) (*.f64 h (+.f64 g h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 g h) (+.f64 (pow.f64 g 3) (pow.f64 h 3))) (+.f64 (*.f64 g g) (*.f64 h (-.f64 h g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4)) 1) (fma.f64 g g (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6)) 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 (pow.f64 g 4) (pow.f64 h 4))) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (fma.f64 g g (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6))) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (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 (*.f64 (+.f64 (pow.f64 g 3) (pow.f64 h 3)) (-.f64 g h)) (+.f64 (*.f64 g g) (*.f64 h (-.f64 h g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 3) (pow.f64 h 3)) (+.f64 g h)) (+.f64 (*.f64 g g) (*.f64 h (+.f64 g h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 8) (pow.f64 h 8)) (/.f64 1 (fma.f64 g g (*.f64 h h)))) (+.f64 (pow.f64 g 4) (pow.f64 h 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 g 4) 3) (pow.f64 (pow.f64 h 4) 3)) (/.f64 1 (fma.f64 g g (*.f64 h h)))) (+.f64 (pow.f64 g 8) (+.f64 (pow.f64 h 8) (pow.f64 (*.f64 g h) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 12) (pow.f64 h 12)) (/.f64 1 (+.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 (-.f64 (pow.f64 (pow.f64 g 6) 3) (pow.f64 (pow.f64 h 6) 3)) (/.f64 1 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))))) (+.f64 (pow.f64 g 12) (+.f64 (pow.f64 h 12) (*.f64 (pow.f64 g 6) (pow.f64 h 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (*.f64 0 (*.f64 h h)) (*.f64 0 (*.f64 h h))))) (neg.f64 (-.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 0 (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 g 6) (pow.f64 (neg.f64 (*.f64 h h)) 3))) (neg.f64 (+.f64 (pow.f64 g 4) (-.f64 (*.f64 1 (pow.f64 h 4)) (neg.f64 (pow.f64 (*.f64 g h) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 (*.f64 0 (*.f64 h h)) 3))) (neg.f64 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (*.f64 0 (*.f64 h h)) (-.f64 (*.f64 0 (*.f64 h h)) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4)))) (neg.f64 (neg.f64 (fma.f64 g g (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6)))) (neg.f64 (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 /.f64 (-.f64 (pow.f64 g 4) (*.f64 (+.f64 (neg.f64 (*.f64 h h)) (*.f64 0 (*.f64 h h))) (+.f64 (neg.f64 (*.f64 h h)) (*.f64 0 (*.f64 h h))))) (-.f64 (*.f64 g g) (+.f64 (neg.f64 (*.f64 h h)) (*.f64 0 (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (*.f64 (*.f64 2 (*.f64 0 (*.f64 h h))) (*.f64 2 (*.f64 0 (*.f64 h h))))) (-.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 2 (*.f64 0 (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1 (pow.f64 h 4)) (pow.f64 g 4)) (-.f64 (neg.f64 (*.f64 h h)) (*.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 0 (*.f64 h h)) (*.f64 0 (*.f64 h h))) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2)) (-.f64 (*.f64 0 (*.f64 h h)) (-.f64 (*.f64 g g) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 g 4) (*.f64 (-.f64 (*.f64 h h) (*.f64 0 (*.f64 h h))) (-.f64 (*.f64 h h) (*.f64 0 (*.f64 h h))))) (+.f64 (*.f64 g g) (-.f64 (*.f64 h h) (*.f64 0 (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 (pow.f64 g 4) (fma.f64 g g (*.f64 h h))) (/.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 (pow.f64 h 4) (fma.f64 g g (*.f64 h h))))) (+.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 (*.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 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 (pow.f64 h 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))))) (+.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) (pow.f64 (+.f64 (neg.f64 (*.f64 h h)) (*.f64 0 (*.f64 h h))) 3)) (+.f64 (pow.f64 g 4) (-.f64 (*.f64 (+.f64 (neg.f64 (*.f64 h h)) (*.f64 0 (*.f64 h h))) (+.f64 (neg.f64 (*.f64 h h)) (*.f64 0 (*.f64 h h)))) (*.f64 (*.f64 g g) (+.f64 (neg.f64 (*.f64 h h)) (*.f64 0 (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 (*.f64 2 (*.f64 0 (*.f64 h h))) 3)) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) (-.f64 (*.f64 (*.f64 2 (*.f64 0 (*.f64 h h))) (*.f64 2 (*.f64 0 (*.f64 h h)))) (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 2 (*.f64 0 (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 g 6) (pow.f64 (-.f64 (*.f64 h h) (*.f64 0 (*.f64 h h))) 3)) (+.f64 (pow.f64 g 4) (+.f64 (*.f64 (-.f64 (*.f64 h h) (*.f64 0 (*.f64 h h))) (-.f64 (*.f64 h h) (*.f64 0 (*.f64 h h)))) (*.f64 (*.f64 g g) (-.f64 (*.f64 h h) (*.f64 0 (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 g 4) (fma.f64 g g (*.f64 h h))) 3) (pow.f64 (/.f64 (pow.f64 h 4) (fma.f64 g g (*.f64 h h))) 3)) (+.f64 (*.f64 (/.f64 (pow.f64 g 4) (fma.f64 g g (*.f64 h h))) (/.f64 (pow.f64 g 4) (fma.f64 g g (*.f64 h h)))) (+.f64 (*.f64 (/.f64 (pow.f64 h 4) (fma.f64 g g (*.f64 h h))) (/.f64 (pow.f64 h 4) (fma.f64 g g (*.f64 h h)))) (*.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 (/.f64 (pow.f64 g 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) 3) (pow.f64 (/.f64 (pow.f64 h 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) 3)) (+.f64 (*.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 g 6) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))))) (+.f64 (*.f64 (/.f64 (pow.f64 h 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))))) (*.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 (*.f64 (pow.f64 g 4) (fma.f64 g g (*.f64 h h))) (*.f64 (fma.f64 g g (*.f64 h h)) (pow.f64 h 4))) (*.f64 (fma.f64 g g (*.f64 h h)) (fma.f64 g g (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.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 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))) (pow.f64 h 6))) (*.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))) (+.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 (pow.f64 g 4) (pow.f64 h 4))) (sqrt.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4)))) (*.f64 (sqrt.f64 (fma.f64 g g (*.f64 h h))) (sqrt.f64 (fma.f64 g g (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6))) (sqrt.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4)))) (*.f64 (sqrt.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) (sqrt.f64 (fma.f64 g g (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4))) (sqrt.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6)))) (*.f64 (sqrt.f64 (fma.f64 g g (*.f64 h h))) (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 (*.f64 (sqrt.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6))) (sqrt.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6)))) (*.f64 (sqrt.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2)))) (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 (*.f64 (+.f64 (pow.f64 g 3) (pow.f64 h 3)) (-.f64 (*.f64 g g) (*.f64 h h))) (+.f64 (pow.f64 g 3) (pow.f64 h 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (-.f64 (pow.f64 g 3) (pow.f64 h 3))) (*.f64 (-.f64 g h) (+.f64 (*.f64 g g) (*.f64 h (+.f64 g h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 3) (pow.f64 h 3)) (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (pow.f64 g 3) (pow.f64 h 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (+.f64 (pow.f64 g 3) (pow.f64 h 3))) (*.f64 (+.f64 g h) (+.f64 (*.f64 g g) (*.f64 h (-.f64 h g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 3) (pow.f64 h 3)) (+.f64 (pow.f64 g 3) (pow.f64 h 3))) (*.f64 (+.f64 (*.f64 g g) (*.f64 h (+.f64 g h))) (+.f64 (*.f64 g g) (*.f64 h (-.f64 h g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 8) (pow.f64 h 8)) 1) (*.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 (-.f64 (pow.f64 (pow.f64 g 4) 3) (pow.f64 (pow.f64 h 4) 3)) 1) (*.f64 (+.f64 (pow.f64 g 8) (+.f64 (pow.f64 h 8) (pow.f64 (*.f64 g h) 4))) (fma.f64 g g (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 12) (pow.f64 h 12)) 1) (*.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 (-.f64 (pow.f64 (pow.f64 g 6) 3) (pow.f64 (pow.f64 h 6) 3)) 1) (*.f64 (+.f64 (pow.f64 g 12) (+.f64 (pow.f64 h 12) (*.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 pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h 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 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (-.f64 g h) (neg.f64 (+.f64 g h))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.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 neg.f64 (/.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 sqrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 g g (neg.f64 (*.f64 h h)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 0 (*.f64 h h)))))))

simplify98.0ms (0.7%)

Algorithm
egg-herbie
Rules
818×associate-/l*
692×associate-+l+
433×associate-*r/
358×associate-*l/
268×distribute-lft-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02242659
17042302
230982285
377812285
Stop Event
node limit
Counts
289 → 289
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) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1)))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1))) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3)))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1))) (+.f64 (*.f64 -1/3 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3)))) (pow.f64 g 2))) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3))) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3))))))
(+.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 (cbrt.f64 -1/2) (*.f64 (pow.f64 g 3) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 5)) 1/3) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3))))))) (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 5)) 1/3) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3))))))) (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))))))) (pow.f64 (cbrt.f64 -1) 2)))) (+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1))) (+.f64 (*.f64 -1/3 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3)))) (pow.f64 g 2))) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3))) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3)))))))
(*.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 g) (/.f64 (sqrt.f64 -1) (/.f64 g 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 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 -1/8 (/.f64 (/.f64 (pow.f64 g 4) (neg.f64 (sqrt.f64 -1))) (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)))))))
(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) (neg.f64 (sqrt.f64 -1))) (pow.f64 h 3)) (fma.f64 1/16 (/.f64 (/.f64 (pow.f64 g 6) (pow.f64 (sqrt.f64 -1) 5)) (pow.f64 h 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)
(+.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))
(+.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)))
(*.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 (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))
(fma.f64 1/2 (/.f64 h (/.f64 g h)) (-.f64 (*.f64 (/.f64 1/8 (pow.f64 g 3)) (pow.f64 h 4)) 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/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 1/2 (/.f64 h (/.f64 g h)) (-.f64 (*.f64 (/.f64 1/8 (pow.f64 g 3)) (pow.f64 h 4)) 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)
(+.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))
(+.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)))
(*.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 g) (/.f64 (sqrt.f64 -1) (/.f64 g 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 1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (fma.f64 -1/8 (/.f64 (/.f64 (pow.f64 g 4) (neg.f64 (sqrt.f64 -1))) (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)))))))
(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) (neg.f64 (sqrt.f64 -1))) (pow.f64 h 3)) (fma.f64 1/16 (/.f64 (/.f64 (pow.f64 g 6) (pow.f64 (sqrt.f64 -1) 5)) (pow.f64 h 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 (*.f64 g g) (/.f64 (sqrt.f64 -1) -1/2)) 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 1/8 (neg.f64 (sqrt.f64 -1))) (/.f64 (pow.f64 g 4) (pow.f64 h 3))) (*.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 4) (neg.f64 (sqrt.f64 -1))) (pow.f64 h 3)) 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 (-.f64 (fma.f64 (/.f64 (/.f64 (pow.f64 g 4) (neg.f64 (sqrt.f64 -1))) (pow.f64 h 3)) 1/8 (*.f64 (/.f64 (/.f64 (pow.f64 g 6) (pow.f64 (sqrt.f64 -1) 5)) (pow.f64 h 5)) -1/16)) (*.f64 (sqrt.f64 -1) h)))
(*.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 a (sqrt.f64 -1)))) (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 (*.f64 (*.f64 g (cbrt.f64 -1/2)) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 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 h (/.f64 a (sqrt.f64 -1)))) (*.f64 (*.f64 g (*.f64 (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 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 (*.f64 g (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (*.f64 (+.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) h) (pow.f64 a 17)) 1/18) (pow.f64 (/.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) h) (pow.f64 a 17)) 1/18)) -1/3)) (*.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) (+.f64 (*.f64 (*.f64 g g) (*.f64 (-.f64 (/.f64 1/2 (*.f64 h (*.f64 (sqrt.f64 -1) a))) (*.f64 (*.f64 1/3 (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))) (cbrt.f64 (/.f64 (/.f64 (neg.f64 (*.f64 a a)) h) h)))) (*.f64 g (*.f64 (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18))))) (*.f64 (cbrt.f64 (/.f64 h (/.f64 a (sqrt.f64 -1)))) (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 (*.f64 (pow.f64 (/.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) h) (pow.f64 a 17)) 1/18) (pow.f64 (/.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) h) (pow.f64 a 17)) 1/18)) -1/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 1/27 (cbrt.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))))))))) (fma.f64 1/3 (*.f64 (cbrt.f64 -1/2) (+.f64 (*.f64 (*.f64 g (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (*.f64 (+.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) h) (pow.f64 a 17)) 1/18) (pow.f64 (/.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) h) (pow.f64 a 17)) 1/18)) -1/3)) (*.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 h (/.f64 a (sqrt.f64 -1)))) (*.f64 (*.f64 g (*.f64 (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18))) 1/3))) (*.f64 (cbrt.f64 (/.f64 (/.f64 (neg.f64 (*.f64 a a)) h) h)) (+.f64 (*.f64 1/3 (*.f64 (-.f64 (/.f64 1/2 (*.f64 h (*.f64 (sqrt.f64 -1) a))) (*.f64 (*.f64 1/3 (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 (*.f64 g g) (cbrt.f64 -1/2)))) (*.f64 -1/3 (*.f64 (cbrt.f64 -1/2) (*.f64 (pow.f64 g 3) (fma.f64 2/3 (*.f64 (-.f64 (/.f64 1/2 (*.f64 h (*.f64 (sqrt.f64 -1) a))) (*.f64 (*.f64 1/3 (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 (/.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 h (*.f64 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 (*.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 h (*.f64 h (cbrt.f64 -1/2))) (pow.f64 (cbrt.f64 2) 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 -1/6 (*.f64 h (*.f64 h (cbrt.f64 -1/2)))) (/.f64 (pow.f64 (cbrt.f64 2) 2) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5))))))
(+.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 h (*.f64 h (cbrt.f64 -1/2))) (pow.f64 (cbrt.f64 2) 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 -1/18 (/.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (cbrt.f64 -1/2)) (/.f64 (pow.f64 (cbrt.f64 2) 2) (pow.f64 h 4))))))
(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 (*.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 h (*.f64 h (cbrt.f64 -1/2))) (pow.f64 (cbrt.f64 2) 2)) (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)))) (fma.f64 1/3 (/.f64 (*.f64 (cbrt.f64 -1/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))))) (/.f64 (pow.f64 (cbrt.f64 2) 2) (cbrt.f64 (*.f64 (/.f64 a g) (/.f64 a g))))) (fma.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)) (*.f64 -1/18 (/.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (cbrt.f64 -1/2)) (/.f64 (pow.f64 (cbrt.f64 2) 2) (pow.f64 h 4)))))))
(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 (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 a g) (/.f64 a 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 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)) (*.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) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1)))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1)))
(*.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1)))
(*.f64 (cbrt.f64 (/.f64 h (/.f64 a (sqrt.f64 -1)))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1)))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1))) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3)))))
(fma.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1)) (*.f64 1/3 (*.f64 (*.f64 g (cbrt.f64 -1/2)) (*.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)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))))))
(fma.f64 1/3 (*.f64 (*.f64 (*.f64 (*.f64 g (cbrt.f64 -1/2)) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1))))
(*.f64 (cbrt.f64 -1/2) (+.f64 (*.f64 (cbrt.f64 (/.f64 h (/.f64 a (sqrt.f64 -1)))) (cbrt.f64 -1)) (*.f64 (*.f64 g (*.f64 (*.f64 (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))))) 1/3)))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1))) (+.f64 (*.f64 -1/3 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3)))) (pow.f64 g 2))) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3))) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3))))))
(fma.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1)) (fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 (*.f64 h h) (pow.f64 (sqrt.f64 -1) 2)))) (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (*.f64 g g) (+.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (*.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 1 (cbrt.f64 -1)))))))) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 1/3 (*.f64 (*.f64 g (cbrt.f64 -1/2)) (*.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)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))))))))
(fma.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1)) (fma.f64 1/3 (*.f64 (*.f64 (*.f64 (*.f64 g (cbrt.f64 -1/2)) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 h (neg.f64 h)))) (/.f64 (*.f64 -1/3 (cbrt.f64 -1/2)) (/.f64 (/.f64 (pow.f64 (cbrt.f64 -1) 2) (*.f64 g g)) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) h) (pow.f64 a 17)) 1/18) (pow.f64 (/.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) h) (pow.f64 a 17)) 1/18)) (cbrt.f64 (/.f64 1 (cbrt.f64 -1)))) (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a)))))))))
(+.f64 (*.f64 (cbrt.f64 -1/2) (+.f64 (*.f64 (cbrt.f64 (/.f64 h (/.f64 a (sqrt.f64 -1)))) (cbrt.f64 -1)) (*.f64 (*.f64 g (*.f64 (*.f64 (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))))) 1/3))) (*.f64 (cbrt.f64 (/.f64 (/.f64 (neg.f64 (*.f64 a a)) h) h)) (*.f64 (/.f64 (*.f64 -1/3 (cbrt.f64 -1/2)) (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (*.f64 g g) (fma.f64 1/3 (*.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)) (cbrt.f64 (/.f64 1 (cbrt.f64 -1)))) (/.f64 1/2 (*.f64 h (*.f64 (sqrt.f64 -1) a))))))))
(+.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 (cbrt.f64 -1/2) (*.f64 (pow.f64 g 3) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 5)) 1/3) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3))))))) (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 5)) 1/3) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3))))))) (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))))))) (pow.f64 (cbrt.f64 -1) 2)))) (+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1))) (+.f64 (*.f64 -1/3 (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3)))) (pow.f64 g 2))) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 h 2))) 1/3))) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 -1/2) g) (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 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 (*.f64 (cbrt.f64 -1/2) (*.f64 (pow.f64 g 3) (fma.f64 -2/9 (*.f64 (*.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 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (*.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 1 (cbrt.f64 -1)))))) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 5))))) (fma.f64 -4/9 (*.f64 (*.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 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (*.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 1 (cbrt.f64 -1)))))) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 5))))) (*.f64 1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (*.f64 h h) (pow.f64 a 7))))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))))))) (pow.f64 (cbrt.f64 -1) 2))) (fma.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1)) (fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 (*.f64 h h) (pow.f64 (sqrt.f64 -1) 2)))) (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (*.f64 g g) (+.f64 (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/3 (*.f64 (*.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 1 (cbrt.f64 -1)))))))) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 1/3 (*.f64 (*.f64 g (cbrt.f64 -1/2)) (*.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)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))))))))
(fma.f64 -1/3 (/.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 h (neg.f64 h)))) (*.f64 (pow.f64 g 3) (cbrt.f64 -1/2))) (+.f64 (*.f64 1/27 (/.f64 (cbrt.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7))))) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (*.f64 (*.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 (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) h) (pow.f64 a 17)) 1/18) (pow.f64 (/.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) h) (pow.f64 a 17)) 1/18)) (cbrt.f64 (/.f64 1 (cbrt.f64 -1)))) (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a)))) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 5))))) -2/3))) (pow.f64 (cbrt.f64 -1) 2)) (fma.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 -1)) (fma.f64 1/3 (*.f64 (*.f64 (*.f64 (*.f64 g (cbrt.f64 -1/2)) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 h (neg.f64 h)))) (/.f64 (*.f64 -1/3 (cbrt.f64 -1/2)) (/.f64 (/.f64 (pow.f64 (cbrt.f64 -1) 2) (*.f64 g g)) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) h) (pow.f64 a 17)) 1/18) (pow.f64 (/.f64 (/.f64 (/.f64 1 (sqrt.f64 -1)) h) (pow.f64 a 17)) 1/18)) (cbrt.f64 (/.f64 1 (cbrt.f64 -1)))) (/.f64 1/2 (*.f64 (sqrt.f64 -1) (*.f64 h a))))))))))
(fma.f64 -1/3 (*.f64 (/.f64 (cbrt.f64 (/.f64 (/.f64 (neg.f64 (*.f64 a a)) h) h)) (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (*.f64 (pow.f64 g 3) (cbrt.f64 -1/2)) (+.f64 (*.f64 (cbrt.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7))))) (/.f64 1/27 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (*.f64 (fma.f64 1/3 (*.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)) (cbrt.f64 (/.f64 1 (cbrt.f64 -1)))) (/.f64 1/2 (*.f64 h (*.f64 (sqrt.f64 -1) a)))) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 5)))) (*.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 (*.f64 (cbrt.f64 -1/2) (+.f64 (*.f64 (cbrt.f64 (/.f64 h (/.f64 a (sqrt.f64 -1)))) (cbrt.f64 -1)) (*.f64 (*.f64 g (*.f64 (*.f64 (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))))) 1/3))) (*.f64 (cbrt.f64 (/.f64 (/.f64 (neg.f64 (*.f64 a a)) h) h)) (*.f64 (/.f64 (*.f64 -1/3 (cbrt.f64 -1/2)) (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (*.f64 g g) (fma.f64 1/3 (*.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)) (cbrt.f64 (/.f64 1 (cbrt.f64 -1)))) (/.f64 1/2 (*.f64 h (*.f64 (sqrt.f64 -1) a)))))))))
(*.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))
(+.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))
(+.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))
(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))
(+.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))
(+.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))
(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))
(+.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))
(+.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))
(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))
(+.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))
(+.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))
(*.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))
(+.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))
(+.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))
(*.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))
(+.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))
(+.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))

eval589.0ms (4.1%)

Compiler

Compiled 24090 to 11458 computations (52.4% saved)

prune301.0ms (2.1%)

Pruning

30 alts after pruning (30 fresh and 0 done)

PrunedKeptTotal
New45630486
Fresh000
Picked101
Done000
Total45730487
Error
35.1b
Counts
487 → 30
Alt Table
Click to see full alt table
StatusErrorProgram
36.7b
(+.f64 (/.f64 (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 a -2))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
37.6b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (*.f64 (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 -1/2)) (cbrt.f64 (/.f64 1 a))))
45.7b
(+.f64 (pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1/3) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
36.7b
(+.f64 (*.f64 (cbrt.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 1 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
55.9b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
50.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
36.7b
(+.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (/.f64 1 a)) (cbrt.f64 (-.f64 g (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))))
48.0b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
37.6b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
49.7b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)) (/.f64 -1/2 a))))
47.4b
(+.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (cbrt.f64 -1/2)) (*.f64 (cbrt.f64 (fma.f64 g g (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g 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))))
39.2b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (+.f64 (*.f64 (-.f64 g h) h) (*.f64 (-.f64 g h) g)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
36.7b
(+.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (-.f64 g (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))))
48.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (neg.f64 g)) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
52.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
49.9b
(+.f64 (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 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
49.8b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
50.0b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
47.4b
(+.f64 (/.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (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 (*.f64 g g) (*.f64 h h)) (*.f64 g (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))))
45.2b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/3))
39.2b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (*.f64 (-.f64 g h) (+.f64 g h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
52.3b
(+.f64 (/.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (cbrt.f64 (+.f64 g (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))))
37.6b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
36.7b
(+.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 -1/2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
37.6b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (/.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 a -2))))
36.7b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (-.f64 g (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))))
45.7b
(+.f64 (exp.f64 (*.f64 1/3 (log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (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))))
45.4b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (exp.f64 (*.f64 1/2 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
37.6b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)))))
36.7b
(+.f64 (/.f64 (cbrt.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g 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))))
Compiler

Compiled 2220 to 1264 computations (43.1% saved)

localize80.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.4b
(-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
3.8b
(-.f64 (*.f64 g g) (*.f64 h h))
9.4b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
32.8b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 143 to 36 computations (74.8% saved)

series5.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite123.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
646×associate-+l-
643×associate-+r+
476×+-commutative
341×associate-+r-
183×frac-times
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
15015
240315
3519815
Stop Event
node limit
Counts
1 → 60
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 (neg.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 g (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) g)) (neg.f64 (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (neg.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 g 0) (neg.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))) (/.f64 g (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)) (/.f64 1 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 1 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))))))) (#(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 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 (-.f64 (fma.f64 g g (-.f64 (*.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 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))) (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 1 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(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 (/.f64 1 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)) (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 (neg.f64 (fma.f64 g g (*.f64 h h))) (*.f64 g g)) (/.f64 1 (neg.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))))))) (#(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))) (/.f64 1 (neg.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)) (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g))) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)) (+.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 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 (pow.f64 g 4) (pow.f64 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))) 2))) (-.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.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 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))) 3))) (+.f64 (pow.f64 g 4) (*.f64 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))) (*.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) 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 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 (fma.f64 g g (-.f64 (*.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 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 1 (/.f64 (/.f64 1 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 g g (-.f64 (*.f64 g g) (*.f64 h h))) (neg.f64 (*.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 4) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2)) (*.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) (fma.f64 g g (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.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 9) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 9/2)) (*.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 (pow.f64 g 6) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)))))))) (#(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 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) (+.f64 (pow.f64 g 4) (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 g g (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(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 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 (neg.f64 (fma.f64 g g (*.f64 h h))) (*.f64 g g)) (neg.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)))))) (#(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 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 (-.f64 (fma.f64 g g (-.f64 (*.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 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)) 1) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))))) (#(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 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))) (fma.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 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))) (+.f64 (pow.f64 g 4) (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.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 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 (pow.f64 g 9) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 9/2)) (/.f64 1 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (pow.f64 g 6) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g g)) (-.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 g (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) g)) (/.f64 g (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) g))) (*.f64 (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)) (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)))) (+.f64 (/.f64 g (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) g)) (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))))) (+.f64 (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 g (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) g)) 3) (pow.f64 (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)) 3)) (+.f64 (*.f64 (/.f64 g (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) g)) (/.f64 g (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) g))) (+.f64 (*.f64 (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)) (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))) (*.f64 (/.f64 g (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) g)) (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) 3) (pow.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) 3)) (+.f64 (*.f64 (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (*.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 g g) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)) (*.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) (-.f64 (*.f64 g g) (*.f64 h h)))) (*.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (*.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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)) 1) (*.f64 (fma.f64 g g (-.f64 (*.f64 g g) (*.f64 h h))) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 6) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3)) 1) (*.f64 (+.f64 (pow.f64 g 4) (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 g g (-.f64 (*.f64 g g) (*.f64 h h))))) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 6) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3)) 1) (*.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 9) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 9/2)) 1) (*.f64 (+.f64 (pow.f64 g 6) (+.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (pow.f64 (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3))) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (neg.f64 (fma.f64 g g (*.f64 h h))) (*.f64 g g))) (neg.f64 (neg.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (neg.f64 (neg.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)) (neg.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) (neg.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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)))))

simplify94.0ms (0.7%)

Algorithm
egg-herbie
Rules
454×associate-/r/
453×times-frac
433×unswap-sqr
373×associate-+r+
356×associate-+l+
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
086612
1256596
2860581
33717576
46254576
Stop Event
node limit
Counts
84 → 93
Calls
Call 1
Inputs
(*.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)))))))
(*.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 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 (*.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 -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)))))))
(*.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)))
Outputs
(*.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 (*.f64 (sqrt.f64 -1) h)) g)
(fma.f64 -1 (*.f64 (sqrt.f64 -1) h) g)
(-.f64 g (*.f64 (sqrt.f64 -1) h))
(fma.f64 (sqrt.f64 -1) (neg.f64 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))
(fma.f64 -1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1 (*.f64 (sqrt.f64 -1) h) g))
(fma.f64 -1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (-.f64 g (*.f64 (sqrt.f64 -1) h)))
(fma.f64 -1/2 (/.f64 g (*.f64 h (/.f64 (sqrt.f64 -1) g))) (fma.f64 (sqrt.f64 -1) (neg.f64 h) g))
(-.f64 g (fma.f64 (sqrt.f64 -1) h (*.f64 (/.f64 g (*.f64 h (/.f64 (sqrt.f64 -1) g))) 1/2)))
(+.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 -1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (-.f64 (fma.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) g) (*.f64 (sqrt.f64 -1) h)))
(-.f64 (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)) 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 (/.f64 g (*.f64 h (/.f64 (sqrt.f64 -1) 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 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 1/8 (/.f64 (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)))
(+.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 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/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)) (fma.f64 1/2 (*.f64 (/.f64 h g) h) (*.f64 (/.f64 1/16 (pow.f64 g 5)) (pow.f64 h 6))))
(+.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 (pow.f64 h 4) -1/8) 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 h (/.f64 g h)) (fma.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (/.f64 1/2 (/.f64 (pow.f64 g 7) (fma.f64 1/16 (pow.f64 h 8) (*.f64 (pow.f64 h 8) 1/64)))))))
(fma.f64 1/2 (+.f64 (*.f64 (/.f64 h g) h) (/.f64 (*.f64 (pow.f64 h 8) 5/64) (pow.f64 g 7))) (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/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 -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 (/.f64 -1/2 g) (*.f64 h h)))
(fma.f64 -1/2 (*.f64 (/.f64 h g) h) (*.f64 g 2))
(+.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 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) -1/8)))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 g 2 (*.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)))
(fma.f64 g 2 (fma.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) -1/8 (*.f64 -1/2 (*.f64 (/.f64 h g) 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 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) -1/8))))
(fma.f64 -1/2 (/.f64 h (/.f64 g h)) (fma.f64 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) -1/16 (fma.f64 g 2 (*.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 (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 g 2 (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 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 (/.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 1/8 (/.f64 (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)))
(+.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 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/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)) (fma.f64 1/2 (*.f64 (/.f64 h g) h) (*.f64 (/.f64 1/16 (pow.f64 g 5)) (pow.f64 h 6))))
(+.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 (*.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/16 (/.f64 (pow.f64 h 6) (pow.f64 g 5)) (fma.f64 1/2 (/.f64 (*.f64 h h) g) (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 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 h (/.f64 g h)) (fma.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.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)))))))
(fma.f64 1/2 (+.f64 (*.f64 (/.f64 h g) h) (*.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))))
(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 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 -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 (*.f64 (sqrt.f64 -1) h)) g)
(fma.f64 -1 (*.f64 (sqrt.f64 -1) h) g)
(-.f64 g (*.f64 (sqrt.f64 -1) h))
(fma.f64 (sqrt.f64 -1) (neg.f64 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))
(fma.f64 -1/2 (/.f64 (*.f64 g g) (*.f64 (sqrt.f64 -1) h)) (fma.f64 -1 (*.f64 (sqrt.f64 -1) h) g))
(fma.f64 -1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (-.f64 g (*.f64 (sqrt.f64 -1) h)))
(fma.f64 -1/2 (/.f64 g (*.f64 h (/.f64 (sqrt.f64 -1) g))) (fma.f64 (sqrt.f64 -1) (neg.f64 h) g))
(-.f64 g (fma.f64 (sqrt.f64 -1) h (*.f64 (/.f64 g (*.f64 h (/.f64 (sqrt.f64 -1) g))) 1/2)))
(+.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 -1/2 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (-.f64 (fma.f64 1/8 (/.f64 (pow.f64 g 4) (*.f64 (neg.f64 (sqrt.f64 -1)) (pow.f64 h 3))) g) (*.f64 (sqrt.f64 -1) h)))
(-.f64 (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)) 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 (/.f64 g (*.f64 h (/.f64 (sqrt.f64 -1) g))) 1/2)))
(*.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 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) 1/2 (fma.f64 (sqrt.f64 -1) h g))
(fma.f64 (sqrt.f64 -1) h (fma.f64 (/.f64 g (*.f64 h (/.f64 (sqrt.f64 -1) g))) 1/2 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 (*.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 (fma.f64 (sqrt.f64 -1) h g)))
(fma.f64 (/.f64 g (*.f64 h (/.f64 (sqrt.f64 -1) g))) 1/2 (fma.f64 (sqrt.f64 -1) h (fma.f64 (/.f64 1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) g)))

localize93.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.8b
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
3.8b
(-.f64 (*.f64 g g) (*.f64 h h))
9.4b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
32.8b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 112 to 35 computations (68.8% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
g
@inf
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
1.0ms
g
@-inf
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
1.0ms
g
@0
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
1.0ms
h
@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))))

rewrite117.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
749×associate-+l-
620×associate-+r+
510×+-commutative
347×associate-+r-
179×frac-times
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
14915
240215
3517515
Stop Event
node limit
Counts
1 → 52
Calls
Call 1
Inputs
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
Outputs
((#(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 (-.f64 (*.f64 g g) (*.f64 h h)) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (/.f64 (*.f64 g g) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.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 (fma.f64 h h (*.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 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))) (*.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) (/.f64 1 (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 g g) (fma.f64 h h (*.f64 g g))) (/.f64 1 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.f64 (fma.f64 h h (*.f64 g g)) (*.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.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 (neg.f64 (-.f64 (fma.f64 h h (*.f64 g g)) (*.f64 g g))) (/.f64 1 (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))) (/.f64 1 (neg.f64 (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (fma.f64 h h (*.f64 g g)) (*.f64 g g)) (-.f64 (fma.f64 h h (*.f64 g g)) (*.f64 g g))) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (fma.f64 h h (*.f64 g g)) (*.f64 g g)) (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (fma.f64 g g (fma.f64 (+.f64 g h) (-.f64 g 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 (pow.f64 g 4) (pow.f64 (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)) 2))) (-.f64 (fma.f64 h h (*.f64 g g)) (*.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 6) (pow.f64 (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)) 3))) (+.f64 (pow.f64 g 4) (*.f64 (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)) (-.f64 (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)) (*.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) (/.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 (-.f64 (fma.f64 h h (*.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 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))) (/.f64 (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))) (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 1 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (-.f64 (*.f64 g g) (fma.f64 h h (*.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 g g) (fma.f64 h h (*.f64 g g))) (-.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)))) (fma.f64 g g (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 1 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 g 9) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 9/2)) (*.f64 (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))) (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (-.f64 (pow.f64 (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) (pow.f64 g 6)))))))) (#(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 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 g g (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(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 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.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 (neg.f64 (-.f64 (fma.f64 h h (*.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 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (fma.f64 h h (*.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 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) 1) (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.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)))))) (fma.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 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.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 (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.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 (pow.f64 g 9) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 9/2)) (/.f64 1 (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))) (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (-.f64 (pow.f64 (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) (pow.f64 g 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 g (/.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g)) (/.f64 g (/.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g))) (*.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 h h)) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (+.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 (pow.f64 (/.f64 g (/.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g)) 3) (pow.f64 (/.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 3)) (+.f64 (*.f64 (/.f64 g (/.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g)) (/.f64 g (/.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g))) (+.f64 (*.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 h h)) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.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 (*.f64 (*.f64 g g) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (-.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 (*.f64 (-.f64 (pow.f64 g 4) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2)) 1) (*.f64 (fma.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 g 6) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3)) 1) (*.f64 (+.f64 (pow.f64 g 4) (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.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 g 6) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3)) 1) (*.f64 (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 g 9) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 9/2)) 1) (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3) (-.f64 (pow.f64 (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) (pow.f64 g 6))) (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 g g) (fma.f64 h h (*.f64 g g)))) (neg.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (-.f64 (fma.f64 h h (*.f64 g g)) (*.f64 g g)))) (neg.f64 (neg.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (neg.f64 (neg.f64 (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 (fma.f64 h h (*.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 neg.f64 (/.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 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.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)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)))))

simplify86.0ms (0.6%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
073548
1220537
2746523
33212521
46327521
Stop Event
node limit
Counts
76 → 83
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 (/.f64 1/2 (sqrt.f64 -1)) (/.f64 (*.f64 g 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) 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 (/.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 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 h) g)))
(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 h) g))))
(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 h) g) (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 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)) (*.f64 g 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 (/.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 h) g) (*.f64 (/.f64 1/8 (pow.f64 g 3)) (pow.f64 h 4)))
(fma.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) 1/8 (*.f64 (/.f64 1/2 g) (*.f64 h h)))
(+.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 h) g) (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))))
(+.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 h) g) (/.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 h) g) (/.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 h) g)))
(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 h) g))))
(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 h) g) (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 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)) (*.f64 g 2))))
(*.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 (/.f64 1/2 (sqrt.f64 -1)) (/.f64 (*.f64 g 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) 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 (/.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 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 -1/2 (sqrt.f64 -1)) (/.f64 (*.f64 g g) h) (-.f64 g (*.f64 (sqrt.f64 -1) h)))
(fma.f64 (/.f64 (*.f64 g g) h) (/.f64 -1/2 (sqrt.f64 -1)) (-.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 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) -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 (*.f64 (/.f64 g (sqrt.f64 -1)) g) (/.f64 1/2 h))))
(-.f64 g (fma.f64 (/.f64 1/2 (sqrt.f64 -1)) (/.f64 (*.f64 g g) h) (fma.f64 (/.f64 1/8 (sqrt.f64 -1)) (/.f64 (pow.f64 g 4) (pow.f64 h 3)) (*.f64 (sqrt.f64 -1) h))))

localize103.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.8b
(-.f64 (*.f64 g g) (*.f64 h h))
7.9b
(cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
9.4b
(pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/3)
32.8b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 143 to 38 computations (73.4% saved)

series26.0ms (0.2%)

Counts
1 → 8
Calls

9 calls:

TimeVariablePointExpression
9.0ms
h
@0
(pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/3)
6.0ms
g
@0
(pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/3)
3.0ms
g
@inf
(pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/3)
2.0ms
h
@inf
(pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/3)
2.0ms
g
@-inf
(pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/3)

rewrite107.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
791×associate-+l-
628×associate-+r+
552×+-commutative
371×associate-+r-
201×associate-*r/
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01423
17723
256923
3605823
Stop Event
node limit
Counts
1 → 39
Calls
Call 1
Inputs
(pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/3)
Outputs
((#(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 (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 (/.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 (pow.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1/6) (*.f64 (pow.f64 (*.f64 a -2) -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 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1/6) (*.f64 (pow.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1/6) (cbrt.f64 (/.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/12) (*.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/12) (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 (*.f64 a -2) -1/6) (*.f64 (pow.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 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 (*.f64 a -2) -1/6) (*.f64 (pow.f64 (*.f64 a -2) -1/6) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(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 (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (/.f64 1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/6) (pow.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1/6)) (pow.f64 (*.f64 a -2) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.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/12)) (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/6) (pow.f64 (*.f64 a -2) -1/6)) (pow.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (pow.f64 (*.f64 a -2) -1/6)) (pow.f64 (*.f64 a -2) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (pow.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1/6)) (pow.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/6) 1) (pow.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 1/6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (/.f64 1 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/2) (pow.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (/.f64 (*.f64 a -2) (+.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 a -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 (neg.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2))) (neg.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g))) (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (*.f64 a -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (cbrt.f64 (*.f64 a (*.f64 -2 (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 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1/2)) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/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 (cbrt.f64 (*.f64 -1/2 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (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 (*.f64 -1/2 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (cbrt.f64 (*.f64 a (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 (cbrt.f64 (*.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)) 1/2)) (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) 1/2)) (cbrt.f64 (*.f64 (fma.f64 (+.f64 g h) (-.f64 g h) (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (neg.f64 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 exp.f64 (*.f64 1/3 (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 (*.f64 1/6 (log.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) (*.f64 1/6 (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 (*.f64 1/6 (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 exp.f64 (*.f64 (log.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 exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 2)) 1/6))))))

simplify98.0ms (0.7%)

Algorithm
egg-herbie
Rules
572×unswap-sqr
544×associate-/r*
452×times-frac
428×*-commutative
418×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0136937
1421835
21806828
35654813
Stop Event
node limit
Counts
47 → 55
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/6 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2)) 1/3) g))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2)) 1/3) g))) (*.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 (pow.f64 g 2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 -1/2)) 1/3) (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))))) (pow.f64 (cbrt.f64 -1/2) 2))))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2)) 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 (pow.f64 g 3) (+.f64 (*.f64 -1/216 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 5)) 1/3) (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/9) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 -1/2)) 1/3) (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))))))))) (pow.f64 (cbrt.f64 -1/2) 2)))) (*.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 (pow.f64 g 2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 -1/2)) 1/3) (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))))) (pow.f64 (cbrt.f64 -1/2) 2)))))))
(*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (cbrt.f64 -1))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (pow.f64 h 2) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (cbrt.f64 -1)))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3) (/.f64 (pow.f64 h 4) (pow.f64 (cbrt.f64 -1) 2)))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (pow.f64 h 2) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (cbrt.f64 -1))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (pow.f64 g 2)) 1/3) (/.f64 (*.f64 (-.f64 (*.f64 13/288 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (*.f64 1/1728 (/.f64 1 (*.f64 a (*.f64 (pow.f64 (cbrt.f64 -1) 6) (pow.f64 g 5)))))) (pow.f64 h 6)) (pow.f64 (cbrt.f64 -1) 2)))) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3) (/.f64 (pow.f64 h 4) (pow.f64 (cbrt.f64 -1) 2)))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (pow.f64 h 2) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (cbrt.f64 -1)))))
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/6 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2)) 1/3) g))))
(fma.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (cbrt.f64 -1/2) (*.f64 -1/6 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (*.f64 h h)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (*.f64 h h)))) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2))) g))))
(fma.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 -1/2) (*.f64 (*.f64 (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2))) g) -1/6)))
(fma.f64 (cbrt.f64 (*.f64 h (/.f64 (sqrt.f64 -1) a))) (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/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2))) g))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2)) 1/3) g))) (*.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 (pow.f64 g 2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 -1/2)) 1/3) (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))))) (pow.f64 (cbrt.f64 -1/2) 2))))))
(fma.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (cbrt.f64 -1/2) (fma.f64 -1/6 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (*.f64 h h)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (*.f64 h h)))) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2))) g)) (*.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 h h)))) (/.f64 (*.f64 g g) (/.f64 (pow.f64 (cbrt.f64 -1/2) 2) (+.f64 (/.f64 1/4 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/12 (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1/2))) (*.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)))))))))))
(fma.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 -1/2) (fma.f64 -1/6 (*.f64 (*.f64 (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2))) g)) (*.f64 (cbrt.f64 (*.f64 -1 (*.f64 (/.f64 a h) (/.f64 a h)))) (*.f64 (*.f64 (/.f64 (*.f64 g g) (pow.f64 (cbrt.f64 -1/2) 2)) (fma.f64 1/12 (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1/2))) (*.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 1/4 (*.f64 (sqrt.f64 -1) (*.f64 h a))))) -1/3))))
(fma.f64 -1/6 (*.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 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2))) g)) (fma.f64 (cbrt.f64 (*.f64 h (/.f64 (sqrt.f64 -1) a))) (cbrt.f64 -1/2) (*.f64 (*.f64 (fma.f64 1/12 (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1/2))) (*.f64 (pow.f64 (/.f64 (/.f64 (/.f64 1 h) (pow.f64 a 17)) (sqrt.f64 -1)) 1/18) (pow.f64 (/.f64 (/.f64 (/.f64 1 h) (pow.f64 a 17)) (sqrt.f64 -1)) 1/18))) (/.f64 1/4 (*.f64 (sqrt.f64 -1) (*.f64 h a)))) (/.f64 g (/.f64 (pow.f64 (cbrt.f64 -1/2) 2) g))) (*.f64 -1/3 (cbrt.f64 (*.f64 (/.f64 a h) (/.f64 a (neg.f64 h))))))))
(+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 h)) a) 1/3) (cbrt.f64 -1/2)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2)) 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 (pow.f64 g 3) (+.f64 (*.f64 -1/216 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (pow.f64 h 2)))) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 5)) 1/3) (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 (pow.f64 a 4) (pow.f64 h 5)))) 1/9) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 -1/2)) 1/3) (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))))))))) (pow.f64 (cbrt.f64 -1/2) 2)))) (*.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 (pow.f64 g 2) (+.f64 (*.f64 1/4 (/.f64 1 (*.f64 (sqrt.f64 -1) (*.f64 a h)))) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 -1/2)) 1/3) (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (sqrt.f64 -1) (*.f64 (pow.f64 a 17) h))) 1/9))))) (pow.f64 (cbrt.f64 -1/2) 2)))))))
(fma.f64 (cbrt.f64 (/.f64 (sqrt.f64 -1) (/.f64 a h))) (cbrt.f64 -1/2) (fma.f64 -1/6 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (*.f64 h h)))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (*.f64 h h)))) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2))) g)) (*.f64 -1/3 (+.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 h h)))) (/.f64 (pow.f64 g 3) (/.f64 (pow.f64 (cbrt.f64 -1/2) 2) (fma.f64 -1/216 (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2)) (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 a 7) (*.f64 h h)))))) (*.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 5))) (*.f64 (+.f64 (/.f64 1/4 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/12 (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1/2))) (*.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 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 (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 h h)))) (/.f64 (*.f64 g g) (/.f64 (pow.f64 (cbrt.f64 -1/2) 2) (+.f64 (/.f64 1/4 (*.f64 (sqrt.f64 -1) (*.f64 h a))) (*.f64 1/12 (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1/2))) (*.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))))))))))))
(fma.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) h)) (cbrt.f64 -1/2) (fma.f64 -1/6 (*.f64 (*.f64 (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18) (pow.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7)))) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2))) g)) (*.f64 (*.f64 -1/3 (cbrt.f64 (*.f64 -1 (*.f64 (/.f64 a h) (/.f64 a h))))) (+.f64 (*.f64 (/.f64 (pow.f64 g 3) (pow.f64 (cbrt.f64 -1/2) 2)) (fma.f64 1/3 (*.f64 (fma.f64 1/12 (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1/2))) (*.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 1/4 (*.f64 (sqrt.f64 -1) (*.f64 h a)))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 5))) (*.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/216 (/.f64 (cbrt.f64 (/.f64 -1 (*.f64 h (*.f64 h (pow.f64 a 7))))) (pow.f64 (cbrt.f64 -1/2) 2))))) (*.f64 (/.f64 (*.f64 g g) (pow.f64 (cbrt.f64 -1/2) 2)) (fma.f64 1/12 (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1/2))) (*.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 1/4 (*.f64 (sqrt.f64 -1) (*.f64 h a)))))))))
(fma.f64 (cbrt.f64 (*.f64 h (/.f64 (sqrt.f64 -1) a))) (cbrt.f64 -1/2) (fma.f64 -1/3 (*.f64 (cbrt.f64 (*.f64 (/.f64 a h) (/.f64 a (neg.f64 h)))) (fma.f64 (/.f64 (pow.f64 g 3) (pow.f64 (cbrt.f64 -1/2) 2)) (fma.f64 1/3 (*.f64 (fma.f64 1/12 (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1/2))) (*.f64 (pow.f64 (/.f64 (/.f64 (/.f64 1 h) (pow.f64 a 17)) (sqrt.f64 -1)) 1/18) (pow.f64 (/.f64 (/.f64 (/.f64 1 h) (pow.f64 a 17)) (sqrt.f64 -1)) 1/18))) (/.f64 1/4 (*.f64 (sqrt.f64 -1) (*.f64 h a)))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 5))) (*.f64 (pow.f64 (/.f64 (/.f64 (/.f64 1 (pow.f64 a 4)) (pow.f64 h 5)) (pow.f64 (sqrt.f64 -1) 5)) 1/18) (pow.f64 (/.f64 (/.f64 (/.f64 1 (pow.f64 a 4)) (pow.f64 h 5)) (pow.f64 (sqrt.f64 -1) 5)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h)))) (/.f64 -1/216 (pow.f64 (cbrt.f64 -1/2) 2)))) (*.f64 (fma.f64 1/12 (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1/2))) (*.f64 (pow.f64 (/.f64 (/.f64 (/.f64 1 h) (pow.f64 a 17)) (sqrt.f64 -1)) 1/18) (pow.f64 (/.f64 (/.f64 (/.f64 1 h) (pow.f64 a 17)) (sqrt.f64 -1)) 1/18))) (/.f64 1/4 (*.f64 (sqrt.f64 -1) (*.f64 h a)))) (/.f64 g (/.f64 (pow.f64 (cbrt.f64 -1/2) 2) g))))) (*.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/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2))) g)))))
(fma.f64 (cbrt.f64 (*.f64 h (/.f64 (sqrt.f64 -1) a))) (cbrt.f64 -1/2) (fma.f64 -1/3 (*.f64 (/.f64 (cbrt.f64 (*.f64 (/.f64 a h) (/.f64 a (neg.f64 h)))) (pow.f64 (cbrt.f64 -1/2) 2)) (+.f64 (*.f64 g (*.f64 g (fma.f64 1/12 (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1/2))) (*.f64 (pow.f64 (/.f64 (/.f64 (/.f64 1 h) (pow.f64 a 17)) (sqrt.f64 -1)) 1/18) (pow.f64 (/.f64 (/.f64 (/.f64 1 h) (pow.f64 a 17)) (sqrt.f64 -1)) 1/18))) (/.f64 1/4 (*.f64 (sqrt.f64 -1) (*.f64 h a)))))) (*.f64 (pow.f64 g 3) (fma.f64 1/3 (*.f64 (fma.f64 1/12 (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1/2))) (*.f64 (pow.f64 (/.f64 (/.f64 (/.f64 1 h) (pow.f64 a 17)) (sqrt.f64 -1)) 1/18) (pow.f64 (/.f64 (/.f64 (/.f64 1 h) (pow.f64 a 17)) (sqrt.f64 -1)) 1/18))) (/.f64 1/4 (*.f64 (sqrt.f64 -1) (*.f64 h a)))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 5))) (*.f64 (pow.f64 (/.f64 (/.f64 (/.f64 1 (pow.f64 a 4)) (pow.f64 h 5)) (pow.f64 (sqrt.f64 -1) 5)) 1/18) (pow.f64 (/.f64 (/.f64 (/.f64 1 (pow.f64 a 4)) (pow.f64 h 5)) (pow.f64 (sqrt.f64 -1) 5)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 -1 (*.f64 (pow.f64 a 7) (*.f64 h h)))) (/.f64 -1/216 (pow.f64 (cbrt.f64 -1/2) 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/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1/2) 2))) g)))))
(*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -1))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (pow.f64 h 2) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (cbrt.f64 -1)))
(fma.f64 1/12 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (*.f64 h h) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -1)))
(fma.f64 1/12 (/.f64 (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 g 5)) a)) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (*.f64 h h))) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -1)))
(fma.f64 1/12 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5))) (*.f64 (/.f64 h (pow.f64 (cbrt.f64 -1) 2)) h)) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -1)))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3) (/.f64 (pow.f64 h 4) (pow.f64 (cbrt.f64 -1) 2)))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (pow.f64 h 2) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (cbrt.f64 -1))))
(fma.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (/.f64 (pow.f64 h 4) (pow.f64 (cbrt.f64 -1) 2))) (fma.f64 1/12 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (*.f64 h h) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -1))))
(fma.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (/.f64 (pow.f64 h 4) (pow.f64 (cbrt.f64 -1) 2))) (fma.f64 1/12 (/.f64 (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 g 5)) a)) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (*.f64 h h))) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -1))))
(fma.f64 1/12 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5))) (*.f64 (/.f64 h (pow.f64 (cbrt.f64 -1) 2)) h)) (fma.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -1) (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11))) (/.f64 (*.f64 1/36 (pow.f64 h 4)) (pow.f64 (cbrt.f64 -1) 2)))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (pow.f64 a 2)) (pow.f64 g 2)) 1/3) (/.f64 (*.f64 (-.f64 (*.f64 13/288 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (*.f64 1/1728 (/.f64 1 (*.f64 a (*.f64 (pow.f64 (cbrt.f64 -1) 6) (pow.f64 g 5)))))) (pow.f64 h 6)) (pow.f64 (cbrt.f64 -1) 2)))) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 11))) 1/3) (/.f64 (pow.f64 h 4) (pow.f64 (cbrt.f64 -1) 2)))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 (/.f64 1 (*.f64 a (pow.f64 g 5))) 1/3) (/.f64 (pow.f64 h 2) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (cbrt.f64 -1)))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 (*.f64 a a) (*.f64 g g))) (/.f64 (-.f64 (/.f64 13/288 (*.f64 a (pow.f64 g 5))) (/.f64 1/1728 (*.f64 (*.f64 a (pow.f64 (cbrt.f64 -1) 6)) (pow.f64 g 5)))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 h 6)))) (fma.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (/.f64 (pow.f64 h 4) (pow.f64 (cbrt.f64 -1) 2))) (fma.f64 1/12 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 5)))) (/.f64 (*.f64 h h) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -1)))))
(fma.f64 1/3 (/.f64 (cbrt.f64 (/.f64 a (/.f64 (*.f64 g g) a))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (*.f64 (+.f64 (/.f64 13/288 (*.f64 a (pow.f64 g 5))) (/.f64 -1/1728 (*.f64 1 (*.f64 a (pow.f64 g 5))))) (pow.f64 h 6)))) (fma.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (pow.f64 g 11)))) (/.f64 (pow.f64 h 4) (pow.f64 (cbrt.f64 -1) 2))) (fma.f64 1/12 (/.f64 (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 g 5)) a)) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (*.f64 h h))) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -1)))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (*.f64 (/.f64 a g) (/.f64 a g))) (*.f64 (pow.f64 h 6) (/.f64 (+.f64 (/.f64 (/.f64 13/288 a) (pow.f64 g 5)) (/.f64 (/.f64 -1/1728 a) (pow.f64 g 5))) (pow.f64 (cbrt.f64 -1) 2)))) (fma.f64 1/12 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5))) (*.f64 (/.f64 h (pow.f64 (cbrt.f64 -1) 2)) h)) (fma.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -1) (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11))) (/.f64 (*.f64 1/36 (pow.f64 h 4)) (pow.f64 (cbrt.f64 -1) 2))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (*.f64 (/.f64 a g) (/.f64 a g))) (*.f64 (pow.f64 h 6) (/.f64 (*.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5)) 77/1728) (pow.f64 (cbrt.f64 -1) 2)))) (fma.f64 1/12 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 5))) (*.f64 (/.f64 h (pow.f64 (cbrt.f64 -1) 2)) h)) (fma.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -1) (*.f64 (cbrt.f64 (/.f64 (/.f64 1 a) (pow.f64 g 11))) (/.f64 (*.f64 1/36 (pow.f64 h 4)) (pow.f64 (cbrt.f64 -1) 2))))))

localize110.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.8b
(-.f64 (*.f64 g g) (*.f64 h h))
9.4b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
17.2b
(-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h))))
32.8b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 167 to 40 computations (76% saved)

series39.0ms (0.3%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
27.0ms
h
@inf
(-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h))))
3.0ms
h
@0
(-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h))))
3.0ms
g
@inf
(-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h))))
2.0ms
g
@0
(-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h))))
2.0ms
g
@-inf
(-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h))))

rewrite124.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
488×frac-times
442×+-commutative
351×associate-+r+
276×times-frac
207×associate-*r/
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0915
15015
242815
3754115
Stop Event
node limit
Counts
1 → 65
Calls
Call 1
Inputs
(-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 g (neg.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 g (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g)) (neg.f64 (/.f64 (-.f64 g h) (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 g h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (neg.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 g 0) (neg.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (/.f64 (-.f64 g h) (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 g h)))) (/.f64 g (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 g g (-.f64 (*.f64 h h) (*.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 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.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 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) (/.f64 1 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 (-.f64 (fma.f64 g g (-.f64 (*.f64 g g) (*.f64 h h))) (*.f64 g (neg.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))) (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 1 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(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 (/.f64 1 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (fma.f64 g g (-.f64 (*.f64 h h) (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 (neg.f64 (fma.f64 g g (-.f64 (*.f64 h h) (*.f64 g g)))) (/.f64 1 (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))) (/.f64 1 (neg.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 g g (-.f64 (*.f64 h h) (*.f64 g g))) (fma.f64 g g (-.f64 (*.f64 h h) (*.f64 g g)))) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 g g (-.f64 (*.f64 h h) (*.f64 g g))) (+.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 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 (pow.f64 g 4) (pow.f64 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))) 2))) (-.f64 (*.f64 g g) (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))) 3))) (+.f64 (pow.f64 g 4) (*.f64 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))) (*.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 g g (-.f64 (*.f64 h h) (*.f64 g g))) (+.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 (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 (fma.f64 g g (-.f64 (*.f64 g g) (*.f64 h h))) (*.f64 g (neg.f64 (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 (-.f64 (*.f64 g g) (*.f64 h h)) (-.f64 (*.f64 g g) (*.f64 g (neg.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 (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 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.f64 g g (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(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 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 4) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 2)) (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (fma.f64 g g (-.f64 (*.f64 g g) (*.f64 h h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 1 (-.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 1 (/.f64 (/.f64 1 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 g g (-.f64 (*.f64 g g) (*.f64 h h))) (*.f64 g (neg.f64 (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 9) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 9/2)) (*.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 (pow.f64 (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) (+.f64 (pow.f64 g 6) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 g g (-.f64 (*.f64 h h) (*.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 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 (-.f64 (fma.f64 g g (-.f64 (*.f64 g g) (*.f64 h h))) (*.f64 g (neg.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 g g (-.f64 (*.f64 h h) (*.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 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) 1) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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)))))) (fma.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 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.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 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 (pow.f64 g 9) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 9/2)) (/.f64 1 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (pow.f64 (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) (+.f64 (pow.f64 g 6) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g g)) (-.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 g (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g)) (/.f64 g (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g))) (*.f64 (/.f64 (-.f64 g h) (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 g h))) (/.f64 (-.f64 g h) (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 g h))))) (+.f64 (/.f64 g (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g)) (/.f64 (-.f64 g h) (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 g h)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))))) (+.f64 (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 g (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g)) 3) (pow.f64 (/.f64 (-.f64 g h) (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 g h))) 3)) (+.f64 (+.f64 (*.f64 (/.f64 g (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g)) (/.f64 g (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g))) (*.f64 (/.f64 (-.f64 g h) (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 g h))) (/.f64 (-.f64 g h) (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 g h))))) (*.f64 (/.f64 g (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) g)) (/.f64 (-.f64 g h) (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (+.f64 g h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) 3) (pow.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) 3)) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))))) (*.f64 (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 g g) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (-.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 (-.f64 (*.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (*.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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)) 1) (*.f64 (fma.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 g 6) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3)) 1) (*.f64 (+.f64 (pow.f64 g 4) (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (fma.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 g 6) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3)) 1) (*.f64 (+.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 9) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 9/2)) 1) (*.f64 (+.f64 (pow.f64 (*.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) (+.f64 (pow.f64 g 6) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3))) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (fma.f64 g g (-.f64 (*.f64 h h) (*.f64 g g))))) (neg.f64 (neg.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (neg.f64 (neg.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 g g (-.f64 (*.f64 h h) (*.f64 g g))) (neg.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) (neg.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 g h)) (neg.f64 (sqrt.f64 (+.f64 g h))) g)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 g h)) (neg.f64 (sqrt.f64 (-.f64 g h))) g)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (-.f64 g h))) (sqrt.f64 (+.f64 g h)) g)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (+.f64 g h))) (sqrt.f64 (-.f64 g h)) g)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))

simplify95.0ms (0.7%)

Algorithm
egg-herbie
Rules
920×associate-/l*
575×associate-/r*
396×associate-*r/
334×*-commutative
279×distribute-lft-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01661258
1627774
23181672
Stop Event
node limit
Counts
89 → 108
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (*.f64 (-.f64 1 (*.f64 1/2 (/.f64 (+.f64 h (*.f64 -1 h)) (*.f64 (sqrt.f64 -1) h)))) g))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 (/.f64 (+.f64 h (*.f64 -1 h)) (*.f64 (sqrt.f64 -1) h)))) g) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 g 2) (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 h) h) (*.f64 (sqrt.f64 -1) h))) 2))) (*.f64 (sqrt.f64 -1) h)))))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 h (*.f64 -1 h)) (*.f64 (sqrt.f64 -1) h))) 2)) (*.f64 (pow.f64 g 3) (+.f64 (*.f64 -1 h) h))) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 (/.f64 (+.f64 h (*.f64 -1 h)) (*.f64 (sqrt.f64 -1) h)))) g) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 g 2) (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 h) h) (*.f64 (sqrt.f64 -1) h))) 2))) (*.f64 (sqrt.f64 -1) h))))))
(*.f64 -1/2 (+.f64 h (*.f64 -1 h)))
(+.f64 (*.f64 -1/2 (/.f64 (-.f64 (*.f64 -1 (pow.f64 h 2)) (pow.f64 (*.f64 1/2 (+.f64 (*.f64 -1 h) h)) 2)) g)) (*.f64 -1/2 (+.f64 h (*.f64 -1 h))))
(+.f64 (*.f64 -1/2 (/.f64 (-.f64 (*.f64 -1 (pow.f64 h 2)) (pow.f64 (*.f64 1/2 (+.f64 (*.f64 -1 h) h)) 2)) g)) (+.f64 (*.f64 -1/2 (+.f64 h (*.f64 -1 h))) (*.f64 1/4 (/.f64 (*.f64 (-.f64 (*.f64 -1 (pow.f64 h 2)) (pow.f64 (*.f64 1/2 (+.f64 h (*.f64 -1 h))) 2)) (+.f64 (*.f64 -1 h) h)) (pow.f64 g 2)))))
(+.f64 (*.f64 -1/2 (/.f64 (-.f64 (*.f64 -1 (pow.f64 h 2)) (pow.f64 (*.f64 1/2 (+.f64 (*.f64 -1 h) h)) 2)) g)) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 1/2 (-.f64 (*.f64 -1 (pow.f64 h 2)) (pow.f64 (*.f64 1/2 (+.f64 h (*.f64 -1 h))) 2))) 2) (*.f64 -1/4 (*.f64 (-.f64 (*.f64 -1 (pow.f64 h 2)) (pow.f64 (*.f64 1/2 (+.f64 (*.f64 -1 h) h)) 2)) (*.f64 (+.f64 h (*.f64 -1 h)) (+.f64 (*.f64 -1 h) h))))) (pow.f64 g 3))) (+.f64 (*.f64 -1/2 (+.f64 h (*.f64 -1 h))) (*.f64 1/4 (/.f64 (*.f64 (-.f64 (*.f64 -1 (pow.f64 h 2)) (pow.f64 (*.f64 1/2 (+.f64 h (*.f64 -1 h))) 2)) (+.f64 (*.f64 -1 h) h)) (pow.f64 g 2))))))
(*.f64 (+.f64 1 (pow.f64 (sqrt.f64 -1) 2)) g)
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 h) h)) (*.f64 (+.f64 1 (pow.f64 (sqrt.f64 -1) 2)) g))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 h) h)) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (pow.f64 h 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 h (*.f64 -1 h)) (sqrt.f64 -1))) 2)) g)) (*.f64 (+.f64 1 (pow.f64 (sqrt.f64 -1) 2)) g)))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 h) h)) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (pow.f64 h 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 h (*.f64 -1 h)) (sqrt.f64 -1))) 2)) g)) (+.f64 (*.f64 (+.f64 1 (pow.f64 (sqrt.f64 -1) 2)) g) (*.f64 1/4 (/.f64 (*.f64 (+.f64 h (*.f64 -1 h)) (-.f64 (pow.f64 h 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 h) h) (sqrt.f64 -1))) 2))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 g 2)))))))
(*.f64 -1/2 (/.f64 (*.f64 h (+.f64 (*.f64 -1 g) g)) g))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 h (+.f64 (*.f64 -1 g) g)) g)) (*.f64 1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) g)) 2) 1) (pow.f64 h 2)) g)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 h (+.f64 (*.f64 -1 g) g)) g)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) g)) 2) 1) (pow.f64 h 2)) g)) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 g) g) g)) 2)) (*.f64 (+.f64 g (*.f64 -1 g)) (pow.f64 h 3))) (pow.f64 g 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 h (+.f64 (*.f64 -1 g) g)) g)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) g)) 2) 1) (pow.f64 h 2)) g)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 -1/2 (/.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 g) g) g)) 2)) g)) 2) (*.f64 1/4 (/.f64 (*.f64 (+.f64 g (*.f64 -1 g)) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) g)) 2) 1) (+.f64 (*.f64 -1 g) g))) (pow.f64 g 4)))) (pow.f64 h 4)) g)) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 g) g) g)) 2)) (*.f64 (+.f64 g (*.f64 -1 g)) (pow.f64 h 3))) (pow.f64 g 3))))))
(*.f64 -1 (*.f64 (sqrt.f64 -1) h))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) g) (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 g 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 g) g) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) h))) g)) (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (-.f64 (pow.f64 g 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))) 2)) (+.f64 (*.f64 -1 g) g)) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 2)))) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 g 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 g) g) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) h))) g))) (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))))
(*.f64 (sqrt.f64 -1) h)
(-.f64 (+.f64 (*.f64 (sqrt.f64 -1) h) g) (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (pow.f64 g 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 g) g) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 (sqrt.f64 -1) h) g)) (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (pow.f64 g 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 g) g) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (-.f64 (pow.f64 g 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))) 2)) (+.f64 (*.f64 -1 g) g)) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 2)))) (+.f64 (*.f64 (sqrt.f64 -1) h) g))) (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))))
Outputs
(*.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 (-.f64 1 (*.f64 1/2 (/.f64 (+.f64 h (*.f64 -1 h)) (*.f64 (sqrt.f64 -1) h)))) g))
(fma.f64 -1 (*.f64 (sqrt.f64 -1) h) (*.f64 (+.f64 1 (*.f64 -1/2 (/.f64 (*.f64 0 h) (*.f64 (sqrt.f64 -1) h)))) g))
(-.f64 (*.f64 (+.f64 1 (/.f64 0 (*.f64 (sqrt.f64 -1) h))) g) (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 1 g) (-.f64 (/.f64 0 (*.f64 (sqrt.f64 -1) h)) (*.f64 (sqrt.f64 -1) h)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 (/.f64 (+.f64 h (*.f64 -1 h)) (*.f64 (sqrt.f64 -1) h)))) g) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 g 2) (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 h) h) (*.f64 (sqrt.f64 -1) h))) 2))) (*.f64 (sqrt.f64 -1) h)))))
(fma.f64 -1 (*.f64 (sqrt.f64 -1) h) (fma.f64 (+.f64 1 (*.f64 -1/2 (/.f64 (*.f64 0 h) (*.f64 (sqrt.f64 -1) h)))) g (*.f64 -1/2 (*.f64 (/.f64 (*.f64 g g) (sqrt.f64 -1)) (/.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 h) (*.f64 (sqrt.f64 -1) h))) 2)) h)))))
(-.f64 (fma.f64 (+.f64 1 (/.f64 0 (*.f64 (sqrt.f64 -1) h))) g (*.f64 -1/2 (*.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (+.f64 1 (pow.f64 (/.f64 0 (*.f64 (sqrt.f64 -1) h)) 2))))) (*.f64 (sqrt.f64 -1) h))
(-.f64 (fma.f64 -1/2 (*.f64 (+.f64 1 (pow.f64 (/.f64 0 (*.f64 (sqrt.f64 -1) h)) 2)) (*.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) g)) (+.f64 (/.f64 0 (*.f64 (sqrt.f64 -1) h)) (*.f64 1 g))) (*.f64 (sqrt.f64 -1) h))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 h (*.f64 -1 h)) (*.f64 (sqrt.f64 -1) h))) 2)) (*.f64 (pow.f64 g 3) (+.f64 (*.f64 -1 h) h))) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 (-.f64 1 (*.f64 1/2 (/.f64 (+.f64 h (*.f64 -1 h)) (*.f64 (sqrt.f64 -1) h)))) g) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 g 2) (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 h) h) (*.f64 (sqrt.f64 -1) h))) 2))) (*.f64 (sqrt.f64 -1) h))))))
(fma.f64 -1 (*.f64 (sqrt.f64 -1) h) (fma.f64 1/4 (/.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 h) (*.f64 (sqrt.f64 -1) h))) 2)) (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)) (*.f64 (*.f64 0 h) (pow.f64 g 3)))) (fma.f64 (+.f64 1 (*.f64 -1/2 (/.f64 (*.f64 0 h) (*.f64 (sqrt.f64 -1) h)))) g (*.f64 -1/2 (*.f64 (/.f64 (*.f64 g g) (sqrt.f64 -1)) (/.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 h) (*.f64 (sqrt.f64 -1) h))) 2)) h))))))
(-.f64 (fma.f64 1/4 (/.f64 (*.f64 (/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 0 (*.f64 (sqrt.f64 -1) h)) 2)) (pow.f64 g 3)) (sqrt.f64 -1)) 0) (pow.f64 h 3)) (fma.f64 (+.f64 1 (/.f64 0 (*.f64 (sqrt.f64 -1) h))) g (*.f64 -1/2 (*.f64 (*.f64 (/.f64 g h) (/.f64 g (sqrt.f64 -1))) (+.f64 1 (pow.f64 (/.f64 0 (*.f64 (sqrt.f64 -1) h)) 2)))))) (*.f64 (sqrt.f64 -1) h))
(+.f64 (-.f64 (fma.f64 -1/2 (*.f64 (+.f64 1 (pow.f64 (/.f64 0 (*.f64 (sqrt.f64 -1) h)) 2)) (*.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) g)) (+.f64 (/.f64 0 (*.f64 (sqrt.f64 -1) h)) (*.f64 1 g))) (*.f64 (sqrt.f64 -1) h)) (*.f64 (/.f64 0 (sqrt.f64 -1)) (/.f64 (+.f64 1 (pow.f64 (/.f64 0 (*.f64 (sqrt.f64 -1) h)) 2)) (/.f64 (pow.f64 h 3) (pow.f64 g 3)))))
(*.f64 -1/2 (+.f64 h (*.f64 -1 h)))
(*.f64 -1/2 (*.f64 0 h))
0
(+.f64 (*.f64 -1/2 (/.f64 (-.f64 (*.f64 -1 (pow.f64 h 2)) (pow.f64 (*.f64 1/2 (+.f64 (*.f64 -1 h) h)) 2)) g)) (*.f64 -1/2 (+.f64 h (*.f64 -1 h))))
(*.f64 -1/2 (+.f64 (/.f64 (-.f64 (neg.f64 (*.f64 h h)) (pow.f64 (*.f64 1/2 (*.f64 0 h)) 2)) g) (*.f64 0 h)))
(fma.f64 -1/2 (/.f64 (fma.f64 -1 (*.f64 h h) 0) g) 0)
(fma.f64 -1/2 (/.f64 h (/.f64 g (neg.f64 h))) 0)
(+.f64 (*.f64 -1/2 (/.f64 (-.f64 (*.f64 -1 (pow.f64 h 2)) (pow.f64 (*.f64 1/2 (+.f64 (*.f64 -1 h) h)) 2)) g)) (+.f64 (*.f64 -1/2 (+.f64 h (*.f64 -1 h))) (*.f64 1/4 (/.f64 (*.f64 (-.f64 (*.f64 -1 (pow.f64 h 2)) (pow.f64 (*.f64 1/2 (+.f64 h (*.f64 -1 h))) 2)) (+.f64 (*.f64 -1 h) h)) (pow.f64 g 2)))))
(fma.f64 -1/2 (/.f64 (-.f64 (neg.f64 (*.f64 h h)) (pow.f64 (*.f64 1/2 (*.f64 0 h)) 2)) g) (fma.f64 -1/2 (*.f64 0 h) (*.f64 1/4 (/.f64 (-.f64 (neg.f64 (*.f64 h h)) (pow.f64 (*.f64 1/2 (*.f64 0 h)) 2)) (/.f64 (*.f64 g g) (*.f64 0 h))))))
(fma.f64 -1/2 (/.f64 (fma.f64 -1 (*.f64 h h) 0) g) (+.f64 0 (/.f64 0 (*.f64 g g))))
(+.f64 (fma.f64 -1/2 (/.f64 h (/.f64 g (neg.f64 h))) 0) (/.f64 0 (*.f64 g g)))
(+.f64 (*.f64 -1/2 (/.f64 (-.f64 (*.f64 -1 (pow.f64 h 2)) (pow.f64 (*.f64 1/2 (+.f64 (*.f64 -1 h) h)) 2)) g)) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 1/2 (-.f64 (*.f64 -1 (pow.f64 h 2)) (pow.f64 (*.f64 1/2 (+.f64 h (*.f64 -1 h))) 2))) 2) (*.f64 -1/4 (*.f64 (-.f64 (*.f64 -1 (pow.f64 h 2)) (pow.f64 (*.f64 1/2 (+.f64 (*.f64 -1 h) h)) 2)) (*.f64 (+.f64 h (*.f64 -1 h)) (+.f64 (*.f64 -1 h) h))))) (pow.f64 g 3))) (+.f64 (*.f64 -1/2 (+.f64 h (*.f64 -1 h))) (*.f64 1/4 (/.f64 (*.f64 (-.f64 (*.f64 -1 (pow.f64 h 2)) (pow.f64 (*.f64 1/2 (+.f64 h (*.f64 -1 h))) 2)) (+.f64 (*.f64 -1 h) h)) (pow.f64 g 2))))))
(fma.f64 -1/2 (/.f64 (-.f64 (neg.f64 (*.f64 h h)) (pow.f64 (*.f64 1/2 (*.f64 0 h)) 2)) g) (fma.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 1/2 (-.f64 (neg.f64 (*.f64 h h)) (pow.f64 (*.f64 1/2 (*.f64 0 h)) 2))) 2) (*.f64 (*.f64 -1/4 (-.f64 (neg.f64 (*.f64 h h)) (pow.f64 (*.f64 1/2 (*.f64 0 h)) 2))) (*.f64 (*.f64 0 h) (*.f64 0 h)))) (pow.f64 g 3)) (fma.f64 -1/2 (*.f64 0 h) (*.f64 1/4 (/.f64 (-.f64 (neg.f64 (*.f64 h h)) (pow.f64 (*.f64 1/2 (*.f64 0 h)) 2)) (/.f64 (*.f64 g g) (*.f64 0 h)))))))
(fma.f64 -1/2 (/.f64 (fma.f64 -1 (*.f64 h h) 0) g) (fma.f64 1/2 (/.f64 (+.f64 0 (pow.f64 (*.f64 1/2 (fma.f64 -1 (*.f64 h h) 0)) 2)) (pow.f64 g 3)) (+.f64 0 (/.f64 0 (*.f64 g g)))))
(fma.f64 -1/2 (/.f64 h (/.f64 g (neg.f64 h))) (fma.f64 1/2 (/.f64 (+.f64 0 (pow.f64 (*.f64 1/2 (*.f64 h (neg.f64 h))) 2)) (pow.f64 g 3)) (+.f64 0 (/.f64 0 (*.f64 g g)))))
(*.f64 (+.f64 1 (pow.f64 (sqrt.f64 -1) 2)) g)
(*.f64 -1/2 (*.f64 0 h))
0
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 h) h)) (*.f64 (+.f64 1 (pow.f64 (sqrt.f64 -1) 2)) g))
(*.f64 -1/2 (*.f64 0 h))
0
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 h) h)) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (pow.f64 h 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 h (*.f64 -1 h)) (sqrt.f64 -1))) 2)) g)) (*.f64 (+.f64 1 (pow.f64 (sqrt.f64 -1) 2)) g)))
(fma.f64 -1/2 (*.f64 0 h) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 h h) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 h) (sqrt.f64 -1))) 2)) g) (*.f64 g (+.f64 1 (pow.f64 (sqrt.f64 -1) 2)))))
(fma.f64 1/2 (/.f64 (fma.f64 h h (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) g) 0)
(fma.f64 1/2 (/.f64 (fma.f64 h h 0) g) 0)
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 h) h)) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (pow.f64 h 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 h (*.f64 -1 h)) (sqrt.f64 -1))) 2)) g)) (+.f64 (*.f64 (+.f64 1 (pow.f64 (sqrt.f64 -1) 2)) g) (*.f64 1/4 (/.f64 (*.f64 (+.f64 h (*.f64 -1 h)) (-.f64 (pow.f64 h 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 h) h) (sqrt.f64 -1))) 2))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 g 2)))))))
(fma.f64 -1/2 (*.f64 0 h) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 h h) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 h) (sqrt.f64 -1))) 2)) g) (fma.f64 (+.f64 1 (pow.f64 (sqrt.f64 -1) 2)) g (*.f64 1/4 (*.f64 (/.f64 (*.f64 0 h) (pow.f64 (sqrt.f64 -1) 2)) (/.f64 (-.f64 (*.f64 h h) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 h) (sqrt.f64 -1))) 2)) (*.f64 g g)))))))
(+.f64 (fma.f64 1/2 (/.f64 (fma.f64 h h (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) g) 0) (/.f64 (+.f64 0 (*.f64 0 (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2))) (*.f64 g g)))
(+.f64 (/.f64 0 (*.f64 g g)) (fma.f64 1/2 (/.f64 (fma.f64 h h 0) g) 0))
(*.f64 -1/2 (/.f64 (*.f64 h (+.f64 (*.f64 -1 g) g)) g))
(*.f64 -1/2 (/.f64 h (/.f64 g (*.f64 0 g))))
(/.f64 0 g)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 h (+.f64 (*.f64 -1 g) g)) g)) (*.f64 1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) g)) 2) 1) (pow.f64 h 2)) g)))
(fma.f64 -1/2 (/.f64 h (/.f64 g (*.f64 0 g))) (*.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 g) g)) 2)) (/.f64 g (*.f64 h h)))))
(fma.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (/.f64 0 g) 2)) (/.f64 g (*.f64 h h))) (/.f64 0 g))
(+.f64 (/.f64 0 g) (*.f64 (/.f64 (+.f64 1/2 (/.f64 0 (*.f64 g g))) g) (*.f64 h h)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 h (+.f64 (*.f64 -1 g) g)) g)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) g)) 2) 1) (pow.f64 h 2)) g)) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 g) g) g)) 2)) (*.f64 (+.f64 g (*.f64 -1 g)) (pow.f64 h 3))) (pow.f64 g 3)))))
(fma.f64 -1/2 (/.f64 h (/.f64 g (*.f64 0 g))) (fma.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 g) g)) 2)) (/.f64 g (*.f64 h h))) (*.f64 -1/4 (/.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 g) g)) 2)) (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 h 3) (*.f64 0 g)))))))
(+.f64 (/.f64 0 g) (fma.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (/.f64 0 g) 2)) (/.f64 g (*.f64 h h))) (/.f64 (+.f64 0 (*.f64 0 (pow.f64 (/.f64 0 g) 2))) (pow.f64 g 3))))
(+.f64 (/.f64 0 g) (+.f64 (*.f64 (/.f64 (+.f64 1/2 (/.f64 0 (*.f64 g g))) g) (*.f64 h h)) (/.f64 (+.f64 0 (/.f64 0 (*.f64 g g))) (pow.f64 g 3))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 h (+.f64 (*.f64 -1 g) g)) g)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) g)) 2) 1) (pow.f64 h 2)) g)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 -1/2 (/.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 g) g) g)) 2)) g)) 2) (*.f64 1/4 (/.f64 (*.f64 (+.f64 g (*.f64 -1 g)) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) g)) 2) 1) (+.f64 (*.f64 -1 g) g))) (pow.f64 g 4)))) (pow.f64 h 4)) g)) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 g) g) g)) 2)) (*.f64 (+.f64 g (*.f64 -1 g)) (pow.f64 h 3))) (pow.f64 g 3))))))
(fma.f64 -1/2 (/.f64 h (/.f64 g (*.f64 0 g))) (fma.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 g) g)) 2)) (/.f64 g (*.f64 h h))) (fma.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/2 (/.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 g) g)) 2)) g)) 2) (*.f64 1/4 (/.f64 (*.f64 0 g) (/.f64 (pow.f64 g 4) (*.f64 (*.f64 0 g) (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 g) g)) 2))))))) (/.f64 g (pow.f64 h 4))) (*.f64 -1/4 (/.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 g) g)) 2)) (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 h 3) (*.f64 0 g))))))))
(+.f64 (/.f64 0 g) (fma.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (/.f64 0 g) 2)) (/.f64 g (*.f64 h h))) (fma.f64 1/2 (*.f64 (/.f64 (+.f64 (pow.f64 (/.f64 (+.f64 -1/2 (*.f64 (pow.f64 (/.f64 0 g) 2) -1/2)) g) 2) (/.f64 (+.f64 0 (*.f64 0 (pow.f64 (/.f64 0 g) 2))) (pow.f64 g 4))) g) (pow.f64 h 4)) (/.f64 (+.f64 0 (*.f64 0 (pow.f64 (/.f64 0 g) 2))) (pow.f64 g 3)))))
(+.f64 (*.f64 (/.f64 (+.f64 1/2 (/.f64 0 (*.f64 g g))) g) (*.f64 h h)) (+.f64 (/.f64 0 g) (fma.f64 1/2 (*.f64 (pow.f64 h 4) (/.f64 (+.f64 (pow.f64 (/.f64 (+.f64 -1/2 (/.f64 0 (*.f64 g g))) g) 2) (/.f64 (+.f64 0 (/.f64 0 (*.f64 g g))) (pow.f64 g 4))) g)) (/.f64 (+.f64 0 (/.f64 0 (*.f64 g g))) (pow.f64 g 3)))))
(*.f64 -1 (*.f64 (sqrt.f64 -1) h))
(neg.f64 (*.f64 (sqrt.f64 -1) h))
(*.f64 (sqrt.f64 -1) (neg.f64 h))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) g) (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))))
(+.f64 (fma.f64 -1 (*.f64 (sqrt.f64 -1) h) g) (*.f64 -1/2 (/.f64 (*.f64 0 g) (sqrt.f64 -1))))
(+.f64 (-.f64 g (*.f64 (sqrt.f64 -1) h)) (/.f64 0 (sqrt.f64 -1)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 g 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 g) g) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) h))) g)) (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))))
(+.f64 (fma.f64 -1 (*.f64 (sqrt.f64 -1) h) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 g g) (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 g)) (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -1) h)) g)) (*.f64 -1/2 (/.f64 (*.f64 0 g) (sqrt.f64 -1))))
(+.f64 (/.f64 0 (sqrt.f64 -1)) (-.f64 (fma.f64 -1/2 (/.f64 (fma.f64 g g (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -1) h)) g) (*.f64 (sqrt.f64 -1) h)))
(-.f64 (+.f64 (/.f64 0 (sqrt.f64 -1)) (fma.f64 -1/2 (/.f64 (fma.f64 g g 0) (*.f64 (sqrt.f64 -1) h)) g)) (*.f64 (sqrt.f64 -1) h))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) h)) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (-.f64 (pow.f64 g 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))) 2)) (+.f64 (*.f64 -1 g) g)) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 2)))) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 g 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 g) g) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) h))) g))) (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))))
(+.f64 (fma.f64 -1 (*.f64 (sqrt.f64 -1) h) (fma.f64 1/4 (/.f64 (-.f64 (*.f64 g g) (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 g)) (sqrt.f64 -1)) 2)) (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 h h)) (*.f64 0 g))) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 g g) (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 g)) (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -1) h)) g))) (*.f64 -1/2 (/.f64 (*.f64 0 g) (sqrt.f64 -1))))
(+.f64 (/.f64 0 (sqrt.f64 -1)) (+.f64 (fma.f64 -1/2 (/.f64 (fma.f64 g g (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -1) h)) g) (fma.f64 (neg.f64 (sqrt.f64 -1)) h (/.f64 (*.f64 0 (/.f64 (fma.f64 g g (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) (sqrt.f64 -1))) (*.f64 h h)))))
(+.f64 (-.f64 (fma.f64 -1/2 (/.f64 (fma.f64 g g 0) (*.f64 (sqrt.f64 -1) h)) g) (*.f64 (sqrt.f64 -1) h)) (-.f64 (*.f64 (/.f64 0 (sqrt.f64 -1)) (/.f64 (fma.f64 g g 0) (*.f64 h h))) (/.f64 0 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 -1) h)
(-.f64 (+.f64 (*.f64 (sqrt.f64 -1) h) g) (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))))
(-.f64 (fma.f64 (sqrt.f64 -1) h g) (/.f64 (*.f64 1/2 (*.f64 0 g)) (sqrt.f64 -1)))
(+.f64 (/.f64 0 (sqrt.f64 -1)) (fma.f64 (sqrt.f64 -1) h g))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (pow.f64 g 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 g) g) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 (sqrt.f64 -1) h) g)) (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))))
(+.f64 (fma.f64 1/2 (/.f64 (-.f64 (*.f64 g g) (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 g)) (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -1) h)) (fma.f64 (sqrt.f64 -1) h g)) (*.f64 -1/2 (/.f64 (*.f64 0 g) (sqrt.f64 -1))))
(+.f64 (/.f64 0 (sqrt.f64 -1)) (fma.f64 1/2 (/.f64 (fma.f64 g g (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -1) h)) (fma.f64 (sqrt.f64 -1) h g)))
(+.f64 (/.f64 0 (sqrt.f64 -1)) (fma.f64 1/2 (/.f64 (fma.f64 g g 0) (*.f64 (sqrt.f64 -1) h)) (fma.f64 (sqrt.f64 -1) h g)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (pow.f64 g 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -1 g) g) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) h))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (-.f64 (pow.f64 g 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))) 2)) (+.f64 (*.f64 -1 g) g)) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 2)))) (+.f64 (*.f64 (sqrt.f64 -1) h) g))) (*.f64 1/2 (/.f64 (+.f64 g (*.f64 -1 g)) (sqrt.f64 -1))))
(+.f64 (fma.f64 1/2 (/.f64 (-.f64 (*.f64 g g) (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 g)) (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -1) h)) (fma.f64 1/4 (/.f64 (-.f64 (*.f64 g g) (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 g)) (sqrt.f64 -1)) 2)) (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 h h)) (*.f64 0 g))) (fma.f64 (sqrt.f64 -1) h g))) (*.f64 -1/2 (/.f64 (*.f64 0 g) (sqrt.f64 -1))))
(+.f64 (/.f64 0 (sqrt.f64 -1)) (+.f64 (/.f64 (*.f64 0 (/.f64 (fma.f64 g g (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) (sqrt.f64 -1))) (*.f64 h h)) (fma.f64 1/2 (/.f64 (fma.f64 g g (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -1) h)) (fma.f64 (sqrt.f64 -1) h g))))
(+.f64 (fma.f64 1/2 (/.f64 (fma.f64 g g 0) (*.f64 (sqrt.f64 -1) h)) (fma.f64 (sqrt.f64 -1) h g)) (+.f64 (*.f64 (/.f64 0 (sqrt.f64 -1)) (/.f64 (fma.f64 g g 0) (*.f64 h h))) (/.f64 0 (sqrt.f64 -1))))

localize101.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.4b
(-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
3.8b
(-.f64 (*.f64 g g) (*.f64 h h))
9.4b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
32.8b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 176 to 47 computations (73.3% saved)

eval2.3s (15.8%)

Compiler

Compiled 113785 to 52369 computations (54% saved)

prune730.0ms (5.1%)

Pruning

43 alts after pruning (43 fresh and 0 done)

PrunedKeptTotal
New2218322250
Fresh141125
Picked101
Done404
Total2237432280
Error
12.6b
Counts
2280 → 43
Alt Table
Click to see full alt table
StatusErrorProgram
44.1b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (*.f64 g 2))))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
36.7b
(+.f64 (/.f64 (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 a -2))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
51.9b
(+.f64 (cbrt.f64 (*.f64 (+.f64 (/.f64 0 g) (*.f64 (/.f64 (+.f64 1/2 (/.f64 0 (*.f64 g g))) g) (*.f64 h h))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
61.4b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (*.f64 (/.f64 1/2 g) (*.f64 h h)) (/.f64 -1/2 a))))
48.5b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (fma.f64 -1/2 (/.f64 h (/.f64 g h)) g)) (/.f64 -1/2 a))))
44.1b
(+.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (*.f64 g 2))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
50.6b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
62.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
61.4b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) (/.f64 -1/2 a))))
53.8b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (/.f64 (*.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (-.f64 g h)) (-.f64 g h)))) (/.f64 -1/2 a))))
45.7b
(+.f64 (exp.f64 (*.f64 1/3 (log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (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))))
39.2b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
42.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h)))) (/.f64 -1/2 a))))
45.7b
(+.f64 (pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1/3) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
36.7b
(+.f64 (*.f64 (cbrt.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 1 (cbrt.f64 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
48.0b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
43.0b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (-.f64 g (exp.f64 (*.f64 1/2 (log.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))))
50.6b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)))))
62.7b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
53.0b
(+.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (fma.f64 1/8 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) (*.f64 1/2 (*.f64 (/.f64 h g) h))))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
47.4b
(+.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) (cbrt.f64 -1/2)) (*.f64 (cbrt.f64 (fma.f64 g g (+.f64 (-.f64 (*.f64 g g) (*.f64 h h)) (*.f64 g (sqrt.f64 (-.f64 (*.f64 g 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))))
50.6b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 a -2))))
48.4b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h)))) (/.f64 -1/2 a))))
42.4b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
50.5b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
49.9b
(+.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 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
39.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
19.5b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
58.2b
(+.f64 (cbrt.f64 (*.f64 (fma.f64 (sqrt.f64 (-.f64 g h)) (neg.f64 (sqrt.f64 (+.f64 g h))) g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
19.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
45.4b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (exp.f64 (*.f64 1/2 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a))) (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 g (neg.f64 g)) (/.f64 -1/2 a))) (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 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -1)))
48.6b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h)))) (/.f64 -1/2 a))) (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
48.5b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
36.7b
(+.f64 (/.f64 (cbrt.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g 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))))
39.3b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (/.f64 1 (cbrt.f64 (/.f64 (*.f64 a -2) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))
36.7b
(+.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (/.f64 1 a)) (cbrt.f64 (-.f64 g (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))))
48.7b
(+.f64 (cbrt.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) 3) (pow.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) 3)) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))))) (*.f64 (/.f64 (pow.f64 g 3) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (/.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))))) (/.f64 -1/2 a))) (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 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
47.4b
(+.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
57.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (pow.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a)) 1/3))
42.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))) (/.f64 -1/2 a))))
Compiler

Compiled 3260 to 1830 computations (43.9% saved)

localize25.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 62 to 31 computations (50% saved)

series8.0ms (0.1%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
2.0ms
g
@0
(*.f64 (+.f64 g g) (/.f64 -1/2 a))
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
g
@inf
(cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a)))
1.0ms
a
@0
(cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a)))

rewrite135.0ms (0.9%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
72×associate-*r/
72×associate-*r/
67×associate-*r/
67×frac-times
67×frac-times
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0824
13618
225818
3196118
0812
1369
22589
319619
0812
1369
0710
1307
22177
316207
0710
1307
Stop Event
iter limit
unsound
iter limit
unsound
unsound
Counts
2 → 32
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 (cbrt.f64 (/.f64 0 0)) (cbrt.f64 (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 0 0) a) 1/6) (pow.f64 (/.f64 (/.f64 0 0) a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 0 0)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 0 0) a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 0 0) a)) 1/3))))))
((#(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 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 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 1 (/.f64 a (+.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 g g) 1) (*.f64 a -2))))) (#(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 (+.f64 g g)) (*.f64 a -2))))) (#(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 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 (*.f64 2 (pow.f64 g 3))) (*.f64 (*.f64 a -2) (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))))))

simplify17.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
56 → 34
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)

localize25.0ms (0.2%)

Compiler

Compiled 68 to 32 computations (52.9% saved)

localize49.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
1.0b
(cbrt.f64 2)
16.5b
(pow.f64 (/.f64 (*.f64 1 g) a) 1/3)
Compiler

Compiled 89 to 63 computations (29.2% saved)

series2.0ms (0%)

Counts
2 → 0
Calls

6 calls:

TimeVariablePointExpression
0.0ms
g
@inf
(pow.f64 (/.f64 (*.f64 1 g) a) 1/3)
0.0ms
g
@-inf
(pow.f64 (/.f64 (*.f64 1 g) a) 1/3)
0.0ms
g
@0
(pow.f64 (/.f64 (*.f64 1 g) a) 1/3)
0.0ms
a
@-inf
(pow.f64 (/.f64 (*.f64 1 g) a) 1/3)
0.0ms
a
@inf
(pow.f64 (/.f64 (*.f64 1 g) a) 1/3)

rewrite78.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
349×distribute-lft-neg-in
324×distribute-rgt-neg-in
295×associate-+l+
273×frac-times
259×associate-+r+
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0109
1289
21139
35989
447729
Stop Event
node limit
Counts
2 → 97
Calls
Call 1
Inputs
(pow.f64 (/.f64 (*.f64 1 g) a) 1/3)
(cbrt.f64 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 g a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 g a)) (pow.f64 1 -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 -1 (/.f64 1 (neg.f64 (cbrt.f64 (/.f64 a g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 g a) 1/12) (pow.f64 (/.f64 g a) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (/.f64 1 g) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (/.f64 1 g)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 g 1/6) (pow.f64 (*.f64 g (pow.f64 a -2)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 g 1/6) (*.f64 (pow.f64 g 1/6) (/.f64 1 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/6) (*.f64 (pow.f64 a -1/6) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 a -1/6) (cbrt.f64 g)) (pow.f64 a -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 g a) 1/4) (pow.f64 (/.f64 g a) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 g (pow.f64 a -2)) 1/6) (pow.f64 g 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/12) (*.f64 (pow.f64 g 1/12) (pow.f64 (/.f64 g a) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 g a) 1/24) (*.f64 (pow.f64 (/.f64 g a) 1/24) (pow.f64 (/.f64 g a) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 g 1/12) (*.f64 (pow.f64 a -1/12) (pow.f64 (/.f64 g a) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 g 1/12) (*.f64 (pow.f64 g 1/12) (pow.f64 (*.f64 g (pow.f64 a -2)) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 g)) (/.f64 1 (neg.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (neg.f64 g))) (/.f64 1 (neg.f64 (cbrt.f64 (neg.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 a)) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 a)) (pow.f64 (/.f64 -1 g) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 -1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1) (/.f64 1 (cbrt.f64 (/.f64 a (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 g (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1) (pow.f64 (/.f64 g (neg.f64 a)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 g) 1/12) (*.f64 (pow.f64 (neg.f64 a) -1/12) (pow.f64 (/.f64 g a) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 g) 1/6) (*.f64 (pow.f64 (neg.f64 a) -1/6) (pow.f64 (/.f64 g a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 g) 1/6) (pow.f64 (*.f64 g (neg.f64 (pow.f64 a -2))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 g a) 1/6) (pow.f64 (neg.f64 g) 1/6)) (pow.f64 (neg.f64 a) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 g) (pow.f64 a -1/6)) (pow.f64 a -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 g a) 1/4) (pow.f64 a -1/12)) (pow.f64 g 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 g a) 1/4) (pow.f64 (/.f64 g a) 1/24)) (pow.f64 (/.f64 g a) 1/24))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 g a) 1/4) (pow.f64 g 1/12)) (pow.f64 a -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 g a) 1/4) 1) (pow.f64 (/.f64 g a) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 g a) 1/4) (pow.f64 (neg.f64 g) 1/12)) (pow.f64 (neg.f64 a) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (pow.f64 a -1/6) (cbrt.f64 g)) (pow.f64 a -1/12)) (pow.f64 a -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 -1) (cbrt.f64 -1)) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 -1)) (/.f64 1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 -1)) (/.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 a g)) -1/2) (pow.f64 (cbrt.f64 (/.f64 a g)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1/3) (/.f64 (log.f64 (/.f64 g a)) 2)) (pow.f64 (exp.f64 1/3) (/.f64 (log.f64 (/.f64 g a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 -1)) (cbrt.f64 (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 g a) 1/2)) (cbrt.f64 (pow.f64 (/.f64 g a) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1/3) (log.f64 g)) (pow.f64 (exp.f64 1/3) (neg.f64 (log.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1/3) (log.f64 (neg.f64 g))) (pow.f64 (exp.f64 1/3) (log.f64 (/.f64 -1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1/3) (neg.f64 (log.f64 a))) (pow.f64 (exp.f64 1/3) (log.f64 g)))))) (#(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 -1 -1/3) (pow.f64 (/.f64 a (neg.f64 g)) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (/.f64 g a) 1/2) 1/3) (pow.f64 (pow.f64 (/.f64 g a) 1/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1 g) -1/3) (/.f64 1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -1 g) -1/3) (cbrt.f64 (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (neg.f64 g) 1/6) 2) (pow.f64 (pow.f64 (neg.f64 a) -1/6) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 g (neg.f64 a)) 1/6) (pow.f64 (/.f64 g (neg.f64 a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (neg.f64 g) (/.f64 a g)) 1/6) (pow.f64 (neg.f64 a) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (cbrt.f64 (/.f64 a g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 g) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (/.f64 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 g)) (/.f64 (cbrt.f64 (neg.f64 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 g 1/6) (/.f64 (cbrt.f64 a) (pow.f64 g 1/6)))))) (#(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 /.f64 (neg.f64 (cbrt.f64 (neg.f64 g))) (neg.f64 (cbrt.f64 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 a (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (cbrt.f64 -1)) (cbrt.f64 (/.f64 a (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 -1)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 -1)) (neg.f64 (cbrt.f64 (/.f64 a (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1/3) (log.f64 g)) (pow.f64 (exp.f64 1/3) (log.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1/3) (log.f64 (neg.f64 g))) (pow.f64 (exp.f64 1/3) (log.f64 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1/3) (log.f64 -1)) (pow.f64 (exp.f64 1/3) (log.f64 (/.f64 a (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cbrt.f64 g) (neg.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cbrt.f64 (neg.f64 g)) (neg.f64 (cbrt.f64 (neg.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (cbrt.f64 g) (neg.f64 (cbrt.f64 a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (cbrt.f64 (neg.f64 g)) (neg.f64 (cbrt.f64 (neg.f64 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (cbrt.f64 g) (neg.f64 (cbrt.f64 a))) (pow.f64 1 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (cbrt.f64 (neg.f64 g)) (neg.f64 (cbrt.f64 (neg.f64 a)))) (pow.f64 1 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 g a))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 1/3 (log.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 a g))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (exp.f64 1/3)) (log.f64 (/.f64 g a))))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 4 1/12) (pow.f64 4 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 1/12) (*.f64 (pow.f64 2 1/12) (pow.f64 4 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 4 1/12) (pow.f64 2 1/12)) (pow.f64 2 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 4 1/12) 1) (pow.f64 (pow.f64 4 1/12) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 2 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 4 1/12) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 4 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 1/3 (log.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 4 1/12)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 4) 1/6))))))

simplify20.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize55.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.8b
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
3.8b
(-.f64 (*.f64 g g) (*.f64 h h))
9.4b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
32.8b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 135 to 59 computations (56.3% saved)

localize54.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.8b
(-.f64 (*.f64 g g) (*.f64 h h))
5.4b
(log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
9.4b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
32.8b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 179 to 52 computations (70.9% saved)

series102.0ms (0.7%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
39.0ms
a
@0
(log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
30.0ms
a
@-inf
(log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
19.0ms
a
@inf
(log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
3.0ms
g
@inf
(log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
3.0ms
g
@0
(log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))

rewrite101.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
716×associate-+r+
593×+-commutative
301×frac-times
200×associate-*r/
165×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01323
16923
255823
3678823
Stop Event
node limit
Counts
1 → 52
Calls
Call 1
Inputs
(log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
Outputs
((#(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 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (neg.f64 (log.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 -1/2) (log.f64 (/.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log.f64 a)) (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (neg.f64 (log.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (neg.f64 (log.f64 a))) (log.f64 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 (/.f64 -1/2 a)) (log.f64 (-.f64 (fma.f64 h h (*.f64 g g)) (*.f64 g g)))) (neg.f64 (log.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 (/.f64 -1/2 a)) (log.f64 (-.f64 (fma.f64 h h (*.f64 g g)) (*.f64 g g)))) (log.f64 (/.f64 1 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))))))) (#(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)))) (neg.f64 (log.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (log.f64 (/.f64 1 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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))))) 0) (log.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 1/2)) (neg.f64 (log.f64 (neg.f64 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 1/2)) (log.f64 (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)) (log.f64 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) 0) (neg.f64 (log.f64 a)))))) (#(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 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 0 (log.f64 (/.f64 (*.f64 a -2) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(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 -1/2) (log.f64 (/.f64 a (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (-.f64 (fma.f64 h h (*.f64 g g)) (*.f64 g g))) (-.f64 (log.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)) (log.f64 (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (-.f64 (fma.f64 h h (*.f64 g g)) (*.f64 g g))) (log.f64 (*.f64 a (*.f64 -2 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)))))))) (#(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 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (/.f64 -1/2 a))))))) (#(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))) (log.f64 (*.f64 a (*.f64 -2 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (log.f64 a))))) (#(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 (+.f64 (log.f64 (/.f64 -1/2 a)) (log.f64 (-.f64 (fma.f64 h h (*.f64 g g)) (*.f64 g g)))) (log.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)))))) (#(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 (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.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))))) 0) (log.f64 (*.f64 a -2)))))) (#(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 (pow.f64 (log.f64 (/.f64 -1/2 a)) 2) (log.f64 (/.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (/.f64 (pow.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2) (log.f64 (/.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 -1/2 (-.f64 (fma.f64 h h (*.f64 g g)) (*.f64 g g)))) (log.f64 (*.f64 a (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 -1/2 (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (log.f64 (*.f64 a (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (fma.f64 h h (*.f64 g g)) (*.f64 g g)))) (log.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))) (log.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h))))))))) (#(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 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (-.f64 (fma.f64 h h (*.f64 g g)) (*.f64 g g)) 1/2)) (log.f64 (*.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) g) (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (-.f64 (pow.f64 g 3) (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) 1/2)) (log.f64 (*.f64 (fma.f64 g g (fma.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (-.f64 (*.f64 g g) (*.f64 h h)))) (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log.f64 (/.f64 -1/2 a)) 2) (pow.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2)) (/.f64 1 (log.f64 (/.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (log.f64 (/.f64 -1/2 a)) 3) (pow.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 3)) (/.f64 1 (+.f64 (pow.f64 (log.f64 (/.f64 -1/2 a)) 2) (*.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.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 1 (/.f64 (log.f64 (/.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (-.f64 (pow.f64 (log.f64 (/.f64 -1/2 a)) 2) (pow.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (log.f64 (/.f64 -1/2 a)) 2) (*.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (/.f64 -1/2 a))))) (+.f64 (pow.f64 (log.f64 (/.f64 -1/2 a)) 3) (pow.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 (/.f64 -1/2 a)) 2) (pow.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2)) (log.f64 (/.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 (/.f64 -1/2 a)) 3) (pow.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 3)) (+.f64 (pow.f64 (log.f64 (/.f64 -1/2 a)) 2) (*.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.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 -1/2 a)) 3) (pow.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 3)) (+.f64 (pow.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2) (-.f64 (pow.f64 (log.f64 (/.f64 -1/2 a)) 2) (*.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 (-.f64 (pow.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2) (pow.f64 (log.f64 (/.f64 -1/2 a)) 2)) (-.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 (*.f64 (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (*.f64 (log.f64 a) (log.f64 a))) (+.f64 (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (log.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) 3) (pow.f64 (log.f64 a) 3)) (+.f64 (*.f64 (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (+.f64 (*.f64 (log.f64 a) (log.f64 a)) (*.f64 (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (log.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (log.f64 (/.f64 -1/2 a)) 2) (pow.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 2))) (neg.f64 (log.f64 (/.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (log.f64 (/.f64 -1/2 a)) 3) (pow.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 3))) (neg.f64 (+.f64 (pow.f64 (log.f64 (/.f64 -1/2 a)) 2) (*.f64 (log.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (-.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 neg.f64 (log.f64 (/.f64 (*.f64 a -2) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))))

simplify89.0ms (0.6%)

Algorithm
egg-herbie
Rules
732×times-frac
522×associate-*r*
470×associate-*l*
437×associate-+r+
426×associate-/r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01881315
15361217
219971177
Stop Event
node limit
Counts
88 → 102
Calls
Call 1
Inputs
(+.f64 (*.f64 -1 (log.f64 a)) (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(+.f64 (*.f64 -1 (log.f64 a)) (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(+.f64 (*.f64 -1 (log.f64 a)) (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(+.f64 (*.f64 -1 (log.f64 a)) (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(+.f64 (log.f64 (/.f64 1 a)) (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(+.f64 (log.f64 (/.f64 1 a)) (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(+.f64 (log.f64 (/.f64 1 a)) (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(+.f64 (log.f64 (/.f64 1 a)) (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))) (log.f64 (/.f64 -1 a)))
(log.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 -1) h) a)))
(+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (log.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 -1) h) a))))
(+.f64 (*.f64 1/6 (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (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 (*.f64 1/6 (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (log.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 -1) h) 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 (*.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/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 (*.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 (*.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/4 (/.f64 (pow.f64 h 2) 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/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 (*.f64 2 (log.f64 h)) (log.f64 (/.f64 -1/4 (*.f64 a g))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 2 (log.f64 h)) (log.f64 (/.f64 -1/4 (*.f64 a g)))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 2 (log.f64 h)) (+.f64 (*.f64 3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (log.f64 (/.f64 -1/4 (*.f64 a g))))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 1/720 (*.f64 (-.f64 (*.f64 720 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 g 6))) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2))) (*.f64 75/4 (/.f64 1 (pow.f64 g 6)))) (pow.f64 h 6))) (+.f64 (*.f64 2 (log.f64 h)) (+.f64 (*.f64 3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (log.f64 (/.f64 -1/4 (*.f64 a g)))))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (*.f64 -1 (log.f64 (/.f64 1 h))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (*.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 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (*.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 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.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 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (*.f64 -1 (log.f64 (/.f64 1 h)))))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (*.f64 -1 (log.f64 (/.f64 -1 h))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (*.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 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (*.f64 -1 (log.f64 (/.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/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 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (*.f64 -1 (log.f64 (/.f64 -1 h)))))))
Outputs
(+.f64 (*.f64 -1 (log.f64 a)) (log.f64 (*.f64 -1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(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 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(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 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(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 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(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 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(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 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(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 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(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 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))))
(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/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1/2)) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1/2)) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1/2)) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 (*.f64 1/2 (-.f64 g (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2)))))) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1/2)) (log.f64 (/.f64 -1 a)))
(log.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 -1) h) a)))
(log.f64 (*.f64 1/2 (/.f64 (*.f64 h (sqrt.f64 -1)) a)))
(log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) (/.f64 a h))))
(log.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) (*.f64 h 1/2)))
(+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (log.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 -1) h) a))))
(fma.f64 -1 (/.f64 g (*.f64 h (sqrt.f64 -1))) (log.f64 (*.f64 1/2 (/.f64 (*.f64 h (sqrt.f64 -1)) a))))
(-.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) (/.f64 a h)))) (/.f64 g (*.f64 h (sqrt.f64 -1))))
(-.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) (*.f64 h 1/2))) (/.f64 g (*.f64 h (sqrt.f64 -1))))
(+.f64 (*.f64 1/6 (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (log.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 -1) h) a)))))
(fma.f64 1/6 (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (fma.f64 -1 (/.f64 g (*.f64 h (sqrt.f64 -1))) (log.f64 (*.f64 1/2 (/.f64 (*.f64 h (sqrt.f64 -1)) a)))))
(fma.f64 1/6 (/.f64 (/.f64 (pow.f64 g 3) (pow.f64 h 3)) (*.f64 -1 (sqrt.f64 -1))) (-.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) (/.f64 a h)))) (/.f64 g (*.f64 h (sqrt.f64 -1)))))
(+.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) (*.f64 h 1/2))) (-.f64 (/.f64 (*.f64 (/.f64 -1/6 (sqrt.f64 -1)) (pow.f64 g 3)) (pow.f64 h 3)) (/.f64 g (*.f64 h (sqrt.f64 -1)))))
(+.f64 (*.f64 -3/40 (/.f64 (pow.f64 g 5) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5)))) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3)))) (+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (log.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 -1) h) a))))))
(fma.f64 -3/40 (/.f64 (pow.f64 g 5) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5))) (fma.f64 1/6 (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 h 3))) (fma.f64 -1 (/.f64 g (*.f64 h (sqrt.f64 -1))) (log.f64 (*.f64 1/2 (/.f64 (*.f64 h (sqrt.f64 -1)) a))))))
(fma.f64 -3/40 (/.f64 (pow.f64 g 5) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 h 5))) (fma.f64 1/6 (/.f64 (/.f64 (pow.f64 g 3) (pow.f64 h 3)) (*.f64 -1 (sqrt.f64 -1))) (-.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) (/.f64 a h)))) (/.f64 g (*.f64 h (sqrt.f64 -1))))))
(+.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 -1) a) (*.f64 h 1/2))) (-.f64 (fma.f64 -3/40 (/.f64 (/.f64 (pow.f64 g 5) (pow.f64 h 5)) (pow.f64 (sqrt.f64 -1) 5)) (/.f64 (*.f64 (/.f64 -1/6 (sqrt.f64 -1)) (pow.f64 g 3)) (pow.f64 h 3))) (/.f64 g (*.f64 h (sqrt.f64 -1)))))
(+.f64 (log.f64 (/.f64 1 g)) (log.f64 (*.f64 -1/4 (/.f64 (pow.f64 h 2) a))))
(+.f64 (neg.f64 (log.f64 g)) (log.f64 (*.f64 -1/4 (/.f64 (*.f64 h h) a))))
(-.f64 (log.f64 (/.f64 -1/4 (/.f64 a (*.f64 h h)))) (log.f64 g))
(-.f64 (log.f64 (*.f64 (/.f64 -1/4 a) (*.f64 h h))) (log.f64 g))
(+.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 (neg.f64 (log.f64 g)) (log.f64 (*.f64 -1/4 (/.f64 (*.f64 h h) a)))))
(fma.f64 1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (-.f64 (log.f64 (/.f64 -1/4 (/.f64 a (*.f64 h h)))) (log.f64 g)))
(fma.f64 1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (-.f64 (log.f64 (*.f64 (/.f64 -1/4 a) (*.f64 h h))) (log.f64 g)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (log.f64 (/.f64 1 g)) (+.f64 (*.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/4 (/.f64 (pow.f64 h 2) a))))))
(fma.f64 1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (+.f64 (neg.f64 (log.f64 g)) (fma.f64 1/24 (/.f64 (*.f64 (pow.f64 h 4) 9/4) (pow.f64 g 4)) (log.f64 (*.f64 -1/4 (/.f64 (*.f64 h h) a))))))
(fma.f64 1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (-.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))))) (log.f64 g)))
(fma.f64 1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (+.f64 (log.f64 (*.f64 (/.f64 -1/4 a) (*.f64 h h))) (-.f64 (*.f64 (/.f64 3/32 (pow.f64 g 4)) (pow.f64 h 4)) (log.f64 g))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (log.f64 (/.f64 1 g)) (+.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 (*.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/4 (/.f64 (pow.f64 h 2) a)))))))
(fma.f64 1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (+.f64 (neg.f64 (log.f64 g)) (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)) (fma.f64 1/24 (/.f64 (*.f64 (pow.f64 h 4) 9/4) (pow.f64 g 4)) (log.f64 (*.f64 -1/4 (/.f64 (*.f64 h h) a)))))))
(fma.f64 1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (-.f64 (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) (*.f64 (pow.f64 h 8) 1/64)) (*.f64 h h)) (*.f64 (pow.f64 h 6) -45/2))) (pow.f64 g 6)) (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)))))) (log.f64 g)))
(+.f64 (fma.f64 1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (-.f64 (log.f64 (*.f64 (/.f64 -1/4 a) (*.f64 h h))) (log.f64 g))) (fma.f64 1/720 (/.f64 (+.f64 (/.f64 (*.f64 (/.f64 720 h) (*.f64 (pow.f64 h 8) 5/64)) h) (*.f64 (pow.f64 h 6) -75/4)) (pow.f64 g 6)) (*.f64 (/.f64 3/32 (pow.f64 g 4)) (pow.f64 h 4))))
(+.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 (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (neg.f64 (log.f64 a))) (log.f64 (/.f64 -1 g)))
(-.f64 (*.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g))) (+.f64 (log.f64 a) (log.f64 (/.f64 -1 g))))
(+.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 (log.f64 (/.f64 -1 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (neg.f64 (log.f64 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)) (neg.f64 (log.f64 a))) (log.f64 (/.f64 -1 g))))
(+.f64 (-.f64 (*.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g))) (log.f64 a)) (-.f64 (/.f64 (*.f64 (pow.f64 h 4) -3/32) (pow.f64 g 4)) (log.f64 (/.f64 -1 g))))
(+.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 (log.f64 (/.f64 -1 g)) (fma.f64 -1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (neg.f64 (log.f64 a))))))
(fma.f64 1/24 (/.f64 (pow.f64 h 4) (/.f64 (pow.f64 g 4) -9/4)) (fma.f64 1/720 (/.f64 (*.f64 (pow.f64 h 6) -75/2) (pow.f64 g 6)) (-.f64 (fma.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (neg.f64 (log.f64 a))) (log.f64 (/.f64 -1 g)))))
(+.f64 (-.f64 (*.f64 -1/4 (*.f64 (/.f64 h g) (/.f64 h g))) (+.f64 (log.f64 a) (log.f64 (/.f64 -1 g)))) (+.f64 (/.f64 (*.f64 (pow.f64 h 4) -3/32) (pow.f64 g 4)) (/.f64 (*.f64 (pow.f64 h 6) -5/96) (pow.f64 g 6))))
(+.f64 (*.f64 2 (log.f64 h)) (log.f64 (/.f64 -1/4 (*.f64 a g))))
(fma.f64 2 (log.f64 h) (log.f64 (/.f64 -1/4 (*.f64 a g))))
(fma.f64 2 (log.f64 h) (log.f64 (/.f64 (/.f64 -1/4 a) g)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 2 (log.f64 h)) (log.f64 (/.f64 -1/4 (*.f64 a g)))))
(fma.f64 1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (fma.f64 2 (log.f64 h) (log.f64 (/.f64 -1/4 (*.f64 a g)))))
(fma.f64 1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (fma.f64 2 (log.f64 h) (log.f64 (/.f64 (/.f64 -1/4 a) g))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 2 (log.f64 h)) (+.f64 (*.f64 3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (log.f64 (/.f64 -1/4 (*.f64 a g))))))
(fma.f64 1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (fma.f64 2 (log.f64 h) (fma.f64 3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (log.f64 (/.f64 -1/4 (*.f64 a g))))))
(fma.f64 1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (fma.f64 2 (log.f64 h) (fma.f64 3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (log.f64 (/.f64 (/.f64 -1/4 a) g)))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 h 2) (pow.f64 g 2))) (+.f64 (*.f64 1/720 (*.f64 (-.f64 (*.f64 720 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 g 6))) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2))) (*.f64 75/4 (/.f64 1 (pow.f64 g 6)))) (pow.f64 h 6))) (+.f64 (*.f64 2 (log.f64 h)) (+.f64 (*.f64 3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4))) (log.f64 (/.f64 -1/4 (*.f64 a g)))))))
(fma.f64 1/4 (/.f64 (*.f64 h h) (*.f64 g g)) (fma.f64 1/720 (*.f64 (pow.f64 h 6) (fma.f64 720 (+.f64 (/.f64 1/16 (pow.f64 g 6)) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2)) (neg.f64 (/.f64 75/4 (pow.f64 g 6))))) (fma.f64 2 (log.f64 h) (fma.f64 3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (log.f64 (/.f64 -1/4 (*.f64 a g)))))))
(fma.f64 1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (fma.f64 1/720 (*.f64 (pow.f64 h 6) (fma.f64 720 (+.f64 (/.f64 1/16 (pow.f64 g 6)) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2)) (/.f64 -75/4 (pow.f64 g 6)))) (fma.f64 2 (log.f64 h) (fma.f64 3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (log.f64 (/.f64 (/.f64 -1/4 a) g))))))
(fma.f64 1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (fma.f64 (+.f64 (*.f64 1 (+.f64 (/.f64 1/16 (pow.f64 g 6)) (pow.f64 (/.f64 -1/8 (pow.f64 g 3)) 2))) (/.f64 -5/192 (pow.f64 g 6))) (pow.f64 h 6) (fma.f64 2 (log.f64 h) (fma.f64 3/32 (/.f64 (pow.f64 h 4) (pow.f64 g 4)) (log.f64 (/.f64 (/.f64 -1/4 a) g))))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (*.f64 -1 (log.f64 (/.f64 1 h))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (neg.f64 (neg.f64 (log.f64 h))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (log.f64 h))
(+.f64 (log.f64 (/.f64 (sqrt.f64 -1) (/.f64 a 1/2))) (log.f64 h))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (*.f64 -1 (log.f64 (/.f64 1 h)))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (*.f64 -1 (+.f64 (/.f64 g (*.f64 h (sqrt.f64 -1))) (neg.f64 (log.f64 h)))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (-.f64 (log.f64 h) (/.f64 g (*.f64 h (sqrt.f64 -1)))))
(+.f64 (log.f64 h) (-.f64 (log.f64 (/.f64 (sqrt.f64 -1) (/.f64 a 1/2))) (/.f64 g (*.f64 h (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 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.f64 (*.f64 -1 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (*.f64 -1 (log.f64 (/.f64 1 h))))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (*.f64 -1 (+.f64 (/.f64 g (*.f64 h (sqrt.f64 -1))) (neg.f64 (log.f64 h)))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (-.f64 (log.f64 h) (/.f64 g (*.f64 h (sqrt.f64 -1)))))
(+.f64 (log.f64 h) (-.f64 (log.f64 (/.f64 (sqrt.f64 -1) (/.f64 a 1/2))) (/.f64 g (*.f64 h (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 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.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 (/.f64 g (*.f64 (sqrt.f64 -1) h))) (*.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)) (+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (fma.f64 1/6 (/.f64 (*.f64 (/.f64 (pow.f64 g 3) (pow.f64 (sqrt.f64 -1) 3)) 1) (pow.f64 h 3)) (*.f64 -1 (+.f64 (/.f64 g (*.f64 h (sqrt.f64 -1))) (neg.f64 (log.f64 h)))))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.f64 (fma.f64 1/6 (/.f64 (/.f64 (pow.f64 g 3) (pow.f64 h 3)) (*.f64 -1 (sqrt.f64 -1))) (-.f64 (log.f64 h) (/.f64 g (*.f64 h (sqrt.f64 -1))))) (/.f64 0 (*.f64 h h))))
(+.f64 (log.f64 (/.f64 (sqrt.f64 -1) (/.f64 a 1/2))) (+.f64 (log.f64 h) (-.f64 (/.f64 (*.f64 (/.f64 -1/6 (sqrt.f64 -1)) (pow.f64 g 3)) (pow.f64 h 3)) (/.f64 g (*.f64 h (sqrt.f64 -1))))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (*.f64 -1 (log.f64 (/.f64 -1 h))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (neg.f64 (log.f64 (/.f64 -1 h))))
(-.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (log.f64 (/.f64 -1 h)))
(-.f64 (log.f64 (/.f64 (sqrt.f64 -1) (/.f64 a 1/2))) (log.f64 (/.f64 -1 h)))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (*.f64 -1 (log.f64 (/.f64 -1 h)))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.f64 (/.f64 g (*.f64 h (sqrt.f64 -1))) (neg.f64 (log.f64 (/.f64 -1 h)))))
(+.f64 (/.f64 g (*.f64 h (sqrt.f64 -1))) (-.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (log.f64 (/.f64 -1 h))))
(+.f64 (/.f64 g (*.f64 h (sqrt.f64 -1))) (-.f64 (log.f64 (/.f64 (sqrt.f64 -1) (/.f64 a 1/2))) (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 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (*.f64 -1 (log.f64 (/.f64 -1 h))))))
(+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.f64 (/.f64 g (*.f64 h (sqrt.f64 -1))) (neg.f64 (log.f64 (/.f64 -1 h)))))
(+.f64 (/.f64 g (*.f64 h (sqrt.f64 -1))) (-.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (log.f64 (/.f64 -1 h))))
(+.f64 (/.f64 g (*.f64 h (sqrt.f64 -1))) (-.f64 (log.f64 (/.f64 (sqrt.f64 -1) (/.f64 a 1/2))) (log.f64 (/.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/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 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.f64 (/.f64 g (*.f64 (sqrt.f64 -1) h)) (*.f64 -1 (log.f64 (/.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/2 (/.f64 (*.f64 0 (/.f64 (*.f64 g g) (pow.f64 (sqrt.f64 -1) 2))) (*.f64 h h)) (+.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (+.f64 (/.f64 g (*.f64 h (sqrt.f64 -1))) (neg.f64 (log.f64 (/.f64 -1 h)))))))
(+.f64 (+.f64 (/.f64 g (*.f64 h (sqrt.f64 -1))) (-.f64 (log.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -1) a))) (log.f64 (/.f64 -1 h)))) (fma.f64 (/.f64 (/.f64 (pow.f64 g 3) (pow.f64 h 3)) (*.f64 -1 (sqrt.f64 -1))) -1/6 (/.f64 0 (*.f64 h h))))
(fma.f64 (/.f64 (/.f64 (pow.f64 g 3) (neg.f64 (sqrt.f64 -1))) (pow.f64 h 3)) -1/6 (+.f64 (/.f64 g (*.f64 h (sqrt.f64 -1))) (-.f64 (log.f64 (/.f64 (sqrt.f64 -1) (/.f64 a 1/2))) (log.f64 (/.f64 -1 h)))))

eval916.0ms (6.4%)

Compiler

Compiled 46176 to 24537 computations (46.9% saved)

prune264.0ms (1.8%)

Pruning

44 alts after pruning (40 fresh and 4 done)

PrunedKeptTotal
New988191007
Fresh172138
Picked011
Done134
Total1006441050
Error
1.2b
Counts
1050 → 44
Alt Table
Click to see full alt table
StatusErrorProgram
36.7b
(+.f64 (/.f64 (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 a -2))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
51.9b
(+.f64 (cbrt.f64 (*.f64 (+.f64 (/.f64 0 g) (*.f64 (/.f64 (+.f64 1/2 (/.f64 0 (*.f64 g g))) g) (*.f64 h h))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
61.4b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (*.f64 (/.f64 1/2 g) (*.f64 h h)) (/.f64 -1/2 a))))
3.4b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 g)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
3.3b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (*.f64 (cbrt.f64 (/.f64 -1 a)) (cbrt.f64 (neg.f64 g))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
48.5b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (fma.f64 -1/2 (/.f64 h (/.f64 g h)) g)) (/.f64 -1/2 a))))
44.1b
(+.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (*.f64 g 2))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
50.6b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
62.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
39.2b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
53.2b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (*.f64 g 2))))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
35.5b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (*.f64 (pow.f64 (/.f64 -1 g) -1/3) (cbrt.f64 (/.f64 -1 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
45.7b
(+.f64 (exp.f64 (*.f64 1/3 (log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (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))))
48.0b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
54.8b
(+.f64 (exp.f64 (*.f64 1/3 (-.f64 (neg.f64 (log.f64 a)) (log.f64 (/.f64 -1 g))))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
42.3b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (exp.f64 (*.f64 1/3 (log.f64 (/.f64 g a)))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
48.4b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h)))) (/.f64 -1/2 a))))
42.4b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (pow.f64 (/.f64 (*.f64 1 g) a) 1/3) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
50.5b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
49.9b
(+.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 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
39.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (/.f64 1 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
19.5b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
19.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (/.f64 (neg.f64 g) a)))
58.2b
(+.f64 (cbrt.f64 (*.f64 (fma.f64 (sqrt.f64 (-.f64 g h)) (neg.f64 (sqrt.f64 (+.f64 g h))) g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
19.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
41.2b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 g a) 1/2)) (cbrt.f64 (pow.f64 (/.f64 g a) 1/2))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
3.0b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (*.f64 g 2))))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
3.6b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (/.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (/.f64 1 g))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
34.2b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (*.f64 (pow.f64 a -1/6) (*.f64 (pow.f64 a -1/6) (cbrt.f64 g))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
50.0b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
3.4b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
43.3b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (*.f64 (cbrt.f64 -1) (pow.f64 (/.f64 g (neg.f64 a)) 1/3)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
54.6b
(+.f64 (exp.f64 (*.f64 1/3 (fma.f64 1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (-.f64 (log.f64 (*.f64 (/.f64 -1/4 a) (*.f64 h h))) (log.f64 g))))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
47.4b
(+.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
2.7b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (*.f64 g 2))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)) (/.f64 -1/2 a))))
57.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (pow.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a)) 1/3))
6.7b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (*.f64 g 2))))) (cbrt.f64 (*.f64 (*.f64 (/.f64 1/2 g) (*.f64 h h)) (/.f64 -1/2 a))))
3.6b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (/.f64 1 g)) -1)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
39.3b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (/.f64 1 (cbrt.f64 (/.f64 (*.f64 a -2) (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))
45.7b
(+.f64 (pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1/3) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
36.7b
(+.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (/.f64 1 a)) (cbrt.f64 (-.f64 g (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))))
56.5b
(+.f64 (exp.f64 (*.f64 1/3 (log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (/.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
50.6b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 a -2))))
19.3b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (/.f64 1 (cbrt.f64 (/.f64 a g))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
Compiler

Compiled 2587 to 1720 computations (33.5% saved)

localize54.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(cbrt.f64 (*.f64 -1/2 (*.f64 g 2)))
0.6b
(cbrt.f64 a)
0.8b
(cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)) (/.f64 -1/2 a)))
4.2b
(+.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g))
Compiler

Compiled 143 to 78 computations (45.5% saved)

series13.0ms (0.1%)

Counts
4 → 24
Calls

21 calls:

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

rewrite119.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
513×+-commutative
416×associate-*r/
318×associate-*l/
289×associate-*l*
277×associate-*r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01952
18944
267238
3781238
Stop Event
node limit
Counts
4 → 146
Calls
Call 1
Inputs
(+.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g))
(cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)) (/.f64 -1/2 a)))
(cbrt.f64 a)
(cbrt.f64 (*.f64 -1/2 (*.f64 g 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) g)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 1/4 (pow.f64 (*.f64 h (/.f64 h g)) 2)) (fma.f64 1/2 (*.f64 h (/.f64 h g)) g)) (-.f64 (/.f64 g (/.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) g)) g))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 1/8 (pow.f64 (*.f64 h (/.f64 h g)) 3)) (fma.f64 1/4 (pow.f64 (*.f64 h (/.f64 h g)) 2) (*.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g)))) (-.f64 (/.f64 (pow.f64 g 3) (fma.f64 1/4 (pow.f64 (*.f64 h (/.f64 h g)) 2) (*.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g)))) g))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 g g) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))) (/.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 g (/.f64 (*.f64 1/4 (pow.f64 (*.f64 h (/.f64 h g)) 2)) (fma.f64 1/2 (*.f64 h (/.f64 h g)) g))) (/.f64 g (/.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 g (/.f64 (*.f64 1/8 (pow.f64 (*.f64 h (/.f64 h g)) 3)) (fma.f64 1/4 (pow.f64 (*.f64 h (/.f64 h g)) 2) (*.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g))))) (/.f64 (pow.f64 g 3) (fma.f64 1/4 (pow.f64 (*.f64 h (/.f64 h g)) 2) (*.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 0) g)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g))) (/.f64 (*.f64 g g) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g))) (/.f64 (*.f64 g g) (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 3) (+.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (*.f64 g (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g))))) (/.f64 (pow.f64 g 3) (+.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (*.f64 g (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) (*.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))) (/.f64 1 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2)) (/.f64 1 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2)) (*.f64 (/.f64 1 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3)) (/.f64 1 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3)) (*.f64 (/.f64 1 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g)) (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) (/.f64 1 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2) (*.f64 g g)) (/.f64 1 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (*.f64 g g)) (/.f64 1 (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))) (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g))) (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 3) (pow.f64 g 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (*.f64 g (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2))) (/.f64 1 (neg.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3))) (/.f64 1 (neg.f64 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2)) (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2))) (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2)) (-.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3))) (fma.f64 g g (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3)) (-.f64 (pow.f64 g 4) (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g))) 2))) (+.f64 (*.f64 g g) (*.f64 (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3)) (+.f64 (pow.f64 g 6) (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g))) 3))) (+.f64 (pow.f64 g 4) (*.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g))) (-.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g))) (*.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) (/.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2)) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 1 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2) (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g)) (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (*.f64 g (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g)))) (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 3) (pow.f64 g 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3)) (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g)) (/.f64 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g)) (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 1 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2) (*.f64 g g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (*.f64 g g)) (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (*.f64 g g)) (-.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 g 4) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 4)) (*.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))) (fma.f64 g g (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 g 9) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 9)) (*.f64 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g)) (+.f64 (pow.f64 g 6) (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 6) (pow.f64 (*.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g))) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 3) (pow.f64 g 3)) (+.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (*.f64 g (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 3) (pow.f64 g 3)) (+.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (-.f64 (*.f64 g g) (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 g 6) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 6)) (*.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 4) (pow.f64 (*.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 g 6) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 6)) (*.f64 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g)) (-.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2))) (neg.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3))) (neg.f64 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2) (*.f64 g g))) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (*.f64 g g))) (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 3) (pow.f64 g 3))) (+.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (*.f64 g (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (neg.f64 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2)))) (neg.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (neg.f64 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3)))) (neg.f64 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 4) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 4)) (/.f64 1 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))))) (fma.f64 g g (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 6) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 6)) (/.f64 1 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))))) (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 4) (pow.f64 (*.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 g 6) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 6)) (/.f64 1 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g)))) (-.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 g 9) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 9)) (/.f64 1 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g)))) (+.f64 (pow.f64 g 6) (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 6) (pow.f64 (*.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2) (*.f64 g g)) 1) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (*.f64 g g)) 1) (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 3) (pow.f64 g 3)) 1) (+.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (*.f64 g (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2))) 1) (neg.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3))) 1) (neg.f64 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 h (/.f64 h g)) 2)) 0) (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 (*.f64 g g) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))) (/.f64 (*.f64 g g) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))))) (*.f64 (/.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))) (/.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))))) (+.f64 (/.f64 (*.f64 g g) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))) (/.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/8 (pow.f64 (*.f64 h (/.f64 h g)) 3)) 0) (+.f64 (*.f64 1/4 (pow.f64 (*.f64 h (/.f64 h g)) 2)) (-.f64 0 (*.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/8 (pow.f64 (*.f64 h (/.f64 h g)) 3)) 0) (+.f64 (*.f64 1/4 (pow.f64 (*.f64 h (/.f64 h g)) 2)) (+.f64 0 (*.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 (*.f64 g g) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))) 3) (pow.f64 (/.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))) 3)) (+.f64 (*.f64 (/.f64 (*.f64 g g) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))) (/.f64 (*.f64 g g) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))))) (+.f64 (*.f64 (/.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))) (/.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))))) (*.f64 (/.f64 (*.f64 g g) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))) (/.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 g g) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))) (*.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2))) (*.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))) (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2) (*.f64 g g))) (neg.f64 (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (*.f64 g g))) (neg.f64 (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 3) (pow.f64 g 3))) (neg.f64 (+.f64 (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g) 2) (*.f64 g (+.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2)))) (neg.f64 (neg.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3)))) (neg.f64 (neg.f64 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2)) (neg.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3)) (neg.f64 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 h (/.f64 h g)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 h (*.f64 1/2 (/.f64 h g)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 h (/.f64 h g)) 1/2 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 h) (/.f64 h g) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 h g) (*.f64 1/2 h) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (pow.f64 (*.f64 h (/.f64 h g)) 2) (*.f64 g (neg.f64 g))) (/.f64 1 (fma.f64 1/2 (*.f64 h (/.f64 h g)) g)) g)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 1/8 (pow.f64 (*.f64 h (/.f64 h g)) 3)) (pow.f64 g 3)) (/.f64 1 (fma.f64 1/4 (pow.f64 (*.f64 h (/.f64 h g)) 2) (*.f64 g (fma.f64 1/2 (*.f64 h (/.f64 h g)) g)))) g)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (/.f64 h g)) h 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (/.f64 h g)) (neg.f64 h) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 g) (*.f64 h h) 0)))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0)) (cbrt.f64 (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/2) (*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/2) (pow.f64 (/.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) a) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) (/.f64 -1/2 a)) 1/6) (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) (/.f64 -1/2 a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) -1/2)) (/.f64 1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (/.f64 a (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0)) (cbrt.f64 (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) -1/2)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2))) (cbrt.f64 (*.f64 a (*.f64 -2 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3))) (cbrt.f64 (*.f64 a (*.f64 -2 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0)) 1) (cbrt.f64 (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0)) (cbrt.f64 1/2)) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2)))) (cbrt.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3)))) (cbrt.f64 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2))) (cbrt.f64 (/.f64 -1/2 a))) (cbrt.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3))) (cbrt.f64 (/.f64 -1/2 a))) (cbrt.f64 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (cbrt.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0))) (cbrt.f64 (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0))) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) -1/2)) (pow.f64 a 1/6)) (pow.f64 a 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) -1/2))) (neg.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 -1/2 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2)))) (cbrt.f64 (*.f64 a (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3)))) (cbrt.f64 (*.f64 a (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (+.f64 (*.f64 (*.f64 h (/.f64 h g)) 1/4) 0)) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2)))) (cbrt.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3)))) (cbrt.f64 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (*.f64 g g) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 2)))) (cbrt.f64 (*.f64 (+.f64 g (+.f64 g (*.f64 -1/2 (*.f64 h (/.f64 h g))))) (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 1/2 (+.f64 (pow.f64 g 3) (pow.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) 3)))) (cbrt.f64 (*.f64 (fma.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) (neg.f64 g)) (-.f64 (*.f64 1/2 (*.f64 h (/.f64 h g))) (+.f64 g g)) (*.f64 g g)) (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) (/.f64 -1/2 a)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) (/.f64 -1/2 a)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) (/.f64 -1/2 a)))) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) (/.f64 -1/2 a)) (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) (/.f64 -1/2 a))) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 1/3 (log.f64 (*.f64 (fma.f64 1/2 (*.f64 h (/.f64 h g)) 0) (/.f64 -1/2 a)))))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a 1/6) (pow.f64 a 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 a 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 a 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a a) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (log.f64 a)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 1/3 (log.f64 a)))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 g 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 g 2)) (cbrt.f64 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 g) 1/6) (pow.f64 (neg.f64 g) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 2) (cbrt.f64 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (cbrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (pow.f64 -1 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 g -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 g -1/2)) (cbrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2)) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 -1 1/3) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 g g) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 g) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (neg.f64 g) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (log.f64 (neg.f64 g))) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 1/3 (log.f64 (neg.f64 g))))))))

simplify142.0ms (1%)

Algorithm
egg-herbie
Rules
803×sqr-pow
674×*-commutative
570×associate-/l/
567×associate-*r*
484×unswap-sqr
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08240
116240
233240
362240
4160240
5551240
62481240
73685240
83857240
94056240
104281240
114593240
125789240
136383240
147007240
157650240
Stop Event
node limit
Counts
170 → 148
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 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 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 h (/.f64 g h)))
(*.f64 1/2 (*.f64 h (/.f64 h g)))
(/.f64 h (/.f64 g (*.f64 1/2 h)))
(*.f64 h (*.f64 h (/.f64 1/2 g)))

localize22.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 52 to 22 computations (57.7% saved)

series2.0ms (0%)

Counts
1 → 0
Calls

6 calls:

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

rewrite66.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
593×distribute-lft-neg-in
498×distribute-rgt-neg-in
329×associate-*r/
228×associate-/r/
203×associate-*l/
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
1258
21168
36478
454828
Stop Event
node limit
Counts
1 → 111
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 (neg.f64 g) a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (cbrt.f64 (/.f64 (neg.f64 g) a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 (cbrt.f64 a))) (neg.f64 (cbrt.f64 (/.f64 (neg.f64 g) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (neg.f64 g) a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (neg.f64 g) a)) (pow.f64 1 -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (cbrt.f64 (/.f64 (neg.f64 g) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 (neg.f64 g) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 g)) (/.f64 1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 g)) (neg.f64 (/.f64 -1 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/6) (pow.f64 (/.f64 (neg.f64 g) a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (neg.f64 g))) (/.f64 -1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1) (*.f64 (neg.f64 (cbrt.f64 g)) (/.f64 -1 (cbrt.f64 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 (cbrt.f64 -1) (/.f64 1 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (/.f64 -1 g) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (/.f64 -1 g)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 -1)) (*.f64 (cbrt.f64 g) (/.f64 -1 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 g)) (/.f64 1 (neg.f64 (cbrt.f64 (neg.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/12) (*.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/12) (pow.f64 (/.f64 (neg.f64 g) a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 g) 1/6) (*.f64 (pow.f64 (neg.f64 g) 1/6) (/.f64 1 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 g) 1/6) (*.f64 (pow.f64 a -1/6) (pow.f64 (/.f64 (neg.f64 g) a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/6) (*.f64 (pow.f64 (neg.f64 g) 1/6) (pow.f64 (/.f64 (neg.f64 g) a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/6) (*.f64 (pow.f64 a -1/6) (cbrt.f64 (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (cbrt.f64 a)) (neg.f64 (cbrt.f64 (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 a)) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 a)) (pow.f64 (/.f64 1 g) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 g 1/6) (*.f64 (pow.f64 (neg.f64 a) -1/6) (pow.f64 (/.f64 (neg.f64 g) a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 (/.f64 g a) 1/6) (pow.f64 (/.f64 (neg.f64 g) a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1 (cbrt.f64 -1)) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (neg.f64 g)) (pow.f64 a -1/6)) (pow.f64 a -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/6) (pow.f64 (/.f64 (neg.f64 g) a) 1/12)) (pow.f64 (/.f64 (neg.f64 g) a) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/6) (pow.f64 (neg.f64 g) 1/6)) (pow.f64 a -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/6) (pow.f64 a -1/6)) (pow.f64 (neg.f64 g) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/6) (pow.f64 g 1/6)) (pow.f64 (neg.f64 a) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/6) (pow.f64 -1 1/6)) (pow.f64 (/.f64 g a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 -1)) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (neg.f64 g) 1/6)) (pow.f64 (neg.f64 g) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 -1)) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (neg.f64 g)) (pow.f64 a 1/6)) (/.f64 1 (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 -1) (cbrt.f64 -1)) (cbrt.f64 (/.f64 (neg.f64 g) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 g) (pow.f64 a 1/6)) (/.f64 (cbrt.f64 -1) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 -1) (pow.f64 a 1/6)) (/.f64 (cbrt.f64 g) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/6) 1) (pow.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 a (neg.f64 g))) -1/2) (pow.f64 (cbrt.f64 (/.f64 a (neg.f64 g))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 -1) -1) (/.f64 (neg.f64 (cbrt.f64 g)) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 -1) -1) (neg.f64 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 g) -1) (neg.f64 (cbrt.f64 (/.f64 -1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (neg.f64 g) 1/6) -1) (neg.f64 (/.f64 (pow.f64 (neg.f64 g) 1/6) (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (neg.f64 g) 1/6) (pow.f64 a 1/6)) (/.f64 (pow.f64 (neg.f64 g) 1/6) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 (cbrt.f64 -1)) -1) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/2)) (cbrt.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/2) 1/3) (pow.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -1 g) -1/3) (/.f64 1 (cbrt.f64 a)))))) (#(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 1 -1/3) (cbrt.f64 (/.f64 (neg.f64 g) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1 g) -1/3) (cbrt.f64 (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 a (neg.f64 (pow.f64 g -2))) -1/3) (pow.f64 g -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 a (pow.f64 (neg.f64 g) 3)) -1/3) (pow.f64 (*.f64 g g) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 g 1/6) 2) (pow.f64 (pow.f64 (neg.f64 a) -1/6) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 -1 1/6) 2) (pow.f64 (pow.f64 (/.f64 g a) 1/6) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (cbrt.f64 -1) -1)) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (cbrt.f64 g) -1)) (cbrt.f64 (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (pow.f64 (neg.f64 g) 1/6) -1)) (/.f64 (pow.f64 (neg.f64 g) 1/6) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (cbrt.f64 (/.f64 a (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (/.f64 a (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (neg.f64 g))) (neg.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 g) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (/.f64 -1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 a)) (cbrt.f64 (*.f64 a (/.f64 a g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 -1)) (/.f64 (neg.f64 (cbrt.f64 a)) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 -1)) (neg.f64 (cbrt.f64 (/.f64 a g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (neg.f64 g) 1/6) (/.f64 (cbrt.f64 a) (pow.f64 (neg.f64 g) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 g (neg.f64 g))) (*.f64 (cbrt.f64 a) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 g (neg.f64 g))) (cbrt.f64 (*.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.f64 (neg.f64 g) 3)) (*.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.f64 (neg.f64 g) 3)) (cbrt.f64 (*.f64 a (*.f64 g g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 g g)) (cbrt.f64 (*.f64 (neg.f64 g) a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (cbrt.f64 -1)) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g (neg.f64 g)))) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (pow.f64 (neg.f64 g) 3))) (cbrt.f64 (*.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 g (neg.f64 g))) (/.f64 1 (cbrt.f64 a))) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (neg.f64 g) 3)) (/.f64 1 (cbrt.f64 a))) (cbrt.f64 (*.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (neg.f64 g)) (pow.f64 a 1/6)) (pow.f64 a 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (cbrt.f64 (neg.f64 g))) -1) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 -1)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.f64 g 3)) (cbrt.f64 (*.f64 a (*.f64 g (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 g a)) (cbrt.f64 (*.f64 a (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 (*.f64 g g) (neg.f64 a))) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 (pow.f64 (neg.f64 g) 3) a)) (cbrt.f64 (*.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (neg.f64 g) a)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 (pow.f64 (/.f64 a g) -2))) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 (pow.f64 (/.f64 g a) 3))) (cbrt.f64 (pow.f64 (/.f64 a g) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (neg.f64 g) a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a (neg.f64 g)) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a (neg.f64 g))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a g) -2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 a (neg.f64 g)) (/.f64 a (neg.f64 g))) -1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 (/.f64 (neg.f64 g) a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (cbrt.f64 (/.f64 (neg.f64 g) a))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cbrt.f64 g) (neg.f64 (cbrt.f64 (neg.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 1/3 (log.f64 (/.f64 (neg.f64 g) a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 (/.f64 (neg.f64 g) a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/6)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 a (neg.f64 g)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 a g) -2)) 1/6))))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize37.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (cbrt.f64 (/.f64 a g)))
1.0b
(cbrt.f64 2)
16.3b
(cbrt.f64 (/.f64 a g))
Compiler

Compiled 84 to 50 computations (40.5% saved)

series6.0ms (0%)

Counts
2 → 0
Calls

12 calls:

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

rewrite81.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
501×distribute-lft-in
501×*-commutative
415×distribute-lft-neg-in
353×distribute-rgt-neg-in
323×distribute-rgt-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0715
12715
211712
356712
4425612
Stop Event
node limit
Counts
2 → 294
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 a g))
(/.f64 1 (cbrt.f64 (/.f64 a g)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (/.f64 a g)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (/.f64 a g)) (*.f64 (/.f64 (cbrt.f64 -1) (cbrt.f64 -1)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (/.f64 a g)) (*.f64 0 (/.f64 (cbrt.f64 -1) (cbrt.f64 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 0 (neg.f64 (cbrt.f64 g))) 0) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 0 (/.f64 0 (cbrt.f64 g))) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 0 (/.f64 0 (cbrt.f64 (/.f64 a g)))) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 0 (/.f64 0 (pow.f64 (cbrt.f64 (/.f64 g a)) -2))) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 0 (neg.f64 (cbrt.f64 g))) (/.f64 0 (cbrt.f64 g))) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 0 (neg.f64 (cbrt.f64 g))) (/.f64 0 (cbrt.f64 (/.f64 a g)))) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 0 (neg.f64 (cbrt.f64 g))) (/.f64 0 (pow.f64 (cbrt.f64 (/.f64 g a)) -2))) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 -1 (cbrt.f64 g)) 0) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (cbrt.f64 -1) (cbrt.f64 -1)) 0) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 -1 (cbrt.f64 g))) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (cbrt.f64 -1) (cbrt.f64 -1))) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (/.f64 a g)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (cbrt.f64 (/.f64 a g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 (cbrt.f64 g))) (neg.f64 (cbrt.f64 (/.f64 a g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (/.f64 0 (neg.f64 (cbrt.f64 g)))) (neg.f64 (cbrt.f64 (/.f64 a g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 0 (neg.f64 (cbrt.f64 g))) 0) (neg.f64 (cbrt.f64 (/.f64 a g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a g) (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 g a)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a g)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a g)) (/.f64 (cbrt.f64 -1) (cbrt.f64 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (cbrt.f64 (/.f64 a g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (pow.f64 (neg.f64 (cbrt.f64 (/.f64 a g))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (/.f64 a g))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 a) (/.f64 1 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 a) (pow.f64 (/.f64 1 (cbrt.f64 g)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a (neg.f64 g)) (neg.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 g a)) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 a)) (/.f64 -1 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 a g) 1/6) (pow.f64 (/.f64 a g) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 g)) (/.f64 (cbrt.f64 (neg.f64 a)) (cbrt.f64 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 g)) (pow.f64 (/.f64 1 a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 a)) (cbrt.f64 (/.f64 -1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 a)) (neg.f64 (neg.f64 (cbrt.f64 (/.f64 -1 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (neg.f64 (pow.f64 (/.f64 a g) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (neg.f64 a))) (neg.f64 (cbrt.f64 (/.f64 -1 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (neg.f64 a))) (/.f64 1 (neg.f64 (cbrt.f64 (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 a g) 1/12) (*.f64 (pow.f64 (/.f64 a g) 1/6) (pow.f64 (/.f64 a g) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 a g) 1/12) (neg.f64 (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 (/.f64 a g) 1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 g -1/6) (*.f64 (pow.f64 (/.f64 a g) 1/6) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 g -1/6) (*.f64 (cbrt.f64 a) (pow.f64 g -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 g -1/6) (neg.f64 (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 a 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a 1/6) (*.f64 (/.f64 1 (cbrt.f64 g)) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a 1/6) (*.f64 (pow.f64 (/.f64 a g) 1/6) (pow.f64 g -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a 1/6) (neg.f64 (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 g -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a 1/6) (neg.f64 (*.f64 (pow.f64 a 1/6) (/.f64 -1 (cbrt.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2)) (neg.f64 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (cbrt.f64 g)) (neg.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (cbrt.f64 g)) (pow.f64 (/.f64 -1 (cbrt.f64 a)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 a) (cbrt.f64 (/.f64 -1 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1) (/.f64 1 (cbrt.f64 (/.f64 (neg.f64 g) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 a (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1) (pow.f64 (/.f64 a (neg.f64 g)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 g)) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 g)) (pow.f64 (/.f64 1 (cbrt.f64 (neg.f64 a))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 g)) (pow.f64 (/.f64 -1 a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 a) 1/6) (*.f64 (pow.f64 (/.f64 a g) 1/6) (pow.f64 (neg.f64 g) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 a) 1/6) (neg.f64 (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 (neg.f64 g) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 g) -1/6) (*.f64 (pow.f64 (/.f64 a g) 1/6) (pow.f64 (neg.f64 a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (cbrt.f64 a)) (pow.f64 g -1/6)) (neg.f64 (pow.f64 g -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 (/.f64 a g) 1/12)) (neg.f64 (pow.f64 (/.f64 a g) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 g -1/6)) (neg.f64 (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 a 1/6)) (neg.f64 (pow.f64 g -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 (neg.f64 a) 1/6)) (neg.f64 (pow.f64 (neg.f64 g) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 a g) 1/6) (pow.f64 (neg.f64 a) 1/6)) (pow.f64 (neg.f64 g) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cbrt.f64 g)) (pow.f64 a 1/6)) (pow.f64 a 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 a g) 1/6) (pow.f64 (/.f64 a g) 1/12)) (pow.f64 (/.f64 a g) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 a g) 1/6) (pow.f64 a 1/6)) (pow.f64 g -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 a g) 1/6) (pow.f64 g -1/6)) (pow.f64 a 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 a g) 1/6) (pow.f64 (neg.f64 g) -1/6)) (pow.f64 (neg.f64 a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 a) (pow.f64 g -1/6)) (pow.f64 g -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 (/.f64 -1 g))) (cbrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 g 1/6)) (/.f64 (cbrt.f64 a) (pow.f64 g 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 -1) (cbrt.f64 -1)) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 1 (cbrt.f64 a))) (/.f64 -1 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 (/.f64 a g) -1/6)) (neg.f64 (pow.f64 (/.f64 a g) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 a) (pow.f64 g 1/6)) (/.f64 1 (pow.f64 g 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (neg.f64 a)) (cbrt.f64 -1)) (/.f64 1 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (cbrt.f64 (neg.f64 g))) (neg.f64 (cbrt.f64 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (cbrt.f64 -1)) (neg.f64 (/.f64 (cbrt.f64 (neg.f64 a)) (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 g -1/6)) (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/12)) (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 (/.f64 a g) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 a 1/6)) (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 g -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 a 1/6)) (*.f64 (pow.f64 a 1/6) (/.f64 -1 (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (neg.f64 a) 1/6)) (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 (neg.f64 g) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -1/2) (pow.f64 (cbrt.f64 (/.f64 g a)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (/.f64 a g) 1/6) 1) (pow.f64 (pow.f64 (/.f64 a g) 1/6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (cbrt.f64 (neg.f64 g)))) (neg.f64 (cbrt.f64 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (/.f64 (neg.f64 g) a))) (cbrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 a 1/6) -1) (neg.f64 (/.f64 (pow.f64 a 1/6) (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 a 1/6) (cbrt.f64 g)) (/.f64 (pow.f64 a 1/6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 g 1/6)) (neg.f64 (/.f64 (cbrt.f64 a) (pow.f64 g 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 a 1/6) 1) (/.f64 (pow.f64 a 1/6) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 a 1/6) (pow.f64 g 1/6)) (/.f64 (pow.f64 a 1/6) (pow.f64 g 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 -1) 1) (/.f64 (cbrt.f64 a) (cbrt.f64 (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 a) (cbrt.f64 (neg.f64 g))) (/.f64 (cbrt.f64 -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a (neg.f64 g))) (cbrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 a g) 1/2)) (cbrt.f64 (pow.f64 (/.f64 a g) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 -1 -1/3) (pow.f64 (/.f64 (neg.f64 g) a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 a (neg.f64 g)) 1/3) (cbrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (/.f64 a g) 1/2) 1/3) (pow.f64 (pow.f64 (/.f64 a g) 1/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 (cbrt.f64 (/.f64 a g))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1 (cbrt.f64 g)) 1) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 (cbrt.f64 a)) 1) (pow.f64 (/.f64 -1 (cbrt.f64 g)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -1 (cbrt.f64 g)) 1) (pow.f64 (neg.f64 (cbrt.f64 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (neg.f64 a)) 1) (pow.f64 (cbrt.f64 (/.f64 -1 g)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 -1 g)) 1) (pow.f64 (cbrt.f64 (neg.f64 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -1 (cbrt.f64 a)) -1) (/.f64 -1 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1 (cbrt.f64 (neg.f64 a))) -1) (cbrt.f64 (/.f64 -1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1 a) -1/3) (/.f64 1 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (neg.f64 g) a) -1/3) (pow.f64 -1 -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -1 a) -1/3) (cbrt.f64 (/.f64 -1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (neg.f64 a) 1/6) 2) (pow.f64 (pow.f64 (neg.f64 g) -1/6) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (neg.f64 g) -1/6) 2) (pow.f64 (pow.f64 (neg.f64 a) 1/6) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (neg.f64 (cbrt.f64 a)) (pow.f64 g -1/6))) (pow.f64 g -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 (/.f64 a g) 1/12))) (pow.f64 (/.f64 a g) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 g -1/6))) (pow.f64 a 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 a 1/6))) (pow.f64 g -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (pow.f64 (neg.f64 a) 1/6))) (pow.f64 (neg.f64 g) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 -1 (/.f64 1 (cbrt.f64 a)))) (/.f64 1 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 -1 (pow.f64 (/.f64 a g) -1/6))) (pow.f64 (/.f64 a g) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 -1 (cbrt.f64 (neg.f64 g)))) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 -1 (cbrt.f64 -1))) (/.f64 (cbrt.f64 (neg.f64 a)) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (pow.f64 a 1/6) -1)) (/.f64 (pow.f64 a 1/6) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 -1 (pow.f64 g 1/6))) (/.f64 (cbrt.f64 a) (pow.f64 g 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 a g) (pow.f64 (cbrt.f64 (/.f64 g a)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 a g)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (/.f64 a g))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 a) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 a (neg.f64 g)) (neg.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 a)) (neg.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 a)) (/.f64 -1 (/.f64 1 (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 a)) (/.f64 1 (/.f64 -1 (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 a)) (/.f64 (neg.f64 (cbrt.f64 g)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (/.f64 a g) 1/6) (pow.f64 (/.f64 a g) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (cbrt.f64 g)) (/.f64 1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 a)) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 a)) (/.f64 1 (cbrt.f64 (/.f64 -1 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 a)) (/.f64 (cbrt.f64 (neg.f64 g)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (/.f64 -1 (pow.f64 (/.f64 a g) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) (neg.f64 (pow.f64 (/.f64 a g) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (neg.f64 a))) (neg.f64 (cbrt.f64 (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (/.f64 a g) 1/12) (/.f64 (pow.f64 (/.f64 a g) -1/6) (pow.f64 (/.f64 a g) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 g -1/6) (/.f64 (pow.f64 (/.f64 a g) -1/6) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 a 1/6) (/.f64 (cbrt.f64 g) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 a 1/6) (/.f64 (pow.f64 (/.f64 a g) -1/6) (pow.f64 g -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2)) (neg.f64 (cbrt.f64 (/.f64 a g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 (neg.f64 g) a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 -1) (*.f64 1 (cbrt.f64 (/.f64 (neg.f64 g) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (neg.f64 a) 1/6) (/.f64 (pow.f64 (/.f64 a g) -1/6) (pow.f64 (neg.f64 g) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (cbrt.f64 -1)) (cbrt.f64 (/.f64 (neg.f64 g) a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (cbrt.f64 a)) 1) (neg.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (/.f64 -1 (cbrt.f64 a))) (neg.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (/.f64 1 (cbrt.f64 (neg.f64 a)))) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 a) (pow.f64 g 1/6)) (pow.f64 g 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (neg.f64 a)) (cbrt.f64 -1)) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (neg.f64 a)) 1) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (/.f64 a g) 1/6) (pow.f64 a -1/6)) (pow.f64 g 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (/.f64 a g) 1/6) (pow.f64 (/.f64 a g) -1/12)) (pow.f64 (/.f64 a g) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 -1)) (neg.f64 (cbrt.f64 (/.f64 (neg.f64 g) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (neg.f64 (cbrt.f64 (/.f64 a g))) 3)) (pow.f64 (cbrt.f64 (/.f64 g a)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (log.f64 (neg.f64 (cbrt.f64 (/.f64 a g))))) (exp.f64 (log.f64 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (log.f64 (neg.f64 (cbrt.f64 a)))) (exp.f64 (log.f64 (neg.f64 (cbrt.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a g) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a g)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 g a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 g a) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a g) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a g) -1/6) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a g) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 g a) (/.f64 g a)) -1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (cbrt.f64 (/.f64 a g))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 a g))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (/.f64 g a) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (/.f64 -1 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (/.f64 g a)) (*.f64 0 (/.f64 -1 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 g a) 0) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 0 (neg.f64 (cbrt.f64 a))) 0) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 -1 (cbrt.f64 a)) 0) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 -1 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2))) 0) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (/.f64 1 (cbrt.f64 a)) -1) 0) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 -1 (cbrt.f64 a))) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 -1 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2)))) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (/.f64 1 (cbrt.f64 a)) -1)) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 (cbrt.f64 a))) (neg.f64 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a g)) (/.f64 -1 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 g a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 g a)) (/.f64 (cbrt.f64 -1) (cbrt.f64 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 g a) (pow.f64 (cbrt.f64 (/.f64 g a)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (cbrt.f64 (/.f64 g 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) (*.f64 (/.f64 1 (cbrt.f64 (neg.f64 a))) (cbrt.f64 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (/.f64 (/.f64 1 (cbrt.f64 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (pow.f64 (pow.f64 a -1/6) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 a)) (neg.f64 (pow.f64 (/.f64 -1 (cbrt.f64 g)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 a g) -1/6) (pow.f64 (/.f64 a g) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 a g) -1/6) (neg.f64 (neg.f64 (pow.f64 (/.f64 a g) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 a g) -1/6) (neg.f64 (pow.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (/.f64 g a))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 g)) (/.f64 -1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 g)) (/.f64 (/.f64 1 (cbrt.f64 a)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 g) a) (neg.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 g)) (/.f64 1 (cbrt.f64 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 g)) (/.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 g)) (pow.f64 (/.f64 -1 a) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (cbrt.f64 a)) (neg.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (cbrt.f64 a)) (pow.f64 (/.f64 -1 (cbrt.f64 g)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (neg.f64 a))) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (neg.f64 a))) (pow.f64 (cbrt.f64 (/.f64 -1 g)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 g 1/6) (*.f64 (pow.f64 (/.f64 a g) -1/6) (pow.f64 a -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 g 1/6) (*.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 g 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2) (/.f64 g a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (neg.f64 g))) (/.f64 1 (neg.f64 (cbrt.f64 (neg.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 (neg.f64 g) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (neg.f64 g) a)) (cbrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (neg.f64 g) a)) (/.f64 1 (cbrt.f64 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/6) (*.f64 (pow.f64 (/.f64 a g) -1/6) (pow.f64 g 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 a g) -1/12) (*.f64 (pow.f64 (/.f64 a g) -1/6) (pow.f64 (/.f64 a g) -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1 (cbrt.f64 a)) (pow.f64 g 1/6)) (neg.f64 (pow.f64 g 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 a g) -1/6) (pow.f64 a -1/6)) (pow.f64 g 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 a g) -1/6) (pow.f64 (/.f64 a g) -1/12)) (pow.f64 (/.f64 a g) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cbrt.f64 (neg.f64 a))) (cbrt.f64 -1)) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 g 1/6)) (pow.f64 g 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 a g) -1/6) (pow.f64 g 1/6)) (pow.f64 a -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 -1) (cbrt.f64 -1)) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 (/.f64 a g) 1/6)) (neg.f64 (pow.f64 (/.f64 a g) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (cbrt.f64 (neg.f64 a))) (neg.f64 (cbrt.f64 (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 g -1/6)) (/.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 g -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 g) -1) (/.f64 -1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 -1)) (cbrt.f64 (/.f64 (neg.f64 g) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 a 1/6)) (/.f64 (cbrt.f64 g) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 g) (pow.f64 a 1/6)) (/.f64 1 (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (cbrt.f64 a)) 1) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 g -1/6)) (/.f64 1 (pow.f64 g -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (cbrt.f64 (neg.f64 a)))) (neg.f64 (cbrt.f64 (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2))) (neg.f64 (cbrt.f64 (/.f64 a g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (cbrt.f64 -1)) (neg.f64 (cbrt.f64 (/.f64 (neg.f64 g) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2))) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (cbrt.f64 a)) -1) (neg.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 -1)) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (/.f64 a g) -1/6)) (neg.f64 (pow.f64 (/.f64 a g) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (/.f64 a g) -1/6)) (pow.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1 (cbrt.f64 (neg.f64 a)))) (neg.f64 (cbrt.f64 (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 (cbrt.f64 (/.f64 a g))) -1/2) (neg.f64 (pow.f64 (neg.f64 (cbrt.f64 (/.f64 a g))) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (/.f64 a g) -1/6) 1) (pow.f64 (pow.f64 (/.f64 a g) -1/6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 g 1/6) -1) (neg.f64 (/.f64 (pow.f64 g 1/6) (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 g 1/6) (pow.f64 a 1/6)) (/.f64 (pow.f64 g 1/6) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 a)) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 -1 -1/3) (pow.f64 (/.f64 a (neg.f64 g)) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -1 (cbrt.f64 g)) -1) (/.f64 -1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) -1) (neg.f64 (pow.f64 (/.f64 a g) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 a (neg.f64 g)) -1/3) (pow.f64 -1 -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (/.f64 a g) 1/2) -1/3) (pow.f64 (pow.f64 (/.f64 a g) 1/2) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 -1 g)) -1) (/.f64 1 (cbrt.f64 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -1 a) 1/3) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 a -1/6) 2) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 -1 (cbrt.f64 -1))) (cbrt.f64 (/.f64 (neg.f64 g) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1 (neg.f64 (cbrt.f64 (neg.f64 a))))) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (neg.f64 (cbrt.f64 (/.f64 a g))) -1/2)) (pow.f64 (neg.f64 (cbrt.f64 (/.f64 a g))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (/.f64 -1 (cbrt.f64 a)) (pow.f64 g 1/6))) (pow.f64 g 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 -1 (pow.f64 (/.f64 a g) 1/6))) (pow.f64 (/.f64 a g) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 -1 (cbrt.f64 (neg.f64 a)))) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (cbrt.f64 g) -1)) (/.f64 1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2)))) (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (neg.f64 (pow.f64 (/.f64 a g) -1/6))) (pow.f64 (/.f64 a g) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (neg.f64 (/.f64 1 (cbrt.f64 (neg.f64 a))))) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (pow.f64 g 1/6) -1)) (/.f64 (pow.f64 g 1/6) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (neg.f64 (pow.f64 (/.f64 a g) 1/6)) -1)) (pow.f64 (/.f64 a g) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a g) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a g)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 g a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 g a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a g) 1/6) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a g) -1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a g) 2) -1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -1) (log.f64 (cbrt.f64 (/.f64 a g))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.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 exp.f64 (log.f64 (cbrt.f64 (/.f64 g a))))))))

simplify15.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize42.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 1/3 (log.f64 (/.f64 g a)))
1.0b
(cbrt.f64 2)
2.1b
(exp.f64 (*.f64 1/3 (log.f64 (/.f64 g a))))
8.3b
(log.f64 (/.f64 g a))
Compiler

Compiled 93 to 55 computations (40.9% saved)

series127.0ms (0.9%)

Counts
3 → 48
Calls

18 calls:

TimeVariablePointExpression
46.0ms
g
@0
(log.f64 (/.f64 g a))
31.0ms
g
@-inf
(log.f64 (/.f64 g a))
18.0ms
a
@-inf
(log.f64 (/.f64 g a))
13.0ms
a
@0
(log.f64 (/.f64 g a))
7.0ms
g
@inf
(log.f64 (/.f64 g a))

rewrite156.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
356×+-commutative
338×distribute-lft-neg-in
303×distribute-rgt-neg-in
292×associate-+l+
288×egg-rr
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0826
12226
29221
355021
4432017
Stop Event
node limit
Counts
3 → 389
Calls
Call 1
Inputs
(log.f64 (/.f64 g a))
(exp.f64 (*.f64 1/3 (log.f64 (/.f64 g a))))
(*.f64 1/3 (log.f64 (/.f64 g a)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 0 0) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 g) (neg.f64 (log.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 0 0) 1/2) (*.f64 (/.f64 0 0) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log.f64 a)) (log.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log.f64 a)) (*.f64 (neg.f64 (log.f64 g)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log.f64 a)) (*.f64 1 (log.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log.f64 a)) (+.f64 (*.f64 (neg.f64 (log.f64 g)) -1) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log.f64 a)) (+.f64 (*.f64 1 (log.f64 g)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log.f64 a)) (+.f64 0 (*.f64 (neg.f64 (log.f64 g)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log.f64 a)) (+.f64 0 (*.f64 1 (log.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log.f64 a)) (-.f64 0 (neg.f64 (log.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (neg.f64 g)) (log.f64 (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 g) 1/2) (+.f64 (*.f64 (log.f64 a) -1/2) (*.f64 (/.f64 0 0) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 g) 1/2) (-.f64 (*.f64 (log.f64 a) -1/2) (*.f64 (/.f64 0 0) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 -1 a)) (log.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a))) (neg.f64 (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a))) (+.f64 (neg.f64 (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (neg.f64 (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (+.f64 (neg.f64 (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (neg.f64 g)) 1/2) (+.f64 (*.f64 (log.f64 (neg.f64 a)) -1/2) (*.f64 (/.f64 0 0) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (neg.f64 g)) 1/2) (-.f64 (*.f64 (log.f64 (neg.f64 a)) -1/2) (*.f64 (/.f64 0 0) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 -1) (+.f64 (log.f64 -1) (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 a (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 -1) (log.f64 (/.f64 g (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 -1) (+.f64 (+.f64 (log.f64 -1) (/.f64 0 0)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 -1) (+.f64 (neg.f64 (log.f64 (/.f64 a (neg.f64 g)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 -1) (+.f64 (log.f64 (/.f64 g (neg.f64 a))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 -1) (+.f64 (log.f64 (neg.f64 g)) (neg.f64 (log.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 -1) (+.f64 (log.f64 (/.f64 -1 a)) (*.f64 (neg.f64 (log.f64 g)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 -1) (+.f64 (log.f64 (/.f64 -1 a)) (*.f64 1 (log.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 -1) (-.f64 (log.f64 (/.f64 -1 a)) (neg.f64 (log.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 -1) (/.f64 0 0)) (log.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (log.f64 -1)) (+.f64 (log.f64 -1) (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (log.f64 -1)) (neg.f64 (log.f64 (/.f64 a (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (log.f64 -1)) (log.f64 (/.f64 g (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a)))) (neg.f64 (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (neg.f64 (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (+.f64 (/.f64 0 0) (log.f64 g))) (*.f64 (log.f64 a) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (+.f64 (/.f64 0 0) (log.f64 (neg.f64 g)))) (*.f64 (log.f64 (neg.f64 a)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log.f64 -1) (log.f64 -1)) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 0 (log.f64 -1)) (log.f64 (/.f64 g (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 (log.f64 g)) -1) (neg.f64 (log.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log.f64 -1)) (+.f64 (neg.f64 (log.f64 a)) (log.f64 (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (log.f64 g)) (neg.f64 (log.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a)))) (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log.f64 (/.f64 a (neg.f64 g)))) (log.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 g (neg.f64 a))) (log.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (/.f64 g a) 1/2)) (log.f64 (pow.f64 (/.f64 g a) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (/.f64 g a) 1/2)) (+.f64 (log.f64 (pow.f64 (/.f64 g a) 1/2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 a -1/2)) (+.f64 (log.f64 (pow.f64 a -1/2)) (log.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 a -1/2)) (+.f64 (log.f64 (pow.f64 a -1/2)) (*.f64 (neg.f64 (log.f64 g)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 a -1/2)) (+.f64 (log.f64 (pow.f64 a -1/2)) (*.f64 1 (log.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 a -1/2)) (-.f64 (log.f64 (pow.f64 a -1/2)) (neg.f64 (log.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 g) (log.f64 (pow.f64 a -1/2))) (log.f64 (pow.f64 a -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (log.f64 (pow.f64 (/.f64 g a) 1/2))) (log.f64 (pow.f64 (/.f64 g a) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 (neg.f64 g)) (neg.f64 (log.f64 -1))) (neg.f64 (log.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 0 (neg.f64 (log.f64 g))) (neg.f64 (log.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 0 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (/.f64 0 0) 1/2) 0) (*.f64 (/.f64 0 0) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 0 (log.f64 -1)) (log.f64 -1)) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 0 (-.f64 0 (log.f64 (neg.f64 g)))) (log.f64 (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (-.f64 (log.f64 (neg.f64 g)) (log.f64 -1)) 0) (neg.f64 (log.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 0 (log.f64 (/.f64 a (neg.f64 g)))) (log.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log.f64 (neg.f64 g)) (log.f64 (*.f64 a (neg.f64 a)))) (log.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log.f64 (neg.f64 g)) (log.f64 (neg.f64 (pow.f64 a 3)))) (log.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (-.f64 (log.f64 (neg.f64 g)) (log.f64 -1)) (log.f64 (neg.f64 a))) (log.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (/.f64 0 0) 1/2) (*.f64 (log.f64 a) 1/2)) (*.f64 (log.f64 g) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (/.f64 0 0) 1/2) (*.f64 (log.f64 (neg.f64 a)) 1/2)) (*.f64 (log.f64 (neg.f64 g)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 0) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 g) (log.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 0 0) 1/2) (*.f64 (/.f64 0 0) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (log.f64 a)) (neg.f64 (log.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 g)) (log.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (log.f64 g) 1/2) (*.f64 1/2 (-.f64 (log.f64 a) (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (log.f64 g) 1/2) (+.f64 (*.f64 (log.f64 a) 1/2) (*.f64 (/.f64 0 0) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 -1 a)) (neg.f64 (log.f64 (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 -1 a)) (log.f64 (/.f64 -1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a))) (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a))) (-.f64 (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (-.f64 (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (log.f64 (neg.f64 g)) 1/2) (*.f64 1/2 (-.f64 (log.f64 (neg.f64 a)) (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (log.f64 (neg.f64 g)) 1/2) (+.f64 (*.f64 (log.f64 (neg.f64 a)) 1/2) (*.f64 (/.f64 0 0) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 -1) (log.f64 (/.f64 a (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 -1) (-.f64 (log.f64 (neg.f64 a)) (*.f64 (neg.f64 (log.f64 g)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 -1) (-.f64 (log.f64 (neg.f64 a)) (*.f64 1 (log.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log.f64 -1) (/.f64 0 0)) (log.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (log.f64 -1)) (log.f64 (/.f64 a (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (log.f64 -1)) (-.f64 (log.f64 (neg.f64 a)) (*.f64 (neg.f64 (log.f64 g)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (log.f64 -1)) (-.f64 (log.f64 (neg.f64 a)) (*.f64 1 (log.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a)))) (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a)))) (-.f64 (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (-.f64 (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (+.f64 (/.f64 0 0) (log.f64 g))) (*.f64 (log.f64 a) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (+.f64 (/.f64 0 0) (log.f64 (neg.f64 g)))) (*.f64 (log.f64 (neg.f64 a)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (log.f64 -1) (log.f64 -1)) (neg.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (log.f64 (neg.f64 g)) (log.f64 -1)) (log.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (log.f64 g) (log.f64 -1)) (log.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (log.f64 -1)) (log.f64 (/.f64 a (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a))) 2) (-.f64 (/.f64 (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a))) 2) (*.f64 (/.f64 0 0) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a))) 2) (+.f64 (/.f64 (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a))) 2) (*.f64 (/.f64 0 0) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 2) (-.f64 (/.f64 (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 2) (*.f64 (/.f64 0 0) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 2) (+.f64 (/.f64 (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 2) (*.f64 (/.f64 0 0) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (log.f64 -1) 2) (-.f64 (/.f64 (log.f64 (/.f64 a (neg.f64 g))) 2) (*.f64 (/.f64 0 0) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (log.f64 -1) 2) (+.f64 (/.f64 (log.f64 (/.f64 a (neg.f64 g))) 2) (*.f64 (/.f64 0 0) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 g) 2) (*.f64 2 (log.f64 (*.f64 g a)))) (-.f64 (/.f64 (pow.f64 (log.f64 a) 2) (*.f64 2 (log.f64 (*.f64 g a)))) (*.f64 (/.f64 0 0) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 g) 2) (*.f64 2 (log.f64 (*.f64 g a)))) (+.f64 (/.f64 (pow.f64 (log.f64 a) 2) (*.f64 2 (log.f64 (*.f64 g a)))) (*.f64 (/.f64 0 0) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 g) 3) (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (-.f64 (/.f64 (pow.f64 (log.f64 a) 3) (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (*.f64 (/.f64 0 0) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 g) 3) (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (+.f64 (/.f64 (pow.f64 (log.f64 a) 3) (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (*.f64 (/.f64 0 0) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (log.f64 a) -2) (-.f64 (/.f64 (log.f64 g) -2) (*.f64 (/.f64 0 0) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (log.f64 a) -2) (+.f64 (/.f64 (log.f64 g) -2) (*.f64 (/.f64 0 0) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (log.f64 (neg.f64 a)) -2) (-.f64 (/.f64 (log.f64 (neg.f64 g)) -2) (*.f64 (/.f64 0 0) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (log.f64 (neg.f64 a)) -2) (+.f64 (/.f64 (log.f64 (neg.f64 g)) -2) (*.f64 (/.f64 0 0) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 (/.f64 0 0))) (neg.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (log.f64 (*.f64 g a))) (/.f64 (pow.f64 (log.f64 (neg.f64 a)) 2) (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (log.f64 (*.f64 g a))) (-.f64 (/.f64 (pow.f64 (log.f64 (neg.f64 a)) 2) (log.f64 (*.f64 g a))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (pow.f64 (neg.f64 (/.f64 0 0)) 2)) (/.f64 (neg.f64 (pow.f64 (/.f64 0 0) 3)) (pow.f64 (neg.f64 (/.f64 0 0)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (pow.f64 (neg.f64 (/.f64 0 0)) 2)) (-.f64 (/.f64 (neg.f64 (pow.f64 (/.f64 0 0) 3)) (pow.f64 (neg.f64 (/.f64 0 0)) 2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 (neg.f64 g)) 3) (+.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (*.f64 (log.f64 (neg.f64 a)) (log.f64 (*.f64 g a))))) (/.f64 (pow.f64 (log.f64 (neg.f64 a)) 3) (+.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (*.f64 (log.f64 (neg.f64 a)) (log.f64 (*.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 (neg.f64 g)) 3) (+.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (*.f64 (log.f64 (neg.f64 a)) (log.f64 (*.f64 g a))))) (-.f64 (/.f64 (pow.f64 (log.f64 (neg.f64 a)) 3) (+.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (*.f64 (log.f64 (neg.f64 a)) (log.f64 (*.f64 g a))))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 g (neg.f64 g))) (+.f64 (log.f64 g) (log.f64 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 g (neg.f64 g))) (-.f64 (log.f64 g) (log.f64 (/.f64 -1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 (pow.f64 g 3))) (-.f64 (log.f64 (*.f64 g g)) (log.f64 (/.f64 -1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 (pow.f64 g 3))) (+.f64 (log.f64 (*.f64 g g)) (log.f64 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (+.f64 0 (log.f64 -1))) (log.f64 (/.f64 a (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (+.f64 0 (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a))))) (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (+.f64 0 (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))) (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (-.f64 (log.f64 (neg.f64 g)) (log.f64 -1))) (log.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (/.f64 0 (neg.f64 (/.f64 0 0)))) (neg.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (/.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (log.f64 (*.f64 g a)))) (/.f64 (pow.f64 (log.f64 (neg.f64 a)) 2) (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (/.f64 0 (pow.f64 (neg.f64 (/.f64 0 0)) 2))) (/.f64 (neg.f64 (pow.f64 (/.f64 0 0) 3)) (pow.f64 (neg.f64 (/.f64 0 0)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (/.f64 (pow.f64 (log.f64 (neg.f64 g)) 3) (+.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (*.f64 (log.f64 (neg.f64 a)) (log.f64 (*.f64 g a)))))) (/.f64 (pow.f64 (log.f64 (neg.f64 a)) 3) (+.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (*.f64 (log.f64 (neg.f64 a)) (log.f64 (*.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (*.f64 g (neg.f64 g)))) (log.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (neg.f64 (pow.f64 g 3)))) (log.f64 (*.f64 g g)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 0 0) 1/2) (/.f64 (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a))) 2)) (/.f64 (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 0 0) 1/2) (/.f64 (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 2)) (/.f64 (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 0 0) 1/2) (/.f64 (log.f64 -1) 2)) (/.f64 (log.f64 (/.f64 a (neg.f64 g))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 0 0) 1/2) (/.f64 (pow.f64 (log.f64 g) 2) (*.f64 2 (log.f64 (*.f64 g a))))) (/.f64 (pow.f64 (log.f64 a) 2) (*.f64 2 (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 0 0) 1/2) (/.f64 (pow.f64 (log.f64 g) 3) (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))) (/.f64 (pow.f64 (log.f64 a) 3) (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 0 0) 1/2) (/.f64 (log.f64 a) -2)) (/.f64 (log.f64 g) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 0 0) 1/2) (/.f64 (log.f64 (neg.f64 a)) -2)) (/.f64 (log.f64 (neg.f64 g)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (neg.f64 (log.f64 g))) (log.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (log.f64 (/.f64 -1 g))) (log.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 0 (log.f64 -1)) (log.f64 -1)) (neg.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 0 (log.f64 (neg.f64 g)))) (log.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 0 (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a))))) (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 0 (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))) (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 0 (log.f64 -1))) (log.f64 (/.f64 a (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (neg.f64 (log.f64 (neg.f64 g)))) (neg.f64 (log.f64 (/.f64 -1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 (log.f64 (neg.f64 g)) (log.f64 -1)) 0) (log.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 (log.f64 (neg.f64 g)) (log.f64 -1)) (log.f64 -1)) (log.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 0 0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 0 0) (-.f64 (/.f64 (pow.f64 (log.f64 g) 2) (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a)))) (/.f64 (pow.f64 (log.f64 a) 2) (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 0 0) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (log.f64 (pow.f64 (/.f64 g a) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 0 0) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (/.f64 1 (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (+.f64 (*.f64 (/.f64 1 (log.f64 (*.f64 g a))) 1/2) (*.f64 (/.f64 1 (log.f64 (*.f64 g a))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (+.f64 (/.f64 1 (*.f64 2 (log.f64 (*.f64 g a)))) (*.f64 (/.f64 1 (log.f64 (*.f64 g a))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (+.f64 (*.f64 (/.f64 1 (log.f64 (*.f64 g a))) 1/2) (/.f64 1 (*.f64 2 (log.f64 (*.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (+.f64 (/.f64 1 (*.f64 2 (log.f64 (*.f64 g a)))) (/.f64 1 (*.f64 2 (log.f64 (*.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (neg.f64 (neg.f64 (/.f64 1 (log.f64 (*.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (*.f64 g a)) (*.f64 (/.f64 0 0) (/.f64 1 (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (/.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (+.f64 (*.f64 (/.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 1/2) (*.f64 (/.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (+.f64 (/.f64 1 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (*.f64 (/.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (+.f64 (*.f64 (/.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 1/2) (/.f64 1 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (+.f64 (/.f64 1 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (/.f64 1 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (neg.f64 (neg.f64 (/.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)) (*.f64 (/.f64 0 0) (/.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 0 0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 0 0) -1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (+.f64 (neg.f64 (/.f64 0 0)) (neg.f64 (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (log.f64 g) (/.f64 0 0)) (pow.f64 (log.f64 a) 2)) (-.f64 (/.f64 (pow.f64 (log.f64 g) 3) (-.f64 (pow.f64 (log.f64 g) 4) (pow.f64 (*.f64 (log.f64 a) (log.f64 (*.f64 g a))) 2))) (/.f64 (pow.f64 (log.f64 a) 3) (-.f64 (pow.f64 (log.f64 g) 4) (pow.f64 (*.f64 (log.f64 a) (log.f64 (*.f64 g a))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (neg.f64 (/.f64 0 0)) 2)) (/.f64 1 (neg.f64 (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (log.f64 (*.f64 g a))) (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (/.f64 0 0) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (log.f64 a) 2) (*.f64 (log.f64 g) (/.f64 0 0))) (-.f64 (/.f64 (pow.f64 (log.f64 g) 2) (+.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3))) (/.f64 (pow.f64 (log.f64 a) 2) (+.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (log.f64 g) 4) (*.f64 (*.f64 (log.f64 a) (log.f64 (*.f64 g a))) (-.f64 (*.f64 (log.f64 a) (log.f64 (*.f64 g a))) (pow.f64 (log.f64 g) 2)))) (-.f64 (/.f64 (pow.f64 (log.f64 g) 3) (+.f64 (pow.f64 (log.f64 g) 6) (pow.f64 (*.f64 (log.f64 a) (log.f64 (*.f64 g a))) 3))) (/.f64 (pow.f64 (log.f64 a) 3) (+.f64 (pow.f64 (log.f64 g) 6) (pow.f64 (*.f64 (log.f64 a) (log.f64 (*.f64 g a))) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (neg.f64 (pow.f64 (/.f64 0 0) 3))) (/.f64 1 (pow.f64 (neg.f64 (/.f64 0 0)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log.f64 (neg.f64 g)) 3) (pow.f64 (log.f64 (neg.f64 a)) 3)) (/.f64 1 (+.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (*.f64 (log.f64 (neg.f64 a)) (log.f64 (*.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 0 0) (neg.f64 (log.f64 (*.f64 g a)))) (neg.f64 (/.f64 1 (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 0 0) (neg.f64 (log.f64 (*.f64 g a)))) (/.f64 1 (neg.f64 (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (log.f64 a) 3) (neg.f64 (pow.f64 (log.f64 g) 3))) (neg.f64 (/.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (log.f64 a) 3) (neg.f64 (pow.f64 (log.f64 g) 3))) (/.f64 1 (neg.f64 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (/.f64 0 0) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 0 0) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (log.f64 (*.f64 g a))) 1/2) (+.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 1/2) (+.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a)))) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (+.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3))) (+.f64 (pow.f64 (log.f64 a) 2) (*.f64 (log.f64 g) (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (-.f64 (pow.f64 (log.f64 g) 4) (pow.f64 (*.f64 (log.f64 a) (log.f64 (*.f64 g a))) 2))) (-.f64 (*.f64 (log.f64 g) (/.f64 0 0)) (pow.f64 (log.f64 a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (+.f64 (pow.f64 (log.f64 g) 6) (pow.f64 (*.f64 (log.f64 a) (log.f64 (*.f64 g a))) 3))) (+.f64 (pow.f64 (log.f64 g) 4) (*.f64 (*.f64 (log.f64 a) (log.f64 (*.f64 g a))) (-.f64 (*.f64 (log.f64 a) (log.f64 (*.f64 g a))) (pow.f64 (log.f64 g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (log.f64 (*.f64 g a)))) (+.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (+.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (log.f64 (*.f64 g a)) 2) (+.f64 (/.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (/.f64 (/.f64 0 0) (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (+.f64 (/.f64 (log.f64 (*.f64 g a)) 2) (/.f64 (log.f64 (*.f64 g a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)) 2) (+.f64 (/.f64 (/.f64 0 0) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (/.f64 (/.f64 0 0) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 0 0) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (+.f64 (/.f64 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)) 2) (/.f64 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 1 (/.f64 0 0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (neg.f64 (/.f64 0 0)) (neg.f64 (pow.f64 (neg.f64 (/.f64 0 0)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 (neg.f64 (/.f64 0 0)) 2) (neg.f64 (neg.f64 (pow.f64 (/.f64 0 0) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (*.f64 (log.f64 (neg.f64 a)) (log.f64 (*.f64 g a)))) (-.f64 (pow.f64 (log.f64 (neg.f64 g)) 3) (pow.f64 (log.f64 (neg.f64 a)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 2 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (log.f64 (*.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (*.f64 1 (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 (*.f64 g a)) (/.f64 (log.f64 (*.f64 g a)) (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 0 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 1 (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (*.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)) (/.f64 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)) (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (neg.f64 (/.f64 0 0)) 2) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (neg.f64 (/.f64 0 0)) 2)) (neg.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 g) 6) (pow.f64 (log.f64 a) 6)) (*.f64 (log.f64 (*.f64 g a)) (+.f64 (pow.f64 (log.f64 a) 4) (+.f64 (pow.f64 (*.f64 (log.f64 g) (log.f64 a)) 2) (pow.f64 (log.f64 g) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 g) 6) (pow.f64 (log.f64 a) 6)) (*.f64 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)) (+.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 g) 4) (pow.f64 (log.f64 a) 4)) (*.f64 (log.f64 (*.f64 g a)) (+.f64 (pow.f64 (log.f64 g) 2) (pow.f64 (log.f64 a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (pow.f64 (/.f64 0 0) 3))) (pow.f64 (neg.f64 (/.f64 0 0)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 (neg.f64 g)) 3) (pow.f64 (log.f64 (neg.f64 a)) 3)) (+.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (*.f64 (log.f64 (neg.f64 a)) (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 g) 9) (pow.f64 (log.f64 a) 9)) (*.f64 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)) (+.f64 (pow.f64 (*.f64 (log.f64 g) (log.f64 a)) 3) (+.f64 (pow.f64 (log.f64 g) 6) (pow.f64 (log.f64 a) 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 0 0) (neg.f64 (log.f64 (*.f64 g a)))) (neg.f64 (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 a) 3) (neg.f64 (pow.f64 (log.f64 g) 3))) (neg.f64 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 0 0) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a)))) (*.f64 2 (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3))) (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (/.f64 0 0))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) 1) (log.f64 (*.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) 1) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (log.f64 g) 4) (pow.f64 (log.f64 a) 4)) (/.f64 1 (log.f64 (*.f64 g a)))) (+.f64 (pow.f64 (log.f64 g) 2) (pow.f64 (log.f64 a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (log.f64 g) 6) (pow.f64 (log.f64 a) 6)) (/.f64 1 (log.f64 (*.f64 g a)))) (+.f64 (pow.f64 (log.f64 a) 4) (+.f64 (pow.f64 (*.f64 (log.f64 g) (log.f64 a)) 2) (pow.f64 (log.f64 g) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (log.f64 g) 6) (pow.f64 (log.f64 a) 6)) (/.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (+.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (log.f64 g) 9) (pow.f64 (log.f64 a) 9)) (/.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (+.f64 (pow.f64 (*.f64 (log.f64 g) (log.f64 a)) 3) (+.f64 (pow.f64 (log.f64 g) 6) (pow.f64 (log.f64 a) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (neg.f64 (pow.f64 (/.f64 0 0) 3)))) (neg.f64 (pow.f64 (neg.f64 (/.f64 0 0)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (log.f64 (neg.f64 g)) 3) (pow.f64 (log.f64 (neg.f64 a)) 3))) (neg.f64 (+.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (*.f64 (log.f64 (neg.f64 a)) (log.f64 (*.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 a) 2) (pow.f64 (log.f64 g) 2)) (neg.f64 (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (*.f64 (log.f64 (/.f64 -1 a)) (log.f64 (/.f64 -1 a)))) (log.f64 (*.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a))) (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a)))) (*.f64 (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a))) (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a))))) (*.f64 (/.f64 1 (log.f64 (*.f64 g a))) (+.f64 (pow.f64 (log.f64 g) 2) (pow.f64 (log.f64 a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (*.f64 (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))) (*.f64 (/.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (+.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (log.f64 -1) (log.f64 -1)) (*.f64 (log.f64 (/.f64 a (neg.f64 g))) (log.f64 (/.f64 a (neg.f64 g))))) (neg.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 0 (pow.f64 (/.f64 0 0) 3)) (pow.f64 (neg.f64 (/.f64 0 0)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 (neg.f64 g)) 3) (pow.f64 (log.f64 (/.f64 -1 a)) 3)) (+.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (*.f64 (log.f64 (/.f64 -1 a)) (neg.f64 (log.f64 (*.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 (*.f64 (/.f64 0 0) 1/2) 3)) (+.f64 0 (*.f64 (*.f64 (/.f64 0 0) 1/2) (*.f64 (/.f64 0 0) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a))) 3) (pow.f64 (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a))) 3)) (+.f64 (*.f64 (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a))) (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a)))) (*.f64 (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a))) (*.f64 (/.f64 1 (log.f64 (*.f64 g a))) (+.f64 (pow.f64 (log.f64 g) 2) (pow.f64 (log.f64 a) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 3) (pow.f64 (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 3)) (+.f64 (*.f64 (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (*.f64 (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (*.f64 (/.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (+.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 -1) 3) (pow.f64 (log.f64 (/.f64 a (neg.f64 g))) 3)) (+.f64 (*.f64 (log.f64 -1) (log.f64 -1)) (*.f64 (log.f64 (/.f64 a (neg.f64 g))) (neg.f64 (/.f64 0 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 0 0) 2) (*.f64 (/.f64 0 0) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 2 (*.f64 (/.f64 2 (/.f64 0 0)) (/.f64 0 0))) (*.f64 (/.f64 2 (/.f64 0 0)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) 2) (*.f64 (*.f64 2 (log.f64 (*.f64 g a))) (/.f64 0 0))) (*.f64 (*.f64 2 (log.f64 (*.f64 g a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) 2) (*.f64 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (/.f64 0 0))) (*.f64 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (neg.f64 (/.f64 0 0)) 2) (*.f64 -2 (/.f64 0 0))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 2 (*.f64 (/.f64 0 0) (/.f64 2 (/.f64 0 0)))) (*.f64 2 (/.f64 2 (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1 (/.f64 2 (/.f64 0 0))) (*.f64 (/.f64 2 (/.f64 0 0)) 1)) (*.f64 (/.f64 2 (/.f64 0 0)) (/.f64 2 (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (/.f64 2 (/.f64 0 0))) (*.f64 (*.f64 2 (log.f64 (*.f64 g a))) 1)) (*.f64 (*.f64 2 (log.f64 (*.f64 g a))) (/.f64 2 (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (/.f64 2 (/.f64 0 0))) (*.f64 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) 1)) (*.f64 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (/.f64 2 (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (*.f64 (neg.f64 (/.f64 0 0)) (/.f64 2 (/.f64 0 0)))) (*.f64 -2 (/.f64 2 (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a)))) (*.f64 (/.f64 0 0) (*.f64 2 (log.f64 (*.f64 g a))))) (*.f64 2 (*.f64 2 (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1 (*.f64 2 (log.f64 (*.f64 g a)))) (*.f64 (/.f64 2 (/.f64 0 0)) (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))))) (*.f64 (/.f64 2 (/.f64 0 0)) (*.f64 2 (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (*.f64 2 (log.f64 (*.f64 g a)))) (*.f64 (*.f64 2 (log.f64 (*.f64 g a))) (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))))) (*.f64 (*.f64 2 (log.f64 (*.f64 g a))) (*.f64 2 (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (*.f64 2 (log.f64 (*.f64 g a)))) (*.f64 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))))) (*.f64 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (*.f64 2 (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (neg.f64 (/.f64 0 0)) (*.f64 2 (log.f64 (*.f64 g a)))) (*.f64 -2 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))))) (*.f64 -2 (*.f64 2 (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3))) (*.f64 (/.f64 0 0) (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))) (*.f64 2 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (*.f64 (/.f64 2 (/.f64 0 0)) (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)))) (*.f64 (/.f64 2 (/.f64 0 0)) (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (*.f64 (*.f64 2 (log.f64 (*.f64 g a))) (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)))) (*.f64 (*.f64 2 (log.f64 (*.f64 g a))) (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (*.f64 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)))) (*.f64 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (neg.f64 (/.f64 0 0)) (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (*.f64 -2 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)))) (*.f64 -2 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (/.f64 0 0))) (*.f64 (/.f64 0 0) -2)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (*.f64 (/.f64 2 (/.f64 0 0)) (neg.f64 (/.f64 0 0)))) (*.f64 (/.f64 2 (/.f64 0 0)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) -2) (*.f64 (*.f64 2 (log.f64 (*.f64 g a))) (neg.f64 (/.f64 0 0)))) (*.f64 (*.f64 2 (log.f64 (*.f64 g a))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) -2) (*.f64 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (neg.f64 (/.f64 0 0)))) (*.f64 (*.f64 2 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 0 0) 2) (*.f64 -2 (neg.f64 (/.f64 0 0)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a))) (*.f64 (log.f64 (*.f64 g a)) (pow.f64 (log.f64 a) 2))) (*.f64 (log.f64 (*.f64 g a)) (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))) (*.f64 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)) (pow.f64 (log.f64 a) 3))) (*.f64 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (log.f64 g) 4) (pow.f64 (log.f64 a) 4)) 1) (*.f64 (+.f64 (pow.f64 (log.f64 g) 2) (pow.f64 (log.f64 a) 2)) (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (log.f64 g) 6) (pow.f64 (log.f64 a) 6)) 1) (*.f64 (+.f64 (pow.f64 (log.f64 a) 4) (+.f64 (pow.f64 (*.f64 (log.f64 g) (log.f64 a)) 2) (pow.f64 (log.f64 g) 4))) (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (log.f64 g) 6) (pow.f64 (log.f64 a) 6)) 1) (*.f64 (+.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (log.f64 g) 9) (pow.f64 (log.f64 a) 9)) 1) (*.f64 (+.f64 (pow.f64 (*.f64 (log.f64 g) (log.f64 a)) 3) (+.f64 (pow.f64 (log.f64 g) 6) (pow.f64 (log.f64 a) 6))) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (/.f64 0 0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 0 0) 1/2 (*.f64 (/.f64 0 0) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (log.f64 a) (log.f64 g))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 g a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 g a)) (pow.f64 1 -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) 1/2) (pow.f64 (cbrt.f64 (/.f64 g a)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (cbrt.f64 (pow.f64 a -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1/3) (*.f64 (log.f64 g) 1/2)) (*.f64 (pow.f64 (exp.f64 1/3) (*.f64 (log.f64 g) 1/2)) (cbrt.f64 (pow.f64 a -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1/3) (/.f64 (/.f64 0 0) 4)) (*.f64 (pow.f64 (exp.f64 1/3) (/.f64 (/.f64 0 0) 4)) (pow.f64 (cbrt.f64 (/.f64 g a)) 1/2)))))) (#(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 (cbrt.f64 (pow.f64 a -1)) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 a -1)) (pow.f64 (/.f64 1 g) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 g)) (/.f64 1 (neg.f64 (pow.f64 (exp.f64 1/3) (log.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1/3) (log.f64 (neg.f64 g))) (/.f64 1 (pow.f64 (exp.f64 1/3) (log.f64 (neg.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1/3) (log.f64 (neg.f64 g))) (pow.f64 (exp.f64 1/3) (log.f64 (/.f64 -1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 a)) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 a)) (pow.f64 (/.f64 -1 g) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) 1/2) (pow.f64 (exp.f64 1/3) (/.f64 (/.f64 0 0) 4))) (pow.f64 (exp.f64 1/3) (/.f64 (/.f64 0 0) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1 (pow.f64 (cbrt.f64 (/.f64 g a)) 1/2)) (pow.f64 (cbrt.f64 (/.f64 g a)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1 (pow.f64 (/.f64 g a) 1/6)) (pow.f64 (/.f64 g a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1 (cbrt.f64 (neg.f64 g))) (cbrt.f64 (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) 1/2) 1) (pow.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 g (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 g a) 1/2)) (cbrt.f64 (pow.f64 (/.f64 g a) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 -1 1/3) (pow.f64 (/.f64 g (neg.f64 a)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (/.f64 g a) 1/2) 1/3) (pow.f64 (pow.f64 (/.f64 g a) 1/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1 g) -1/3) (cbrt.f64 (pow.f64 a -1)))))) (#(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 (/.f64 -1 g) -1/3) (cbrt.f64 (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 -1 -1/3) (pow.f64 (/.f64 a (neg.f64 g)) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 1 (cbrt.f64 (/.f64 g a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (pow.f64 (exp.f64 2/3) (*.f64 (/.f64 0 0) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 1 (cbrt.f64 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 g) (pow.f64 (exp.f64 1/3) (log.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 g) (*.f64 1 (pow.f64 (exp.f64 1/3) (log.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 g) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1/3) (*.f64 (log.f64 g) 1/2)) (/.f64 (pow.f64 (exp.f64 1/3) (log.f64 a)) (pow.f64 (exp.f64 1/3) (*.f64 (log.f64 g) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.f64 a -1)) (cbrt.f64 (/.f64 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (pow.f64 (exp.f64 1/3) (log.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1/3) (log.f64 (neg.f64 g))) (pow.f64 (exp.f64 1/3) (log.f64 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (pow.f64 (exp.f64 1/3) (log.f64 (neg.f64 g)))) (pow.f64 (exp.f64 1/3) (log.f64 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 g) (pow.f64 (exp.f64 1/3) (*.f64 (log.f64 a) 1/2))) (pow.f64 (exp.f64 1/3) (*.f64 (log.f64 a) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (exp.f64 1/3) (log.f64 (neg.f64 g)))) (neg.f64 (pow.f64 (exp.f64 1/3) (log.f64 (neg.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 a (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1/3) (/.f64 (pow.f64 (log.f64 g) 2) (log.f64 (*.f64 g a)))) (pow.f64 (exp.f64 1/3) (/.f64 (pow.f64 (log.f64 a) 2) (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1/3) (/.f64 (pow.f64 (log.f64 g) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))) (pow.f64 (exp.f64 1/3) (/.f64 (pow.f64 (log.f64 a) 3) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1/3) (log.f64 -1)) (pow.f64 (exp.f64 1/3) (log.f64 (/.f64 a (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 2/3) (*.f64 (log.f64 (neg.f64 g)) 1/2)) (pow.f64 (exp.f64 2/3) (*.f64 (log.f64 (neg.f64 a)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 g a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a g) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 g a) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 2/3) (*.f64 (/.f64 0 0) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (/.f64 g a))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 g a) (/.f64 g a)) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1/3) (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a)))) (/.f64 1 (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1/3) -1) (neg.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1/3) (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3))) (/.f64 1 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 2/3) (/.f64 0 0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cbrt.f64 g) (neg.f64 (pow.f64 (exp.f64 1/3) (log.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 g a))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 0 0) 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 0 0) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (log.f64 g)) (*.f64 (log.f64 a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 a) -1/3) (*.f64 1/3 (log.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (*.f64 (/.f64 0 0) 1/2)) (*.f64 1/3 (*.f64 (/.f64 0 0) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (log.f64 (neg.f64 g))) (*.f64 1/3 (log.f64 (/.f64 -1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (log.f64 (/.f64 -1 a))) (*.f64 1/3 (log.f64 (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (neg.f64 g)) 1/3) (*.f64 (log.f64 (/.f64 -1 a)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (/.f64 -1 a)) 1/3) (*.f64 (log.f64 (neg.f64 g)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (*.f64 1/3 (log.f64 g))) (*.f64 (log.f64 a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (*.f64 1/3 (log.f64 (neg.f64 g)))) (*.f64 1/3 (log.f64 (/.f64 -1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 0 (*.f64 (log.f64 (neg.f64 g)) 1/3)) (*.f64 (log.f64 (/.f64 -1 a)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 1/3 (log.f64 g)) 0) (*.f64 (log.f64 a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (/.f64 0 0) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/3 (log.f64 g)) (*.f64 1/3 (log.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (*.f64 1/3 (log.f64 a))) (*.f64 1/3 (neg.f64 (log.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (*.f64 1/3 (log.f64 a))) (*.f64 (neg.f64 (log.f64 g)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/3 (/.f64 1 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (log.f64 (*.f64 g a)) (*.f64 1/3 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)) (*.f64 1/3 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) (/.f64 (log.f64 (*.f64 g a)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) (/.f64 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/3 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a)))) (log.f64 (*.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/3 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3))) (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/3 (neg.f64 (pow.f64 (neg.f64 (/.f64 0 0)) 2))) (neg.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/3 (neg.f64 (neg.f64 (pow.f64 (/.f64 0 0) 3)))) (pow.f64 (neg.f64 (/.f64 0 0)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/3 (-.f64 (pow.f64 (log.f64 (neg.f64 g)) 3) (pow.f64 (log.f64 (neg.f64 a)) 3))) (+.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (*.f64 (log.f64 (neg.f64 a)) (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 (neg.f64 (/.f64 0 0)) 2)) 1/3) (neg.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (neg.f64 (pow.f64 (/.f64 0 0) 3))) 1/3) (pow.f64 (neg.f64 (/.f64 0 0)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (log.f64 (neg.f64 g)) 3) (pow.f64 (log.f64 (neg.f64 a)) 3)) 1/3) (+.f64 (pow.f64 (log.f64 (neg.f64 g)) 2) (*.f64 (log.f64 (neg.f64 a)) (log.f64 (*.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 1/3 (log.f64 g)) (*.f64 1/3 (log.f64 g))) (*.f64 (*.f64 (log.f64 a) -1/3) (*.f64 (log.f64 a) -1/3))) (*.f64 1/3 (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/3 (log.f64 g)) 3) (pow.f64 (*.f64 (log.f64 a) -1/3) 3)) (+.f64 (*.f64 (*.f64 1/3 (log.f64 g)) (*.f64 1/3 (log.f64 g))) (*.f64 (*.f64 (log.f64 a) -1/3) (-.f64 (*.f64 (log.f64 a) -1/3) (*.f64 1/3 (log.f64 g))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (/.f64 0 0) (log.f64 (*.f64 g a))) -1/3) (neg.f64 (log.f64 (*.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (log.f64 g) 3) (pow.f64 (log.f64 a) 3)) -1/3) (neg.f64 (fma.f64 (log.f64 a) (log.f64 (*.f64 g a)) (pow.f64 (log.f64 g) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 0 0) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/3 (log.f64 g) (*.f64 (log.f64 a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 g) 1/3 (*.f64 (log.f64 a) -1/3))))))

simplify379.0ms (2.7%)

Algorithm
egg-herbie
Rules
663×fma-def
525×*-commutative
483×+-commutative
479×associate-+l-
423×distribute-lft-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
031576
184496
2176496
3373496
41073496
52438496
64460496
75183496
85639496
95908496
106026496
116060496
126076496
136221496
146388496
156453496
166555496
176623496
186633496
196641496
206645496
216645496
227433496
237915496
Stop Event
node limit
Counts
437 → 401
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 g) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 g) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 g) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 g) (*.f64 -1 (log.f64 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)))
(+.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 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 1 a))))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 1 a))))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 1 a))))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 1 a))))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 -1 a))))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 -1 a))))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 -1 a))))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 -1 a))))
(*.f64 1/3 (+.f64 (log.f64 g) (*.f64 -1 (log.f64 a))))
(*.f64 1/3 (+.f64 (log.f64 g) (*.f64 -1 (log.f64 a))))
(*.f64 1/3 (+.f64 (log.f64 g) (*.f64 -1 (log.f64 a))))
(*.f64 1/3 (+.f64 (log.f64 g) (*.f64 -1 (log.f64 a))))
(*.f64 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 1/3 (+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 -1 a))))
(*.f64 1/3 (+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 -1 a))))
(*.f64 1/3 (+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 -1 a))))
(*.f64 1/3 (+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 -1 a))))
Outputs
(+.f64 (log.f64 g) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (log.f64 g) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (log.f64 g) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (log.f64 g) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (log.f64 g) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (log.f64 g) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (log.f64 g) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (log.f64 g) (*.f64 -1 (log.f64 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (log.f64 g) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (log.f64 g) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (log.f64 g) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (log.f64 g) (log.f64 (/.f64 1 a)))
(+.f64 (log.f64 g) (neg.f64 (log.f64 a)))
(-.f64 (log.f64 g) (log.f64 a))
(+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (neg.f64 g)))
(+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (neg.f64 g)))
(+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (neg.f64 g)))
(+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 -1 a)))
(+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (neg.f64 g)))
(*.f64 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 g))) (log.f64 (/.f64 1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 -1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 -1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 -1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 g))) (log.f64 (/.f64 -1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (log.f64 g) (*.f64 -1 (log.f64 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (log.f64 g) (*.f64 -1 (log.f64 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (log.f64 g) (*.f64 -1 (log.f64 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (log.f64 g) (*.f64 -1 (log.f64 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (log.f64 g) (log.f64 (/.f64 1 a))))
(*.f64 (+.f64 (log.f64 g) (neg.f64 (log.f64 a))) 1/3)
(*.f64 (-.f64 (log.f64 g) (log.f64 a)) 1/3)
(*.f64 1/3 (+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 -1 a))))
(*.f64 (+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (neg.f64 g))) 1/3)
(*.f64 1/3 (+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 -1 a))))
(*.f64 (+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (neg.f64 g))) 1/3)
(*.f64 1/3 (+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 -1 a))))
(*.f64 (+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (neg.f64 g))) 1/3)
(*.f64 1/3 (+.f64 (log.f64 (*.f64 -1 g)) (log.f64 (/.f64 -1 a))))
(*.f64 (+.f64 (log.f64 (/.f64 -1 a)) (log.f64 (neg.f64 g))) 1/3)

localize55.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (/.f64 1 g)) -1))
0.6b
(cbrt.f64 (/.f64 1 g))
0.6b
(cbrt.f64 a)
1.0b
(cbrt.f64 2)
Compiler

Compiled 112 to 80 computations (28.6% saved)

series3.0ms (0%)

Counts
2 → 0
Calls

9 calls:

TimeVariablePointExpression
0.0ms
g
@-inf
(*.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (/.f64 1 g)) -1))
0.0ms
a
@0
(*.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (/.f64 1 g)) -1))
0.0ms
a
@-inf
(*.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (/.f64 1 g)) -1))
0.0ms
g
@0
(cbrt.f64 (/.f64 1 g))
0.0ms
g
@inf
(*.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (/.f64 1 g)) -1))

rewrite55.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
681×associate-*r*
574×associate-*l*
366×associate-/r*
312×associate-*r/
281×frac-times
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01123
14214
217112
393512
Stop Event
node limit
Counts
2 → 143
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 1 g))
(*.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (/.f64 1 g)) -1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 -1 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 g)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 -1 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (pow.f64 (/.f64 -1 (cbrt.f64 g)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 g -1/6) (pow.f64 g -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 g -1/6) (neg.f64 (neg.f64 (pow.f64 g -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (cbrt.f64 g)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 -1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 -1)) (cbrt.f64 (/.f64 -1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 g -1/6)) (neg.f64 (pow.f64 g -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 -1)) (/.f64 1 (neg.f64 (cbrt.f64 (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 g -1/12) (*.f64 (pow.f64 g -1/12) (pow.f64 g -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 g)) (cbrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 g)) (/.f64 1 (cbrt.f64 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 (neg.f64 g) -1/6) (pow.f64 g -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (neg.f64 (pow.f64 g -1/6))) (pow.f64 g -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 g -1/6) (pow.f64 g -1/12)) (pow.f64 g -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 g -1/6) (pow.f64 -1 1/6)) (pow.f64 (neg.f64 g) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (neg.f64 (pow.f64 g -1/6))) (pow.f64 g -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 g -1/6) 1) (pow.f64 (pow.f64 g -1/6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1/3) (/.f64 (neg.f64 (log.f64 g)) 2)) (pow.f64 (exp.f64 1/3) (/.f64 (neg.f64 (log.f64 g)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1/3) (log.f64 -1)) (pow.f64 (exp.f64 1/3) (log.f64 (/.f64 -1 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1/3) (*.f64 -1/2 (log.f64 g))) (pow.f64 (exp.f64 1/3) (*.f64 -1/2 (log.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 g 1/12) -1) (pow.f64 (pow.f64 g 1/4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 -1) 1) (pow.f64 (cbrt.f64 (/.f64 -1 g)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 g 1/4) -1) (pow.f64 (pow.f64 g 1/12) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1 (cbrt.f64 -1)) -1) (cbrt.f64 (/.f64 -1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 -1 -1/6) -2) (pow.f64 (pow.f64 (neg.f64 g) 1/6) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 -1 1/6) 2) (pow.f64 (pow.f64 (neg.f64 g) -1/6) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (/.f64 1 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 g -1/6) 1/2) (pow.f64 (pow.f64 g -1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 g -1/2) 1/2) (pow.f64 (pow.f64 g -1/6) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (cbrt.f64 g)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 g -1/6) (pow.f64 g 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (cbrt.f64 g)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 -1) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 -1) (/.f64 1 (cbrt.f64 (/.f64 -1 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 g -1/6)) (neg.f64 (pow.f64 g 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 -1)) (neg.f64 (cbrt.f64 (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 -1)) (*.f64 1 (neg.f64 (cbrt.f64 (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 g -1/12) (/.f64 (pow.f64 g 1/6) (pow.f64 g -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 -1 1/6) (/.f64 (pow.f64 g 1/6) (pow.f64 (neg.f64 g) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (neg.f64 (cbrt.f64 -1))) (neg.f64 (cbrt.f64 (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (neg.f64 (cbrt.f64 -1))) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cbrt.f64 -1)) 1) (neg.f64 (cbrt.f64 (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (pow.f64 g 1/12)) (pow.f64 g 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (pow.f64 g 1/4)) (pow.f64 g 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (/.f64 1 (cbrt.f64 -1))) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (pow.f64 g 1/6)) (neg.f64 (pow.f64 g 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 -1) (cbrt.f64 -1)) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 -1) 1) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 g -1/6) (pow.f64 -1 -1/6)) (pow.f64 (neg.f64 g) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 g -1/6) (pow.f64 g 1/12)) (pow.f64 g 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (cbrt.f64 -1))) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (cbrt.f64 -1))) (neg.f64 (neg.f64 (cbrt.f64 (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (log.f64 -1)) (exp.f64 (log.f64 (neg.f64 (cbrt.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (log.f64 (cbrt.f64 -1))) (exp.f64 (log.f64 (cbrt.f64 (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1/3) (log.f64 -1)) (pow.f64 (exp.f64 1/3) (log.f64 (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 g -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 g) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 g)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 g) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 g 1/6) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 g -1/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 g -1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 g 1/12) -4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 g) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 g g) -1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 g) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 g -2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (neg.f64 (log.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (*.f64 (neg.f64 (log.f64 g)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -1) (log.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -1/3) (log.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1/3) -1) (log.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -1 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cbrt.f64 -1) (neg.f64 (cbrt.f64 (neg.f64 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 g) -2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 g) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 g) -1/6) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 g)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 g) -2/3) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 g -2)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (exp.f64 1/3)) (neg.f64 (log.f64 g))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 (cbrt.f64 a))) (neg.f64 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (cbrt.f64 a)) (/.f64 1 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (cbrt.f64 (/.f64 a 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 (/.f64 g a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 g 1/6) (*.f64 (cbrt.f64 a) (pow.f64 g -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 g 1/6) (cbrt.f64 a)) (pow.f64 g -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 a -1/6) (/.f64 (pow.f64 a 1/6) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 g 1/12) (/.f64 1 (/.f64 (pow.f64 g 1/4) (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 g 1/12) (/.f64 (cbrt.f64 a) (pow.f64 g 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 g 1/12) (/.f64 (*.f64 (cbrt.f64 a) (pow.f64 g -1/6)) (pow.f64 g 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (cbrt.f64 a)) (/.f64 -1 (cbrt.f64 g)))))) (#(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 /.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 (*.f64 a -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 g 1/4) (cbrt.f64 a)) (/.f64 1 (pow.f64 g 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 g 1/6)) (*.f64 (cbrt.f64 a) (neg.f64 (pow.f64 g -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 g 1/6)) (/.f64 (neg.f64 (cbrt.f64 a)) (pow.f64 g 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 g 1/6)) (/.f64 1 (/.f64 (pow.f64 g 1/6) (neg.f64 (cbrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 g 1/4) (/.f64 (cbrt.f64 a) (pow.f64 g 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 g) (pow.f64 a -1/6)) (pow.f64 a 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (/.f64 a g) -1/6) (pow.f64 (/.f64 a g) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (cbrt.f64 (*.f64 a -1))) (cbrt.f64 (/.f64 -1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (cbrt.f64 -1)) (/.f64 (cbrt.f64 a) (cbrt.f64 (neg.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 a -1/12) (/.f64 (/.f64 (pow.f64 a 1/6) (cbrt.f64 g)) (pow.f64 a -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 g 1/6) (neg.f64 (cbrt.f64 a))) (neg.f64 (pow.f64 g -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (/.f64 g a))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 a)) (cbrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (neg.f64 g))) (neg.f64 (cbrt.f64 (*.f64 a -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 -1 -1/6) (/.f64 (*.f64 (cbrt.f64 a) (pow.f64 g -1/6)) (pow.f64 (neg.f64 g) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (pow.f64 a -1/6)) (*.f64 (/.f64 -1 (cbrt.f64 g)) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 a -1/6) -1) (*.f64 (pow.f64 a 1/6) (/.f64 -1 (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 a -1/6)) (neg.f64 (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (neg.f64 g)) (pow.f64 a -1/6)) (*.f64 (cbrt.f64 -1) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 a -1/6) (neg.f64 (cbrt.f64 g))) (neg.f64 (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 a -1/6) (cbrt.f64 (neg.f64 g))) (*.f64 (pow.f64 a 1/6) (cbrt.f64 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (cbrt.f64 g)) (pow.f64 a 1/6)) (neg.f64 (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 g 1/6) (cbrt.f64 a)) (pow.f64 g -1/12)) (pow.f64 g -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 g 1/6) (cbrt.f64 a)) (pow.f64 -1 1/6)) (pow.f64 (neg.f64 g) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (cbrt.f64 g) (pow.f64 a -1/6)) (pow.f64 a 1/12)) (pow.f64 a 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 a -1/6)) (neg.f64 (/.f64 (pow.f64 a 1/6) (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (cbrt.f64 g) (pow.f64 a -1/6))) (neg.f64 (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (pow.f64 g 1/6) (cbrt.f64 a))) (neg.f64 (pow.f64 g -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a g)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a g) -1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a g) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 g a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (pow.f64 (cbrt.f64 g) -2)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cbrt.f64 g) -2) (pow.f64 (cbrt.f64 a) 2)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 (/.f64 a g)) (cbrt.f64 (/.f64 a g))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.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 exp.f64 (log.f64 (cbrt.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (cbrt.f64 (/.f64 a g)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 a g)) -1/3))))))

simplify20.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

eval1.1s (7.4%)

Compiler

Compiled 36700 to 23489 computations (36% saved)

prune240.0ms (1.7%)

Pruning

49 alts after pruning (43 fresh and 6 done)

PrunedKeptTotal
New1114251139
Fresh171835
Picked101
Done268
Total1134491183
Error
0.3b
Counts
1183 → 49
Alt Table
Click to see full alt table
StatusErrorProgram
51.9b
(+.f64 (cbrt.f64 (*.f64 (+.f64 (/.f64 0 g) (*.f64 (/.f64 (+.f64 1/2 (/.f64 0 (*.f64 g g))) g) (*.f64 h h))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
3.4b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (/.f64 (cbrt.f64 (pow.f64 a -1)) (cbrt.f64 (/.f64 1 g))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
3.3b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (*.f64 (cbrt.f64 (/.f64 -1 a)) (cbrt.f64 (neg.f64 g))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
61.4b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (*.f64 (/.f64 1/2 g) (*.f64 h h)) (/.f64 -1/2 a))))
48.5b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (fma.f64 -1/2 (/.f64 h (/.f64 g h)) g)) (/.f64 -1/2 a))))
44.1b
(+.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (*.f64 g 2))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
37.0b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 (cbrt.f64 (*.f64 (neg.f64 g) a)) (cbrt.f64 (*.f64 a a))))
38.3b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 (cbrt.f64 (*.f64 g (neg.f64 g))) (cbrt.f64 (*.f64 g a))))
3.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (neg.f64 g))))
62.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
36.3b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 (cbrt.f64 (*.f64 g (neg.f64 g))) (*.f64 (cbrt.f64 a) (cbrt.f64 g))))
45.7b
(+.f64 (exp.f64 (*.f64 1/3 (log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (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))))
3.3b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (*.f64 g 2))))) (cbrt.f64 (*.f64 (*.f64 h (*.f64 h (/.f64 1/2 g))) (/.f64 -1/2 a))))
39.2b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
44.3b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 (cbrt.f64 (/.f64 (*.f64 g g) (neg.f64 a))) (cbrt.f64 g)))
45.7b
(+.f64 (pow.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) 1/3) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
35.5b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (pow.f64 (neg.f64 g) 1/3))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)) (/.f64 -1/2 a))))
3.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1 a)) (cbrt.f64 g)))
56.5b
(+.f64 (exp.f64 (*.f64 1/3 (log.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (/.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
43.3b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (exp.f64 (*.f64 1/3 (log.f64 (/.f64 (neg.f64 g) a)))))
48.0b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
35.5b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (pow.f64 (/.f64 1 g) -1/3) (cbrt.f64 (/.f64 -1 a))))
3.6b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (/.f64 1 (*.f64 (cbrt.f64 (/.f64 -1 g)) (cbrt.f64 (neg.f64 a)))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
32.8b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 (cbrt.f64 (neg.f64 a)) (cbrt.f64 (*.f64 a (/.f64 a g)))))
19.5b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
48.4b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (*.f64 (sqrt.f64 (-.f64 g h)) (sqrt.f64 (+.f64 g h)))) (/.f64 -1/2 a))))
3.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (/.f64 -1 g))))
49.9b
(+.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 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
3.1b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (*.f64 (cbrt.f64 (*.f64 g -1/2)) (cbrt.f64 2)))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)) (/.f64 -1/2 a))))
19.6b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 g a)) -2) (/.f64 g a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
58.2b
(+.f64 (cbrt.f64 (*.f64 (fma.f64 (sqrt.f64 (-.f64 g h)) (neg.f64 (sqrt.f64 (+.f64 g h))) g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
19.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (/.f64 (neg.f64 g) a)))
35.5b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (pow.f64 (/.f64 -1 g) -1/3) (/.f64 1 (cbrt.f64 a))))
19.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
50.0b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (cbrt.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a))))
42.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/2)) (cbrt.f64 (pow.f64 (/.f64 (neg.f64 g) a) 1/2))))
3.4b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
54.6b
(+.f64 (exp.f64 (*.f64 1/3 (fma.f64 1/4 (*.f64 (/.f64 h g) (/.f64 h g)) (-.f64 (log.f64 (*.f64 (/.f64 -1/4 a) (*.f64 h h))) (log.f64 g))))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
3.0b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 a)))
47.4b
(+.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (-.f64 (fma.f64 g g (*.f64 h h)) (*.f64 g g)))) (cbrt.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
2.7b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (*.f64 g 2))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)) (/.f64 -1/2 a))))
57.1b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))) (pow.f64 (*.f64 (+.f64 g g) (/.f64 -1/2 a)) 1/3))
43.5b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (pow.f64 (/.f64 a (neg.f64 g)) -1/3))
18.8b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 1 (cbrt.f64 (/.f64 a (neg.f64 g)))))
19.3b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (*.f64 (/.f64 1 (cbrt.f64 (/.f64 a g))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 2))))
43.3b
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (pow.f64 (/.f64 (neg.f64 g) a) 1/3))
34.2b
(+.f64 (/.f64 1 (/.f64 (pow.f64 a 1/3) (cbrt.f64 (*.f64 -1/2 (*.f64 g 2))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)) (/.f64 -1/2 a))))
3.0b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (*.f64 g 2))))) (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) (/.f64 -1/2 a))))
1.3b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (*.f64 g 2))))) (/.f64 (cbrt.f64 (+.f64 (*.f64 (*.f64 h (/.f64 h g)) 1/4) 0)) (cbrt.f64 (neg.f64 a))))
Compiler

Compiled 1356 to 917 computations (32.4% saved)

regimes544.0ms (3.8%)

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

8 calls:

80.0ms
(/.f64 1 (*.f64 2 a))
75.0ms
(*.f64 2 a)
72.0ms
h
64.0ms
a
61.0ms
g
Results
ErrorSegmentsBranch
1.3b1g
1.3b1h
1.3b1a
1.3b1(+.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)))))))
1.3b1(/.f64 1 (*.f64 2 a))
1.3b1(*.f64 2 a)
1.3b1(*.f64 h h)
1.3b1(*.f64 h h)
Compiler

Compiled 3291 to 1421 computations (56.8% saved)

regimes136.0ms (1%)

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

5 calls:

28.0ms
g
26.0ms
a
24.0ms
h
15.0ms
(*.f64 h h)
14.0ms
(*.f64 h h)
Results
ErrorSegmentsBranch
2.7b1g
2.7b1h
2.7b1a
2.7b1(*.f64 h h)
2.7b1(*.f64 h h)
Compiler

Compiled 1064 to 563 computations (47.1% saved)

regimes82.0ms (0.6%)

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

4 calls:

23.0ms
g
18.0ms
a
14.0ms
h
9.0ms
(*.f64 h h)
Results
ErrorSegmentsBranch
3.0b1g
3.0b1h
3.0b1a
3.0b1(*.f64 h h)
Compiler

Compiled 593 to 332 computations (44% saved)

regimes25.0ms (0.2%)

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

4 calls:

7.0ms
h
6.0ms
a
5.0ms
g
3.0ms
(*.f64 h h)
Results
ErrorSegmentsBranch
18.8b1g
18.8b1h
18.8b1a
18.8b1(*.f64 h h)
Compiler

Compiled 137 to 81 computations (40.9% saved)

regimes14.0ms (0.1%)

Accuracy

Total -24.5b remaining (-128.4%)

Threshold costs -24.5b (-128.4%)

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

3 calls:

5.0ms
a
4.0ms
g
4.0ms
h
Results
ErrorSegmentsBranch
19.1b1g
19.1b1h
19.1b1a
Compiler

Compiled 59 to 36 computations (39% saved)

simplify11.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
048152
172152
280152
384152
485152
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (*.f64 g 2))))) (/.f64 (cbrt.f64 (+.f64 (*.f64 (*.f64 h (/.f64 h g)) 1/4) 0)) (cbrt.f64 (neg.f64 a))))
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (*.f64 g 2))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 a)))
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 1 (cbrt.f64 (/.f64 a (neg.f64 g)))))
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (/.f64 (neg.f64 g) a)))
Outputs
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (*.f64 g 2))))) (/.f64 (cbrt.f64 (+.f64 (*.f64 (*.f64 h (/.f64 h g)) 1/4) 0)) (cbrt.f64 (neg.f64 a))))
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (*.f64 g 2))))) (/.f64 (cbrt.f64 (*.f64 (*.f64 h (/.f64 h g)) 1/4)) (cbrt.f64 (neg.f64 a))))
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 -1/2 (*.f64 g 2))))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 h (/.f64 g h))) g)) (/.f64 -1/2 a))))
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g g))) (/.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 a)))
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (/.f64 1 (cbrt.f64 (/.f64 a (neg.f64 g)))))
(+.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g g))) (/.f64 1 (cbrt.f64 (/.f64 a (neg.f64 g)))))
(+.f64 (cbrt.f64 (*.f64 (-.f64 g g) (/.f64 -1/2 a))) (cbrt.f64 (/.f64 (neg.f64 g) a)))
(+.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 a) (-.f64 g g))) (cbrt.f64 (/.f64 (neg.f64 g) a)))
Compiler

Compiled 112 to 83 computations (25.9% saved)

soundness476.0ms (3.3%)

Algorithm
egg-herbie
Rules
818×associate-/l*
692×associate-+l+
454×associate-/r/
453×times-frac
433×associate-*r/
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02052
15350
215950
347948
4128048
5271648
6425048
7591448
8675048
9734748
086612
1256596
2860581
33717576
46254576
02242659
17042302
230982285
377812285
Stop Event
node limit
node limit
node limit
Compiler

Compiled 850 to 509 computations (40.1% saved)

end62.0ms (0.4%)

Compiler

Compiled 100 to 65 computations (35% saved)

Profiling

Loading profile data...