Details

Time bar (total: 3.5s)

analyze261.0ms (7.3%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
12.5%12.5%87.4%0.1%0%0%0%7
18.8%18.7%81.1%0.1%0%0%0%8
25.6%25%72.5%0.1%2.3%0%0%9
38.6%37.4%59.7%0.1%2.7%0%0%10
46.4%44.5%51.3%0.1%4.1%0%0%11
53.7%50.3%43.4%0.1%6.1%0%0%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample1.0s (28.3%)

Results
934.0ms8255×body256valid
59.0ms614×body256infinite
0.0msbody1024valid
Bogosity

preprocess18.0ms (0.5%)

Algorithm
egg-herbie
Rules
22×fma-def_binary64
19×+-commutative_binary64
12×associate-+r+_binary64
12×associate-+l+_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02052
14044
28144
39744
033
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(+.f64 (+.f64 (/.f64 y 2) (*.f64 x y)) z)
(+.f64 (+.f64 (/.f64 z 2) (*.f64 y z)) x)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 z x)) y)
Outputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
(+.f64 (/.f64 x 2) (fma.f64 x y z))
(+.f64 (+.f64 (/.f64 y 2) (*.f64 x y)) z)
(+.f64 (/.f64 y 2) (+.f64 (*.f64 x y) z))
(+.f64 z (fma.f64 x y (/.f64 y 2)))
(+.f64 (+.f64 (/.f64 z 2) (*.f64 y z)) x)
(+.f64 x (+.f64 (/.f64 z 2) (*.f64 y z)))
(+.f64 x (fma.f64 y z (/.f64 z 2)))
(+.f64 (+.f64 (/.f64 x 2) (*.f64 z x)) y)
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x z) y))
(+.f64 (/.f64 x 2) (fma.f64 x z y))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
associate-+r+_binary64
associate-+l+_binary64
*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0913
11411
22511
32911
Stop Event
saturated
Counts
1 → 3
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
Outputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
(+.f64 (/.f64 x 2) (fma.f64 x y z))

eval1.0ms (0%)

Compiler

Compiled 29 to 17 computations (41.4% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New213
Fresh101
Picked000
Done000
Total314
Error
0.0b
Counts
4 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
Compiler

Compiled 12 to 8 computations (33.3% saved)

localize9.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x y) z)
0.0b
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
Compiler

Compiled 27 to 11 computations (59.3% saved)

series9.0ms (0.2%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
3.0ms
x
@inf
(+.f64 (*.f64 x y) z)
1.0ms
x
@inf
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
1.0ms
y
@0
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
0.0ms
x
@0
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
0.0ms
y
@inf
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))

rewrite63.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
536×fma-def_binary64
498×log-prod_binary64
413×pow-prod-down_binary64
286×fma-neg_binary64
281×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0916
121014
2313213
Stop Event
node limit
Counts
2 → 163
Calls
Call 1
Inputs
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
(+.f64 (*.f64 x y) z)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x 1/2) 2) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) (/.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (+.f64 1/2 y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (+.f64 1/2 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2) (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (/.f64 1 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (/.f64 1 (-.f64 (*.f64 x 1/2) (fma.f64 x y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)) (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (+.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (pow.f64 (*.f64 x 1/2) 2) (*.f64 (*.f64 x 1/2) (fma.f64 x y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))) (neg.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2))) (neg.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 x (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 2 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 (/.f64 2 x) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (neg.f64 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 -2 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 -2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 x (-.f64 (*.f64 x y) z) (*.f64 2 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)))) (*.f64 2 (-.f64 (*.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (*.f64 x y) z) (*.f64 (/.f64 2 x) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)))) (*.f64 (/.f64 2 x) (-.f64 (*.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (neg.f64 x) (-.f64 (*.f64 x y) z) (*.f64 -2 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)))) (*.f64 -2 (-.f64 (*.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) 2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) x)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) 2 (*.f64 (-.f64 (*.f64 x y) z) x)) (*.f64 (-.f64 (*.f64 x y) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 2 x) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 1)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) (/.f64 2 x) (*.f64 (-.f64 (*.f64 x y) z) 1)) (*.f64 (-.f64 (*.f64 x y) z) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) -2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (neg.f64 x))) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) -2 (*.f64 (-.f64 (*.f64 x y) z) (neg.f64 x))) (*.f64 (-.f64 (*.f64 x y) z) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) (pow.f64 z 3)) (+.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2) (-.f64 (*.f64 z z) (*.f64 (*.f64 x (+.f64 1/2 y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y z) 2) (pow.f64 (*.f64 x 1/2) 2)) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2) (*.f64 z z)) (-.f64 (*.f64 x (+.f64 1/2 y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (+.f64 1/2 y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)) (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (+.f64 1/2 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (exp.f64 (fma.f64 x y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (sqrt.f64 (exp.f64 x)) (+.f64 1 (expm1.f64 (fma.f64 x y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (+.f64 1 (expm1.f64 (fma.f64 x y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 z) (exp.f64 (*.f64 x (+.f64 1/2 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (exp.f64 (*.f64 x (+.f64 1/2 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 x) (+.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y z))) (sqrt.f64 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x y z)) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y z))) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x (+.f64 1/2 y))) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (+.f64 1/2 y) z))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (+.f64 z (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1/2 (fma.f64 x y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (+.f64 1/2 y) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 1/2) 1 (fma.f64 x y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (+.f64 z (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x y) 1 (+.f64 z (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z 1 (*.f64 x (+.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x y z) 1 (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x 1/2) (fma.f64 x y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x y) (+.f64 z (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 z (*.f64 x (+.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x y z) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (+.f64 1/2 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x y z)) (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (cbrt.f64 (fma.f64 x y z)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (+.f64 z (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (+.f64 z (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (fma.f64 x y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (+.f64 z (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 x (+.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 x (+.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x 1/2)) (cbrt.f64 (pow.f64 (*.f64 x 1/2) 2)) (fma.f64 x y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x 1/2) 2)) (cbrt.f64 (*.f64 x 1/2)) (fma.f64 x y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x y z)) (sqrt.f64 (fma.f64 x y z)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (+.f64 z (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (+.f64 z (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (fma.f64 x y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (+.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (fma.f64 x y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 x) -1/2 (fma.f64 x y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 x (fma.f64 x y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 x y) z)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (+.f64 1/2 y)) 1 z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 2) (cbrt.f64 (*.f64 x (+.f64 1/2 y))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) (sqrt.f64 (*.f64 x (+.f64 1/2 y))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (+.f64 z (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (+.f64 z (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 z (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (+.f64 z (*.f64 x 1/2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 x y) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y z)) (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (cbrt.f64 (fma.f64 x y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y z)) (sqrt.f64 (fma.f64 x y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 x y) z) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) (-.f64 (*.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 x y) 2)) (-.f64 z (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x y z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 x y) z) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x y z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x y z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x y z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x y z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 x y z) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x y) 1 z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z 1 (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x y) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 z (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) z)))))

simplify95.0ms (2.7%)

Algorithm
egg-herbie
Rules
654×times-frac_binary64
414×unswap-sqr_binary64
377×associate-/l*_binary64
319×cancel-sign-sub-inv_binary64
251×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03782895
19572851
230062825
Stop Event
node limit
Counts
235 → 216
Calls
Call 1
Inputs
z
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(*.f64 (+.f64 1/2 y) x)
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(+.f64 (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) z)
(+.f64 (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) z)
(+.f64 (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) z)
(+.f64 (*.f64 1/2 x) z)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(*.f64 y x)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(*.f64 y x)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
z
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
z
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x 1/2) 2) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) (/.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))))
(*.f64 (fma.f64 x (+.f64 1/2 y) z) 1)
(*.f64 1 (fma.f64 x (+.f64 1/2 y) z))
(*.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2) (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)))
(*.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (/.f64 1 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (/.f64 1 (-.f64 (*.f64 x 1/2) (fma.f64 x y z))))
(/.f64 1 (/.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)) (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (+.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (pow.f64 (*.f64 x 1/2) 2) (*.f64 (*.f64 x 1/2) (fma.f64 x y z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))) (neg.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2))) (neg.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z))))
(/.f64 (fma.f64 x (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 2 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (+.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 (/.f64 2 x) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 (neg.f64 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 -2 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 -2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 x (-.f64 (*.f64 x y) z) (*.f64 2 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)))) (*.f64 2 (-.f64 (*.f64 x y) z)))
(/.f64 (+.f64 (-.f64 (*.f64 x y) z) (*.f64 (/.f64 2 x) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)))) (*.f64 (/.f64 2 x) (-.f64 (*.f64 x y) z)))
(/.f64 (fma.f64 (neg.f64 x) (-.f64 (*.f64 x y) z) (*.f64 -2 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)))) (*.f64 -2 (-.f64 (*.f64 x y) z)))
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) 2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) x)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 2))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) 2 (*.f64 (-.f64 (*.f64 x y) z) x)) (*.f64 (-.f64 (*.f64 x y) z) 2))
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 2 x) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 1)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (/.f64 2 x)))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) (/.f64 2 x) (*.f64 (-.f64 (*.f64 x y) z) 1)) (*.f64 (-.f64 (*.f64 x y) z) (/.f64 2 x)))
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) -2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (neg.f64 x))) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) -2 (*.f64 (-.f64 (*.f64 x y) z) (neg.f64 x))) (*.f64 (-.f64 (*.f64 x y) z) -2))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) (pow.f64 z 3)) (+.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2) (-.f64 (*.f64 z z) (*.f64 (*.f64 x (+.f64 1/2 y)) z))))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y z) 2) (pow.f64 (*.f64 x 1/2) 2)) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2) (*.f64 z z)) (-.f64 (*.f64 x (+.f64 1/2 y)) z))
(pow.f64 (fma.f64 x (+.f64 1/2 y) z) 1)
(pow.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 3)
(pow.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2)
(pow.f64 (/.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))) -1)
(pow.f64 (/.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)) (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2))) -1)
(sqrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 2))
(log.f64 (exp.f64 (fma.f64 x (+.f64 1/2 y) z)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (exp.f64 (fma.f64 x y z))))
(log.f64 (*.f64 (sqrt.f64 (exp.f64 x)) (+.f64 1 (expm1.f64 (fma.f64 x y z)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (+.f64 1 (expm1.f64 (fma.f64 x y z)))))
(log.f64 (*.f64 (exp.f64 z) (exp.f64 (*.f64 x (+.f64 1/2 y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (exp.f64 (*.f64 x (+.f64 1/2 y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 x) (+.f64 1/2 y))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y z))) (sqrt.f64 (exp.f64 x))))
(log.f64 (*.f64 (exp.f64 (fma.f64 x y z)) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y z))) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(log.f64 (*.f64 (exp.f64 (*.f64 x (+.f64 1/2 y))) (+.f64 1 (expm1.f64 z))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)) (+.f64 1 (expm1.f64 z))))
(cbrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z)))
(log1p.f64 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z)))
(exp.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z)))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z)) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (+.f64 1/2 y) z))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z))) 2))
(fma.f64 x y (+.f64 z (*.f64 x 1/2)))
(fma.f64 x 1/2 (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (*.f64 x 1/2) 1 (fma.f64 x y z))
(fma.f64 y x (+.f64 z (*.f64 x 1/2)))
(fma.f64 (*.f64 x y) 1 (+.f64 z (*.f64 x 1/2)))
(fma.f64 z 1 (*.f64 x (+.f64 1/2 y)))
(fma.f64 (fma.f64 x y z) 1 (*.f64 x 1/2))
(fma.f64 1 (*.f64 x 1/2) (fma.f64 x y z))
(fma.f64 1 (*.f64 x y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 1 z (*.f64 x (+.f64 1/2 y)))
(fma.f64 1 (fma.f64 x y z) (*.f64 x 1/2))
(fma.f64 1 (*.f64 x (+.f64 1/2 y)) z)
(fma.f64 (cbrt.f64 (fma.f64 x y z)) (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (cbrt.f64 (fma.f64 x y z)) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (fma.f64 x y z))
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 x (+.f64 1/2 y)))
(fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 x (+.f64 1/2 y)))
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (cbrt.f64 (pow.f64 (*.f64 x 1/2) 2)) (fma.f64 x y z))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x 1/2) 2)) (cbrt.f64 (*.f64 x 1/2)) (fma.f64 x y z))
(fma.f64 (sqrt.f64 (fma.f64 x y z)) (sqrt.f64 (fma.f64 x y z)) (*.f64 x 1/2))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (fma.f64 x y z))
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (+.f64 1/2 y)))
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (fma.f64 x y z))
(fma.f64 (neg.f64 x) -1/2 (fma.f64 x y z))
(fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) (*.f64 x 1/2))
(fma.f64 1/2 x (fma.f64 x y z))
(fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 x y) z)) (*.f64 x 1/2))
(fma.f64 (*.f64 x (+.f64 1/2 y)) 1 z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 2) (cbrt.f64 (*.f64 x (+.f64 1/2 y))) z)
(fma.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) (sqrt.f64 (*.f64 x (+.f64 1/2 y))) z)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (+.f64 z (*.f64 x 1/2)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x y z))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 x y) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 x y) z)))
(*.f64 (fma.f64 x y z) 1)
(*.f64 1 (fma.f64 x y z))
(*.f64 (cbrt.f64 (fma.f64 x y z)) (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (cbrt.f64 (fma.f64 x y z)))
(*.f64 (sqrt.f64 (fma.f64 x y z)) (sqrt.f64 (fma.f64 x y z)))
(*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 x y) z)))
(/.f64 1 (/.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x y) z) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z))))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x y) z))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) (-.f64 (*.f64 x y) z))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 x y) z)))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 x y) 2)) (-.f64 z (*.f64 x y)))
(pow.f64 (fma.f64 x y z) 1)
(pow.f64 (pow.f64 (fma.f64 x y z) 2) 1/2)
(pow.f64 (cbrt.f64 (fma.f64 x y z)) 3)
(pow.f64 (sqrt.f64 (fma.f64 x y z)) 2)
(pow.f64 (pow.f64 (fma.f64 x y z) 3) 1/3)
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3))) -1)
(pow.f64 (/.f64 (-.f64 (*.f64 x y) z) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z))) -1)
(sqrt.f64 (pow.f64 (fma.f64 x y z) 2))
(log.f64 (exp.f64 (fma.f64 x y z)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 z)))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (+.f64 1 (expm1.f64 z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 y) x)))
(log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(cbrt.f64 (pow.f64 (fma.f64 x y z) 3))
(expm1.f64 (log1p.f64 (fma.f64 x y z)))
(log1p.f64 (expm1.f64 (fma.f64 x y z)))
(exp.f64 (log.f64 (fma.f64 x y z)))
(exp.f64 (*.f64 (log.f64 (fma.f64 x y z)) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x y z))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x y z))) 2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 x y z) 3)) 1/3))
(fma.f64 x y z)
(fma.f64 y x z)
(fma.f64 (*.f64 x y) 1 z)
(fma.f64 z 1 (*.f64 x y))
(fma.f64 1 (*.f64 x y) z)
(fma.f64 1 z (*.f64 x y))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) z)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) z)
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) z)
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 x y))
(fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 x y))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) z)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) z)
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x y))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) z)
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) z)
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) z)
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) z)
Outputs
z
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(*.f64 (+.f64 1/2 y) x)
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(*.f64 (+.f64 1/2 y) x)
(+.f64 (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) z)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) z)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) z)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 1/2 x) z)
(fma.f64 1/2 x z)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(*.f64 y x)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(*.f64 y x)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 (+.f64 1/2 y) x)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
z
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
z
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y x) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
z
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
z
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
z
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
z
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z))) 1)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(-.f64 (/.f64 (pow.f64 (*.f64 x 1/2) 2) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) (/.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))))
(/.f64 (-.f64 (pow.f64 (*.f64 1/2 x) 2) (pow.f64 (fma.f64 y x z) 2)) (-.f64 (*.f64 1/2 x) (fma.f64 y x z)))
(/.f64 (-.f64 (*.f64 (*.f64 x x) 1/4) (pow.f64 (fma.f64 y x z) 2)) (-.f64 (*.f64 1/2 x) (fma.f64 y x z)))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x z) 2) (*.f64 (*.f64 x x) -1/4)) (fma.f64 x -1/2 (fma.f64 y x z)))
(*.f64 (fma.f64 x (+.f64 1/2 y) z) 1)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(*.f64 1 (fma.f64 x (+.f64 1/2 y) z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(*.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2) (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(*.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (/.f64 1 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (/.f64 1 (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) (*.f64 1/2 x)) (pow.f64 (*.f64 1/2 x) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) (*.f64 1/2 x)) (*.f64 (*.f64 x x) 1/4)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (fma.f64 (fma.f64 y x z) (fma.f64 x -1/2 (fma.f64 y x z)) (*.f64 (*.f64 x x) 1/4)))
(*.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (/.f64 1 (-.f64 (*.f64 x 1/2) (fma.f64 x y z))))
(/.f64 (-.f64 (pow.f64 (*.f64 1/2 x) 2) (pow.f64 (fma.f64 y x z) 2)) (-.f64 (*.f64 1/2 x) (fma.f64 y x z)))
(/.f64 (-.f64 (*.f64 (*.f64 x x) 1/4) (pow.f64 (fma.f64 y x z) 2)) (-.f64 (*.f64 1/2 x) (fma.f64 y x z)))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x z) 2) (*.f64 (*.f64 x x) -1/4)) (fma.f64 x -1/2 (fma.f64 y x z)))
(/.f64 1 (/.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (/.f64 1 (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) (*.f64 1/2 x)) (pow.f64 (*.f64 1/2 x) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) (*.f64 1/2 x)) (*.f64 (*.f64 x x) 1/4)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (fma.f64 (fma.f64 y x z) (fma.f64 x -1/2 (fma.f64 y x z)) (*.f64 (*.f64 x x) 1/4)))
(/.f64 1 (/.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)) (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 1/2 x) 2) (pow.f64 (fma.f64 y x z) 2)) (-.f64 (*.f64 1/2 x) (fma.f64 y x z)))
(/.f64 (-.f64 (*.f64 (*.f64 x x) 1/4) (pow.f64 (fma.f64 y x z) 2)) (-.f64 (*.f64 1/2 x) (fma.f64 y x z)))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x z) 2) (*.f64 (*.f64 x x) -1/4)) (fma.f64 x -1/2 (fma.f64 y x z)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2)))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (/.f64 1 (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) (*.f64 1/2 x)) (pow.f64 (*.f64 1/2 x) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) (*.f64 1/2 x)) (*.f64 (*.f64 x x) 1/4)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (fma.f64 (fma.f64 y x z) (fma.f64 x -1/2 (fma.f64 y x z)) (*.f64 (*.f64 x x) 1/4)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (+.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (pow.f64 (*.f64 x 1/2) 2) (*.f64 (*.f64 x 1/2) (fma.f64 x y z)))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (/.f64 1 (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) (*.f64 1/2 x)) (pow.f64 (*.f64 1/2 x) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) (*.f64 1/2 x)) (*.f64 (*.f64 x x) 1/4)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (fma.f64 (fma.f64 y x z) (fma.f64 x -1/2 (fma.f64 y x z)) (*.f64 (*.f64 x x) 1/4)))
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))
(/.f64 (-.f64 (pow.f64 (*.f64 1/2 x) 2) (pow.f64 (fma.f64 y x z) 2)) (-.f64 (*.f64 1/2 x) (fma.f64 y x z)))
(/.f64 (-.f64 (*.f64 (*.f64 x x) 1/4) (pow.f64 (fma.f64 y x z) 2)) (-.f64 (*.f64 1/2 x) (fma.f64 y x z)))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x z) 2) (*.f64 (*.f64 x x) -1/4)) (fma.f64 x -1/2 (fma.f64 y x z)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))) (neg.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (/.f64 1 (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) (*.f64 1/2 x)) (pow.f64 (*.f64 1/2 x) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) (*.f64 1/2 x)) (*.f64 (*.f64 x x) 1/4)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (fma.f64 (fma.f64 y x z) (fma.f64 x -1/2 (fma.f64 y x z)) (*.f64 (*.f64 x x) 1/4)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2))) (neg.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z))))
(/.f64 (-.f64 (pow.f64 (*.f64 1/2 x) 2) (pow.f64 (fma.f64 y x z) 2)) (-.f64 (*.f64 1/2 x) (fma.f64 y x z)))
(/.f64 (-.f64 (*.f64 (*.f64 x x) 1/4) (pow.f64 (fma.f64 y x z) 2)) (-.f64 (*.f64 1/2 x) (fma.f64 y x z)))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x z) 2) (*.f64 (*.f64 x x) -1/4)) (fma.f64 x -1/2 (fma.f64 y x z)))
(/.f64 (fma.f64 x (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 2 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 x (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (*.f64 2 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)))) (*.f64 2 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (fma.f64 x (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2)) (*.f64 2 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)))) (*.f64 2 (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 (/.f64 2 x) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) (*.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (/.f64 2 x)))
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (/.f64 2 x) (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2))) (*.f64 (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2)) (/.f64 2 x)))
(/.f64 (fma.f64 (neg.f64 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 -2 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 -2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 (neg.f64 x) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) -2)) (*.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) -2))
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) -2 (*.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (neg.f64 x))) (*.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) -2))
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) -2 (*.f64 (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2)) (neg.f64 x))) (*.f64 (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2)) -2))
(/.f64 (fma.f64 x (-.f64 (*.f64 x y) z) (*.f64 2 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)))) (*.f64 2 (-.f64 (*.f64 x y) z)))
(/.f64 (fma.f64 x (-.f64 (*.f64 y x) z) (*.f64 2 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)))) (*.f64 2 (-.f64 (*.f64 y x) z)))
(/.f64 (+.f64 (-.f64 (*.f64 x y) z) (*.f64 (/.f64 2 x) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)))) (*.f64 (/.f64 2 x) (-.f64 (*.f64 x y) z)))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (/.f64 2 x) (-.f64 (*.f64 y x) z)) (*.f64 (/.f64 2 x) (-.f64 (*.f64 y x) z)))
(*.f64 (/.f64 (fma.f64 (/.f64 2 x) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (-.f64 (*.f64 y x) z)) (*.f64 2 (-.f64 (*.f64 y x) z))) x)
(*.f64 (/.f64 (fma.f64 (/.f64 2 x) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (-.f64 (*.f64 y x) z)) 2) (/.f64 x (-.f64 (*.f64 y x) z)))
(/.f64 (fma.f64 (neg.f64 x) (-.f64 (*.f64 x y) z) (*.f64 -2 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)))) (*.f64 -2 (-.f64 (*.f64 x y) z)))
(/.f64 (fma.f64 (neg.f64 x) (-.f64 (*.f64 y x) z) (*.f64 -2 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)))) (*.f64 -2 (-.f64 (*.f64 y x) z)))
(/.f64 (fma.f64 -2 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (*.f64 x (-.f64 z (*.f64 y x)))) (*.f64 -2 (-.f64 (*.f64 y x) z)))
(/.f64 (fma.f64 -2 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (*.f64 x (fma.f64 y (neg.f64 x) z))) (*.f64 -2 (-.f64 (*.f64 y x) z)))
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) 2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) x)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 2))
(/.f64 (fma.f64 x (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (*.f64 2 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)))) (*.f64 2 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (fma.f64 x (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2)) (*.f64 2 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)))) (*.f64 2 (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2))))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) 2 (*.f64 (-.f64 (*.f64 x y) z) x)) (*.f64 (-.f64 (*.f64 x y) z) 2))
(/.f64 (fma.f64 x (-.f64 (*.f64 y x) z) (*.f64 2 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)))) (*.f64 2 (-.f64 (*.f64 y x) z)))
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 2 x) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 1)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (/.f64 2 x)))
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) (*.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (/.f64 2 x)))
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (/.f64 2 x) (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2))) (*.f64 (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2)) (/.f64 2 x)))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) (/.f64 2 x) (*.f64 (-.f64 (*.f64 x y) z) 1)) (*.f64 (-.f64 (*.f64 x y) z) (/.f64 2 x)))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (/.f64 2 x) (-.f64 (*.f64 y x) z)) (*.f64 (/.f64 2 x) (-.f64 (*.f64 y x) z)))
(*.f64 (/.f64 (fma.f64 (/.f64 2 x) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (-.f64 (*.f64 y x) z)) (*.f64 2 (-.f64 (*.f64 y x) z))) x)
(*.f64 (/.f64 (fma.f64 (/.f64 2 x) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (-.f64 (*.f64 y x) z)) 2) (/.f64 x (-.f64 (*.f64 y x) z)))
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) -2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (neg.f64 x))) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2))
(/.f64 (fma.f64 (neg.f64 x) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) -2)) (*.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) -2))
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) -2 (*.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (neg.f64 x))) (*.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) -2))
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) -2 (*.f64 (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2)) (neg.f64 x))) (*.f64 (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2)) -2))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) -2 (*.f64 (-.f64 (*.f64 x y) z) (neg.f64 x))) (*.f64 (-.f64 (*.f64 x y) z) -2))
(/.f64 (fma.f64 (neg.f64 x) (-.f64 (*.f64 y x) z) (*.f64 -2 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)))) (*.f64 -2 (-.f64 (*.f64 y x) z)))
(/.f64 (fma.f64 -2 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (*.f64 x (-.f64 z (*.f64 y x)))) (*.f64 -2 (-.f64 (*.f64 y x) z)))
(/.f64 (fma.f64 -2 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (*.f64 x (fma.f64 y (neg.f64 x) z))) (*.f64 -2 (-.f64 (*.f64 y x) z)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) (pow.f64 z 3)) (+.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2) (-.f64 (*.f64 z z) (*.f64 (*.f64 x (+.f64 1/2 y)) z))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 1/2 y) x) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 1/2 y) x) 2) (*.f64 z (-.f64 z (*.f64 (+.f64 1/2 y) x)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 1/2 y) x) 3)) (fma.f64 z (-.f64 z (*.f64 (+.f64 1/2 y) x)) (pow.f64 (*.f64 (+.f64 1/2 y) x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 1/2 y) x) 3)) (fma.f64 z (+.f64 z (*.f64 x (-.f64 -1/2 y))) (pow.f64 (*.f64 (+.f64 1/2 y) x) 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y z) 2) (pow.f64 (*.f64 x 1/2) 2)) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)))
(/.f64 (-.f64 (pow.f64 (*.f64 1/2 x) 2) (pow.f64 (fma.f64 y x z) 2)) (-.f64 (*.f64 1/2 x) (fma.f64 y x z)))
(/.f64 (-.f64 (*.f64 (*.f64 x x) 1/4) (pow.f64 (fma.f64 y x z) 2)) (-.f64 (*.f64 1/2 x) (fma.f64 y x z)))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x z) 2) (*.f64 (*.f64 x x) -1/4)) (fma.f64 x -1/2 (fma.f64 y x z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2) (*.f64 z z)) (-.f64 (*.f64 x (+.f64 1/2 y)) z))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 1/2 y) x) 2) (*.f64 z z)) (fma.f64 x (+.f64 1/2 y) (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 1/2 y) x) 2) (*.f64 z z)) (fma.f64 (+.f64 1/2 y) x (neg.f64 z)))
(pow.f64 (fma.f64 x (+.f64 1/2 y) z) 1)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(pow.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 2) 1/2)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(pow.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3) 1/3)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 3)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(pow.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(pow.f64 (/.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))) -1)
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (/.f64 1 (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) (*.f64 1/2 x)) (pow.f64 (*.f64 1/2 x) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) (*.f64 1/2 x)) (*.f64 (*.f64 x x) 1/4)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 y x z) 3)) (fma.f64 (fma.f64 y x z) (fma.f64 x -1/2 (fma.f64 y x z)) (*.f64 (*.f64 x x) 1/4)))
(pow.f64 (/.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)) (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2))) -1)
(/.f64 (-.f64 (pow.f64 (*.f64 1/2 x) 2) (pow.f64 (fma.f64 y x z) 2)) (-.f64 (*.f64 1/2 x) (fma.f64 y x z)))
(/.f64 (-.f64 (*.f64 (*.f64 x x) 1/4) (pow.f64 (fma.f64 y x z) 2)) (-.f64 (*.f64 1/2 x) (fma.f64 y x z)))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x z) 2) (*.f64 (*.f64 x x) -1/4)) (fma.f64 x -1/2 (fma.f64 y x z)))
(sqrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 2))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(log.f64 (exp.f64 (fma.f64 x (+.f64 1/2 y) z)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z))))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (exp.f64 (fma.f64 x y z))))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(log.f64 (*.f64 (sqrt.f64 (exp.f64 x)) (+.f64 1 (expm1.f64 (fma.f64 x y z)))))
(+.f64 (fma.f64 y x z) (log.f64 (sqrt.f64 (exp.f64 x))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (+.f64 1 (expm1.f64 (fma.f64 x y z)))))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(log.f64 (*.f64 (exp.f64 z) (exp.f64 (*.f64 x (+.f64 1/2 y)))))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (exp.f64 (*.f64 x (+.f64 1/2 y)))))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 x) (+.f64 1/2 y))))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y z))) (sqrt.f64 (exp.f64 x))))
(+.f64 (fma.f64 y x z) (log.f64 (sqrt.f64 (exp.f64 x))))
(log.f64 (*.f64 (exp.f64 (fma.f64 x y z)) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y z))) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(log.f64 (*.f64 (exp.f64 (*.f64 x (+.f64 1/2 y))) (+.f64 1 (expm1.f64 z))))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)) (+.f64 1 (expm1.f64 z))))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(cbrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(expm1.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(log1p.f64 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(exp.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(exp.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z)) 1))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (+.f64 1/2 y) z))) 1/3))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z))) 3))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z))) 2))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 x y (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 x 1/2 (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (*.f64 x 1/2) 1 (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 y x (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (*.f64 x y) 1 (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 z 1 (*.f64 x (+.f64 1/2 y)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (fma.f64 x y z) 1 (*.f64 x 1/2))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 1 (*.f64 x 1/2) (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 1 (*.f64 x y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 1 z (*.f64 x (+.f64 1/2 y)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 1 (fma.f64 x y z) (*.f64 x 1/2))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 1 (*.f64 x (+.f64 1/2 y)) z)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (cbrt.f64 (fma.f64 x y z)) (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (*.f64 x 1/2))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (cbrt.f64 (fma.f64 x y z)) (*.f64 x 1/2))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 x (+.f64 1/2 y)))
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 (+.f64 1/2 y) x))
(fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 x (+.f64 1/2 y)))
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 (+.f64 1/2 y) x))
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (cbrt.f64 (pow.f64 (*.f64 x 1/2) 2)) (fma.f64 x y z))
(fma.f64 (cbrt.f64 (*.f64 1/2 x)) (cbrt.f64 (pow.f64 (*.f64 1/2 x) 2)) (fma.f64 y x z))
(fma.f64 (cbrt.f64 (*.f64 1/2 x)) (cbrt.f64 (*.f64 (*.f64 x x) 1/4)) (fma.f64 y x z))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x 1/2) 2)) (cbrt.f64 (*.f64 x 1/2)) (fma.f64 x y z))
(fma.f64 (cbrt.f64 (*.f64 1/2 x)) (cbrt.f64 (pow.f64 (*.f64 1/2 x) 2)) (fma.f64 y x z))
(fma.f64 (cbrt.f64 (*.f64 1/2 x)) (cbrt.f64 (*.f64 (*.f64 x x) 1/4)) (fma.f64 y x z))
(fma.f64 (sqrt.f64 (fma.f64 x y z)) (sqrt.f64 (fma.f64 x y z)) (*.f64 x 1/2))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (+.f64 1/2 y)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (neg.f64 x) -1/2 (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) (*.f64 x 1/2))
(fma.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) (*.f64 1/2 x))
(+.f64 (*.f64 1/2 x) (/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))
(+.f64 (*.f64 1/2 x) (/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2))))
(fma.f64 1/2 x (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 x y) z)) (*.f64 x 1/2))
(fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 y x) z)) (*.f64 1/2 x))
(+.f64 (*.f64 1/2 x) (/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (-.f64 (*.f64 y x) z)))
(fma.f64 (*.f64 x (+.f64 1/2 y)) 1 z)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 2) (cbrt.f64 (*.f64 x (+.f64 1/2 y))) z)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) (sqrt.f64 (*.f64 x (+.f64 1/2 y))) z)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 1/2 y) x z)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x y z))) 1)
(fma.f64 y x z)
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 x y) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 x y) z)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (-.f64 (*.f64 y x) z))
(*.f64 (fma.f64 x y z) 1)
(fma.f64 y x z)
(*.f64 1 (fma.f64 x y z))
(fma.f64 y x z)
(*.f64 (cbrt.f64 (fma.f64 x y z)) (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2))
(fma.f64 y x z)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (cbrt.f64 (fma.f64 x y z)))
(fma.f64 y x z)
(*.f64 (sqrt.f64 (fma.f64 x y z)) (sqrt.f64 (fma.f64 x y z)))
(fma.f64 y x z)
(*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2)))
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 x y) z)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (-.f64 (*.f64 y x) z))
(/.f64 1 (/.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3))))
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2)))
(/.f64 1 (/.f64 (-.f64 (*.f64 x y) z) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (-.f64 (*.f64 y x) z))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x y) z))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z)) (-.f64 (*.f64 x y) z))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (-.f64 (*.f64 y x) z))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 x y) z)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (-.f64 (*.f64 y x) z))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 x y) 2)) (-.f64 z (*.f64 x y)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (-.f64 (*.f64 y x) z))
(pow.f64 (fma.f64 x y z) 1)
(fma.f64 y x z)
(pow.f64 (pow.f64 (fma.f64 x y z) 2) 1/2)
(fma.f64 y x z)
(pow.f64 (cbrt.f64 (fma.f64 x y z)) 3)
(fma.f64 y x z)
(pow.f64 (sqrt.f64 (fma.f64 x y z)) 2)
(fma.f64 y x z)
(pow.f64 (pow.f64 (fma.f64 x y z) 3) 1/3)
(fma.f64 y x z)
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3))) -1)
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z (fma.f64 y (neg.f64 x) z) (pow.f64 (*.f64 y x) 2)))
(pow.f64 (/.f64 (-.f64 (*.f64 x y) z) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 z z))) -1)
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (-.f64 (*.f64 y x) z))
(sqrt.f64 (pow.f64 (fma.f64 x y z) 2))
(fma.f64 y x z)
(log.f64 (exp.f64 (fma.f64 x y z)))
(fma.f64 y x z)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y z))))
(fma.f64 y x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 z)))
(fma.f64 y x z)
(log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (+.f64 1 (expm1.f64 z))))
(fma.f64 y x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 z))))
(fma.f64 y x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 y) x)))
(fma.f64 y x z)
(log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(fma.f64 y x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(fma.f64 y x z)
(cbrt.f64 (pow.f64 (fma.f64 x y z) 3))
(fma.f64 y x z)
(expm1.f64 (log1p.f64 (fma.f64 x y z)))
(fma.f64 y x z)
(log1p.f64 (expm1.f64 (fma.f64 x y z)))
(fma.f64 y x z)
(exp.f64 (log.f64 (fma.f64 x y z)))
(fma.f64 y x z)
(exp.f64 (*.f64 (log.f64 (fma.f64 x y z)) 1))
(fma.f64 y x z)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x y z))) 3))
(fma.f64 y x z)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x y z))) 2))
(fma.f64 y x z)
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 x y z) 3)) 1/3))
(fma.f64 y x z)
(fma.f64 x y z)
(fma.f64 y x z)
(fma.f64 y x z)
(fma.f64 (*.f64 x y) 1 z)
(fma.f64 y x z)
(fma.f64 z 1 (*.f64 x y))
(fma.f64 y x z)
(fma.f64 1 (*.f64 x y) z)
(fma.f64 y x z)
(fma.f64 1 z (*.f64 x y))
(fma.f64 y x z)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) z)
(fma.f64 y x z)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) z)
(fma.f64 y x z)
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) z)
(fma.f64 y x z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) z)
(fma.f64 y x z)
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 x y))
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 y x))
(fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 x y))
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 y x))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) z)
(fma.f64 y x z)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) z)
(fma.f64 y x z)
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) z)
(fma.f64 y x z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x y))
(fma.f64 y x z)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) z)
(fma.f64 y x z)
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) z)
(fma.f64 y x z)
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) z)
(fma.f64 y x z)
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) z)
(fma.f64 y x z)

eval69.0ms (2%)

Compiler

Compiled 3765 to 1806 computations (52% saved)

prune61.0ms (1.7%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2097216
Fresh000
Picked101
Done000
Total2107217
Error
0b
Counts
217 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(fma.f64 y x (+.f64 z (*.f64 x 1/2)))
29.6b
(+.f64 (*.f64 1/2 x) (*.f64 y x))
14.7b
(+.f64 (*.f64 1/2 x) z)
0.0b
(+.f64 z (*.f64 (+.f64 1/2 y) x))
29.5b
(*.f64 (+.f64 1/2 y) x)
48.1b
(*.f64 y x)
33.1b
z
Compiler

Compiled 110 to 77 computations (30% saved)

localize9.0ms (0.3%)

Compiler

Compiled 23 to 13 computations (43.5% saved)

localize3.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 1/2 y) x)
Compiler

Compiled 14 to 9 computations (35.7% saved)

series3.0ms (0.1%)

Counts
1 → 12
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(*.f64 (+.f64 1/2 y) x)
0.0ms
x
@0
(*.f64 (+.f64 1/2 y) x)
0.0ms
x
@inf
(*.f64 (+.f64 1/2 y) x)
0.0ms
y
@inf
(*.f64 (+.f64 1/2 y) x)
0.0ms
y
@0
(*.f64 (+.f64 1/2 y) x)

rewrite40.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
679×pow1_binary64
633×add-log-exp_binary64
633×log1p-expm1-u_binary64
633×expm1-log1p-u_binary64
622×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11307
216527
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 (+.f64 1/2 y) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 x) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/2) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (+.f64 1/2 y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1/8 (pow.f64 y 3)) x) (+.f64 1/4 (*.f64 y (-.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 1/8 (pow.f64 y 3))) (+.f64 1/4 (*.f64 y (-.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 1/4 (*.f64 y y))) (-.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 1/2 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 1/2 y) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 1/2 y) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 1/2 y) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 1/2 y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 1/2 y) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 1/2 y) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (+.f64 1/2 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 1/2 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 1/2 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 1/2 y) x)))))))

simplify42.0ms (1.2%)

Algorithm
egg-herbie
Rules
609×log-prod_binary64
480×fma-def_binary64
437×*-commutative_binary64
339×associate-*l*_binary64
298×associate-*r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
063270
1154266
2465266
32769266
45585266
Stop Event
node limit
Counts
33 → 30
Calls
Call 1
Inputs
(*.f64 1/2 x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/2 x))
(+.f64 (*.f64 x 1/2) (*.f64 x y))
(+.f64 (*.f64 x y) (*.f64 x 1/2))
(-.f64 (+.f64 1 (*.f64 (+.f64 1/2 y) x)) 1)
(/.f64 (*.f64 (+.f64 1/8 (pow.f64 y 3)) x) (+.f64 1/4 (*.f64 y (-.f64 y 1/2))))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/2 y))
(/.f64 (*.f64 x (+.f64 1/8 (pow.f64 y 3))) (+.f64 1/4 (*.f64 y (-.f64 y 1/2))))
(/.f64 (*.f64 x (-.f64 1/4 (*.f64 y y))) (-.f64 1/2 y))
(pow.f64 (*.f64 (+.f64 1/2 y) x) 1)
(pow.f64 (pow.f64 (*.f64 (+.f64 1/2 y) x) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 1/2 y) x)) 3)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 1/2 y) x)) 2)
(sqrt.f64 (pow.f64 (*.f64 (+.f64 1/2 y) x) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 1/2 y) x) 3))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 1/2 y) 3) (pow.f64 x 3)))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (+.f64 1/2 y) 3)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 1/2 y) x)))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 1/2 y) x)))
(exp.f64 (log.f64 (*.f64 (+.f64 1/2 y) x)))
Outputs
(*.f64 1/2 x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 y x) (*.f64 1/2 x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 x 1/2) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 x y) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(-.f64 (+.f64 1 (*.f64 (+.f64 1/2 y) x)) 1)
(*.f64 x (+.f64 1/2 y))
(/.f64 (*.f64 (+.f64 1/8 (pow.f64 y 3)) x) (+.f64 1/4 (*.f64 y (-.f64 y 1/2))))
(/.f64 x (/.f64 (+.f64 1/4 (*.f64 y (+.f64 y -1/2))) (+.f64 1/8 (pow.f64 y 3))))
(*.f64 (/.f64 x (fma.f64 y (+.f64 y -1/2) 1/4)) (+.f64 1/8 (pow.f64 y 3)))
(*.f64 x (/.f64 (+.f64 1/8 (pow.f64 y 3)) (fma.f64 y (-.f64 y 1/2) 1/4)))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/2 y))
(/.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 (-.f64 1/2 y) x))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(/.f64 (*.f64 x (+.f64 1/8 (pow.f64 y 3))) (+.f64 1/4 (*.f64 y (-.f64 y 1/2))))
(/.f64 x (/.f64 (+.f64 1/4 (*.f64 y (+.f64 y -1/2))) (+.f64 1/8 (pow.f64 y 3))))
(*.f64 (/.f64 x (fma.f64 y (+.f64 y -1/2) 1/4)) (+.f64 1/8 (pow.f64 y 3)))
(*.f64 x (/.f64 (+.f64 1/8 (pow.f64 y 3)) (fma.f64 y (-.f64 y 1/2) 1/4)))
(/.f64 (*.f64 x (-.f64 1/4 (*.f64 y y))) (-.f64 1/2 y))
(/.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 (-.f64 1/2 y) x))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(pow.f64 (*.f64 (+.f64 1/2 y) x) 1)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (pow.f64 (*.f64 (+.f64 1/2 y) x) 3) 1/3)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 1/2 y) x)) 3)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 1/2 y) x)) 2)
(*.f64 x (+.f64 1/2 y))
(sqrt.f64 (pow.f64 (*.f64 (+.f64 1/2 y) x) 2))
(*.f64 x (+.f64 1/2 y))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))
(*.f64 x (+.f64 1/2 y))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 1/2 y) x) 3))
(*.f64 x (+.f64 1/2 y))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 1/2 y) 3) (pow.f64 x 3)))
(*.f64 x (+.f64 1/2 y))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (+.f64 1/2 y) 3)))
(*.f64 x (+.f64 1/2 y))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 1/2 y) x)))
(*.f64 x (+.f64 1/2 y))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 1/2 y) x)))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (log.f64 (*.f64 (+.f64 1/2 y) x)))
(*.f64 x (+.f64 1/2 y))

localize5.0ms (0.2%)

Compiler

Compiled 14 to 9 computations (35.7% saved)

localize8.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 1/2 y) x)
Compiler

Compiled 22 to 13 computations (40.9% saved)

eval29.0ms (0.8%)

Compiler

Compiled 591 to 381 computations (35.5% saved)

prune10.0ms (0.3%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New56460
Fresh112
Picked101
Done134
Total59867
Error
0b
Counts
67 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
37.5b
(/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/2 y))
29.6b
(+.f64 (*.f64 y x) (*.f64 1/2 x))
14.7b
(+.f64 (*.f64 1/2 x) z)
18.8b
(+.f64 z (*.f64 y x))
29.5b
(*.f64 (+.f64 1/2 y) x)
48.1b
(*.f64 y x)
43.9b
(*.f64 1/2 x)
33.1b
z
Compiler

Compiled 64 to 46 computations (28.1% saved)

localize3.0ms (0.1%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize26.0ms (0.7%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 z (*.f64 y x))
Compiler

Compiled 14 to 5 computations (64.3% saved)

series3.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@inf
(+.f64 z (*.f64 y x))
0.0ms
z
@0
(+.f64 z (*.f64 y x))
0.0ms
y
@-inf
(+.f64 z (*.f64 y x))
0.0ms
x
@-inf
(+.f64 z (*.f64 y x))
0.0ms
z
@-inf
(+.f64 z (*.f64 y x))

rewrite40.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
713×pow1_binary64
661×add-log-exp_binary64
661×log1p-expm1-u_binary64
661×expm1-log1p-u_binary64
646×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
067
11285
217795
Stop Event
node limit
Counts
1 → 35
Calls
Call 1
Inputs
(+.f64 z (*.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 y x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 z z) (-.f64 z (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 z (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x z)) (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2) (cbrt.f64 (fma.f64 y x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x z)) (sqrt.f64 (fma.f64 y x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2)) (/.f64 1 (-.f64 z (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z))) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 z (*.f64 y x)) (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 z z) (*.f64 z (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2)) (-.f64 z (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3))) (neg.f64 (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2))) (neg.f64 (-.f64 z (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (-.f64 (*.f64 y x) z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x z)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 z (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 y x))))))

simplify40.0ms (1.1%)

Algorithm
egg-herbie
Rules
700×fma-neg_binary64
479×associate-*l*_binary64
439×associate-*r*_binary64
431×div-sub_binary64
238×log-prod_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
085484
1218469
2732469
34816469
Stop Event
node limit
Counts
71 → 41
Calls
Call 1
Inputs
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) z)
(-.f64 (+.f64 1 (fma.f64 y x z)) 1)
(-.f64 (/.f64 (*.f64 z z) (-.f64 z (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 z (*.f64 y x))))
(*.f64 (fma.f64 y x z) 1)
(*.f64 1 (fma.f64 y x z))
(*.f64 (cbrt.f64 (fma.f64 y x z)) (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2) (cbrt.f64 (fma.f64 y x z)))
(*.f64 (sqrt.f64 (fma.f64 y x z)) (sqrt.f64 (fma.f64 y x z)))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z)))))
(*.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2)) (/.f64 1 (-.f64 z (*.f64 y x))))
(/.f64 1 (/.f64 (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z))) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3))))
(/.f64 1 (/.f64 (-.f64 z (*.f64 y x)) (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 z z) (*.f64 z (*.f64 y x)))))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2)) (-.f64 z (*.f64 y x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3))) (neg.f64 (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z)))))
(/.f64 (neg.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2))) (neg.f64 (-.f64 z (*.f64 y x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (-.f64 (*.f64 y x) z))
(pow.f64 (fma.f64 y x z) 1)
(pow.f64 (pow.f64 (fma.f64 y x z) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 y x z)) 3)
(pow.f64 (sqrt.f64 (fma.f64 y x z)) 2)
(sqrt.f64 (pow.f64 (fma.f64 y x z) 2))
(log.f64 (exp.f64 (fma.f64 y x z)))
(cbrt.f64 (pow.f64 (fma.f64 y x z) 3))
(expm1.f64 (log1p.f64 (fma.f64 y x z)))
(log1p.f64 (expm1.f64 (fma.f64 y x z)))
(exp.f64 (log.f64 (fma.f64 y x z)))
(fma.f64 y x z)
(fma.f64 x y z)
(fma.f64 1 z (*.f64 y x))
(fma.f64 1 (*.f64 y x) z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) z)
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 y x))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 y x))
Outputs
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
z
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
z
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
z
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
z
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(-.f64 (+.f64 1 (fma.f64 y x z)) 1)
(fma.f64 y x z)
(-.f64 (/.f64 (*.f64 z z) (-.f64 z (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 z (*.f64 y x))))
(fma.f64 y x z)
(*.f64 (fma.f64 y x z) 1)
(fma.f64 y x z)
(*.f64 1 (fma.f64 y x z))
(fma.f64 y x z)
(*.f64 (cbrt.f64 (fma.f64 y x z)) (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2))
(fma.f64 y x z)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2) (cbrt.f64 (fma.f64 y x z)))
(fma.f64 y x z)
(*.f64 (sqrt.f64 (fma.f64 y x z)) (sqrt.f64 (fma.f64 y x z)))
(fma.f64 y x z)
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z)))))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 z z (*.f64 y (*.f64 x (-.f64 (*.f64 y x) z))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 y (*.f64 x (-.f64 (*.f64 y x) z)) (*.f64 z z)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(*.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2)) (/.f64 1 (-.f64 z (*.f64 y x))))
(fma.f64 y x z)
(/.f64 1 (/.f64 (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z))) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3))))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 z z (*.f64 y (*.f64 x (-.f64 (*.f64 y x) z))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 y (*.f64 x (-.f64 (*.f64 y x) z)) (*.f64 z z)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 1 (/.f64 (-.f64 z (*.f64 y x)) (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2))))
(fma.f64 y x z)
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z))))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 z z (*.f64 y (*.f64 x (-.f64 (*.f64 y x) z))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 y (*.f64 x (-.f64 (*.f64 y x) z)) (*.f64 z z)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 z z) (*.f64 z (*.f64 y x)))))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 z z (*.f64 y (*.f64 x (-.f64 (*.f64 y x) z))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 y (*.f64 x (-.f64 (*.f64 y x) z)) (*.f64 z z)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2)) (-.f64 z (*.f64 y x)))
(fma.f64 y x z)
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3))) (neg.f64 (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z)))))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 z z (*.f64 y (*.f64 x (-.f64 (*.f64 y x) z))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z z (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) z))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 y (*.f64 x (-.f64 (*.f64 y x) z)) (*.f64 z z)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (neg.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2))) (neg.f64 (-.f64 z (*.f64 y x))))
(fma.f64 y x z)
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (-.f64 (*.f64 y x) z))
(fma.f64 y x z)
(pow.f64 (fma.f64 y x z) 1)
(fma.f64 y x z)
(pow.f64 (pow.f64 (fma.f64 y x z) 3) 1/3)
(fma.f64 y x z)
(pow.f64 (cbrt.f64 (fma.f64 y x z)) 3)
(fma.f64 y x z)
(pow.f64 (sqrt.f64 (fma.f64 y x z)) 2)
(fma.f64 y x z)
(sqrt.f64 (pow.f64 (fma.f64 y x z) 2))
(fma.f64 y x z)
(log.f64 (exp.f64 (fma.f64 y x z)))
(fma.f64 y x z)
(cbrt.f64 (pow.f64 (fma.f64 y x z) 3))
(fma.f64 y x z)
(expm1.f64 (log1p.f64 (fma.f64 y x z)))
(fma.f64 y x z)
(log1p.f64 (expm1.f64 (fma.f64 y x z)))
(fma.f64 y x z)
(exp.f64 (log.f64 (fma.f64 y x z)))
(fma.f64 y x z)
(fma.f64 y x z)
(fma.f64 x y z)
(fma.f64 y x z)
(fma.f64 1 z (*.f64 y x))
(fma.f64 y x z)
(fma.f64 1 (*.f64 y x) z)
(fma.f64 y x z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) z)
(fma.f64 y x z)
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 y x))
(fma.f64 y x z)
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) z)
(fma.f64 y x z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 y x))
(fma.f64 y x z)

localize7.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 y x) (*.f64 1/2 x))
Compiler

Compiled 19 to 10 computations (47.4% saved)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(+.f64 (*.f64 y x) (*.f64 1/2 x))
0.0ms
x
@0
(+.f64 (*.f64 y x) (*.f64 1/2 x))
0.0ms
x
@-inf
(+.f64 (*.f64 y x) (*.f64 1/2 x))
0.0ms
y
@0
(+.f64 (*.f64 y x) (*.f64 1/2 x))
0.0ms
y
@inf
(+.f64 (*.f64 y x) (*.f64 1/2 x))

rewrite43.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
814×pow1_binary64
758×add-log-exp_binary64
758×log1p-expm1-u_binary64
758×expm1-log1p-u_binary64
743×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
077
11537
220617
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(+.f64 (*.f64 y x) (*.f64 1/2 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (+.f64 y 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (-.f64 y 1/2))) (/.f64 (*.f64 (*.f64 x x) 1/4) (*.f64 x (-.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 y 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (+.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 2) (cbrt.f64 (*.f64 x (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))) (sqrt.f64 (*.f64 x (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (*.f64 (pow.f64 x 3) 1/8)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x x) 1/4)) (/.f64 1 (*.f64 x (-.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y 1/2) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y x)))) (+.f64 (pow.f64 (*.f64 y x) 3) (*.f64 (pow.f64 x 3) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 x (-.f64 y 1/2)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x x) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (*.f64 (pow.f64 x 3) 1/8)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (*.f64 (pow.f64 x 3) 1/8)) (+.f64 (*.f64 (*.f64 x x) 1/4) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (*.f64 x (*.f64 x 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x x) 1/4)) (*.f64 x (-.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (*.f64 (pow.f64 x 3) 1/8))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x x) 1/4))) (neg.f64 (*.f64 x (-.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x x) 1/4) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 x 1/2) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (+.f64 y 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (+.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1/2 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 x (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x 1/2) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 1/4)) (cbrt.f64 (*.f64 x 1/2)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 x 1/2))))))

simplify44.0ms (1.2%)

Algorithm
egg-herbie
Rules
703×fma-neg_binary64
470×times-frac_binary64
451×div-sub_binary64
316×fma-def_binary64
251×log-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0113775
1311720
21073698
35684686
Stop Event
node limit
Counts
65 → 59
Calls
Call 1
Inputs
(*.f64 1/2 x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 (+.f64 1/2 y) x)
(*.f64 (+.f64 1/2 y) x)
(*.f64 (+.f64 1/2 y) x)
(*.f64 (+.f64 1/2 y) x)
(*.f64 (+.f64 1/2 y) x)
(*.f64 (+.f64 1/2 y) x)
(*.f64 (+.f64 1/2 y) x)
(*.f64 (+.f64 1/2 y) x)
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(-.f64 (+.f64 1 (*.f64 x (+.f64 y 1/2))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (-.f64 y 1/2))) (/.f64 (*.f64 (*.f64 x x) 1/4) (*.f64 x (-.f64 y 1/2))))
(*.f64 x (+.f64 y 1/2))
(*.f64 (*.f64 x (+.f64 y 1/2)) 1)
(*.f64 1 (*.f64 x (+.f64 y 1/2)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 y 1/2)))
(*.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 2) (cbrt.f64 (*.f64 x (+.f64 y 1/2))))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 y 1/2)))
(*.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))) (sqrt.f64 (*.f64 x (+.f64 y 1/2))))
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (*.f64 (pow.f64 x 3) 1/8)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y x))))))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x x) 1/4)) (/.f64 1 (*.f64 x (-.f64 y 1/2))))
(*.f64 (+.f64 y 1/2) x)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y x)))) (+.f64 (pow.f64 (*.f64 y x) 3) (*.f64 (pow.f64 x 3) 1/8))))
(/.f64 1 (/.f64 (*.f64 x (-.f64 y 1/2)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x x) 1/4))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (*.f64 (pow.f64 x 3) 1/8)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (*.f64 (pow.f64 x 3) 1/8)) (+.f64 (*.f64 (*.f64 x x) 1/4) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (*.f64 x (*.f64 x 1/2))))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x x) 1/4)) (*.f64 x (-.f64 y 1/2)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (*.f64 (pow.f64 x 3) 1/8))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y x))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x x) 1/4))) (neg.f64 (*.f64 x (-.f64 y 1/2))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) 1/4) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 x 1/2) (*.f64 y x)))
(pow.f64 (*.f64 x (+.f64 y 1/2)) 1)
(pow.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 3)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y 1/2)))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 y 1/2))))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 y 1/2))))
(exp.f64 (log.f64 (*.f64 x (+.f64 y 1/2))))
(fma.f64 y x (*.f64 x 1/2))
(fma.f64 x y (*.f64 x 1/2))
(fma.f64 x 1/2 (*.f64 y x))
(fma.f64 1/2 x (*.f64 y x))
(fma.f64 1 (*.f64 y x) (*.f64 x 1/2))
(fma.f64 1 (*.f64 x 1/2) (*.f64 y x))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 1/4)) (cbrt.f64 (*.f64 x 1/2)) (*.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 x 1/2))
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (*.f64 y x))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 x 1/2))
Outputs
(*.f64 1/2 x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(*.f64 (+.f64 1/2 y) x)
(*.f64 x (+.f64 1/2 y))
(*.f64 (+.f64 1/2 y) x)
(*.f64 x (+.f64 1/2 y))
(*.f64 (+.f64 1/2 y) x)
(*.f64 x (+.f64 1/2 y))
(*.f64 (+.f64 1/2 y) x)
(*.f64 x (+.f64 1/2 y))
(*.f64 (+.f64 1/2 y) x)
(*.f64 x (+.f64 1/2 y))
(*.f64 (+.f64 1/2 y) x)
(*.f64 x (+.f64 1/2 y))
(*.f64 (+.f64 1/2 y) x)
(*.f64 x (+.f64 1/2 y))
(*.f64 (+.f64 1/2 y) x)
(*.f64 x (+.f64 1/2 y))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(neg.f64 (*.f64 x (fma.f64 -1 y -1/2)))
(*.f64 x (neg.f64 (fma.f64 y -1 -1/2)))
(*.f64 x (neg.f64 (-.f64 -1/2 y)))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(neg.f64 (*.f64 x (fma.f64 -1 y -1/2)))
(*.f64 x (neg.f64 (fma.f64 y -1 -1/2)))
(*.f64 x (neg.f64 (-.f64 -1/2 y)))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(neg.f64 (*.f64 x (fma.f64 -1 y -1/2)))
(*.f64 x (neg.f64 (fma.f64 y -1 -1/2)))
(*.f64 x (neg.f64 (-.f64 -1/2 y)))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(neg.f64 (*.f64 x (fma.f64 -1 y -1/2)))
(*.f64 x (neg.f64 (fma.f64 y -1 -1/2)))
(*.f64 x (neg.f64 (-.f64 -1/2 y)))
(-.f64 (+.f64 1 (*.f64 x (+.f64 y 1/2))) 1)
(*.f64 x (+.f64 1/2 y))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (-.f64 y 1/2))) (/.f64 (*.f64 (*.f64 x x) 1/4) (*.f64 x (-.f64 y 1/2))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 x 1/4))) (*.f64 x (+.f64 y -1/2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x x) -1/4)) (*.f64 x (+.f64 y -1/2)))
(/.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 y y) 1/4)) (*.f64 x (+.f64 y -1/2)))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1/4)) (*.f64 x (+.f64 y -1/2)))
(*.f64 x (+.f64 y 1/2))
(*.f64 x (+.f64 1/2 y))
(*.f64 (*.f64 x (+.f64 y 1/2)) 1)
(*.f64 x (+.f64 1/2 y))
(*.f64 1 (*.f64 x (+.f64 y 1/2)))
(*.f64 x (+.f64 1/2 y))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 y 1/2)))
(*.f64 x (+.f64 1/2 y))
(*.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 2))
(*.f64 x (+.f64 1/2 y))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 2) (cbrt.f64 (*.f64 x (+.f64 y 1/2))))
(*.f64 x (+.f64 1/2 y))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 y 1/2)))
(*.f64 x (+.f64 1/2 y))
(*.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))) (sqrt.f64 (*.f64 x (+.f64 y 1/2))))
(*.f64 x (+.f64 1/2 y))
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (*.f64 (pow.f64 x 3) 1/8)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y x))))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 1/2 (-.f64 (*.f64 1/2 x) (*.f64 x y))))) (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 x 3) 1/8))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 (pow.f64 y 3) 1/8)) (fma.f64 (*.f64 1/2 x) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (pow.f64 x 3) (/.f64 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 x (*.f64 x 1/4))) (+.f64 1/8 (pow.f64 y 3))))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x x) 1/4)) (/.f64 1 (*.f64 x (-.f64 y 1/2))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 x 1/4))) (*.f64 x (+.f64 y -1/2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x x) -1/4)) (*.f64 x (+.f64 y -1/2)))
(/.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 y y) 1/4)) (*.f64 x (+.f64 y -1/2)))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1/4)) (*.f64 x (+.f64 y -1/2)))
(*.f64 (+.f64 y 1/2) x)
(*.f64 x (+.f64 1/2 y))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y x)))) (+.f64 (pow.f64 (*.f64 y x) 3) (*.f64 (pow.f64 x 3) 1/8))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 1/2 (-.f64 (*.f64 1/2 x) (*.f64 x y))))) (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 x 3) 1/8))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 (pow.f64 y 3) 1/8)) (fma.f64 (*.f64 1/2 x) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (pow.f64 x 3) (/.f64 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 x (*.f64 x 1/4))) (+.f64 1/8 (pow.f64 y 3))))
(/.f64 1 (/.f64 (*.f64 x (-.f64 y 1/2)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x x) 1/4))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 x 1/4))) (*.f64 x (+.f64 y -1/2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x x) -1/4)) (*.f64 x (+.f64 y -1/2)))
(/.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 y y) 1/4)) (*.f64 x (+.f64 y -1/2)))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1/4)) (*.f64 x (+.f64 y -1/2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (*.f64 (pow.f64 x 3) 1/8)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y x)))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 1/2 (-.f64 (*.f64 1/2 x) (*.f64 x y))))) (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 x 3) 1/8))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 (pow.f64 y 3) 1/8)) (fma.f64 (*.f64 1/2 x) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (pow.f64 x 3) (/.f64 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 x (*.f64 x 1/4))) (+.f64 1/8 (pow.f64 y 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (*.f64 (pow.f64 x 3) 1/8)) (+.f64 (*.f64 (*.f64 x x) 1/4) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (*.f64 x (*.f64 x 1/2))))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 1/2 (-.f64 (*.f64 1/2 x) (*.f64 x y))))) (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 x 3) 1/8))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 (pow.f64 y 3) 1/8)) (fma.f64 (*.f64 1/2 x) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (pow.f64 x 3) (/.f64 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 x (*.f64 x 1/4))) (+.f64 1/8 (pow.f64 y 3))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x x) 1/4)) (*.f64 x (-.f64 y 1/2)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 x 1/4))) (*.f64 x (+.f64 y -1/2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x x) -1/4)) (*.f64 x (+.f64 y -1/2)))
(/.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 y y) 1/4)) (*.f64 x (+.f64 y -1/2)))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1/4)) (*.f64 x (+.f64 y -1/2)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (*.f64 (pow.f64 x 3) 1/8))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y x))))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 1/2 (-.f64 (*.f64 1/2 x) (*.f64 x y))))) (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 x 3) 1/8))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 (pow.f64 y 3) 1/8)) (fma.f64 (*.f64 1/2 x) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (pow.f64 x 3) (/.f64 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 x (*.f64 x 1/4))) (+.f64 1/8 (pow.f64 y 3))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x x) 1/4))) (neg.f64 (*.f64 x (-.f64 y 1/2))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 x 1/4))) (*.f64 x (+.f64 y -1/2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x x) -1/4)) (*.f64 x (+.f64 y -1/2)))
(/.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 y y) 1/4)) (*.f64 x (+.f64 y -1/2)))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1/4)) (*.f64 x (+.f64 y -1/2)))
(/.f64 (-.f64 (*.f64 (*.f64 x x) 1/4) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 x 1/2) (*.f64 y x)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 x 1/4))) (*.f64 x (+.f64 y -1/2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x x) -1/4)) (*.f64 x (+.f64 y -1/2)))
(/.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 y y) 1/4)) (*.f64 x (+.f64 y -1/2)))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1/4)) (*.f64 x (+.f64 y -1/2)))
(pow.f64 (*.f64 x (+.f64 y 1/2)) 1)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3) 1/3)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 3)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))) 2)
(*.f64 x (+.f64 1/2 y))
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 2))
(*.f64 x (+.f64 1/2 y))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y 1/2)))
(*.f64 x (+.f64 1/2 y))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3))
(*.f64 x (+.f64 1/2 y))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 y 1/2))))
(*.f64 x (+.f64 1/2 y))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 y 1/2))))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (log.f64 (*.f64 x (+.f64 y 1/2))))
(*.f64 x (+.f64 1/2 y))
(fma.f64 y x (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 x y (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 x 1/2 (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(fma.f64 1/2 x (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(fma.f64 1 (*.f64 y x) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 1 (*.f64 x 1/2) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 1/4)) (cbrt.f64 (*.f64 x 1/2)) (*.f64 y x))
(fma.f64 (cbrt.f64 (*.f64 x (*.f64 x 1/4))) (cbrt.f64 (*.f64 1/2 x)) (*.f64 x y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))

localize12.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
3.1b
(*.f64 (-.f64 1/4 (*.f64 y y)) x)
7.5b
(/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/2 y))
Compiler

Compiled 36 to 19 computations (47.2% saved)

series8.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(*.f64 (-.f64 1/4 (*.f64 y y)) x)
1.0ms
x
@-inf
(/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/2 y))
1.0ms
x
@0
(/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/2 y))
1.0ms
y
@0
(/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/2 y))
1.0ms
y
@inf
(/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/2 y))

rewrite54.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
553×log-prod_binary64
337×pow-prod-down_binary64
296×pow2_binary64
205×pow1/3_binary64
202×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01026
123017
2320417
Stop Event
node limit
Counts
2 → 84
Calls
Call 1
Inputs
(/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/2 y))
(*.f64 (-.f64 1/4 (*.f64 y y)) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 y 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (+.f64 y 1/2) x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (+.f64 y 1/2) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (+.f64 y 1/2) x)))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (+.f64 y 1/2) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 y 1/2) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/4 (/.f64 (-.f64 1/2 y) x)) (/.f64 (*.f64 y y) (/.f64 (-.f64 1/2 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 1 (/.f64 (-.f64 1/2 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1/4 (*.f64 y y)) (*.f64 x (/.f64 1 (-.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 1 (-.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (/.f64 1 (-.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y 1/2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 y 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 y 1/2) x)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 y 1/2) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 y 1/2) x)) 2) (cbrt.f64 (*.f64 (+.f64 y 1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 2) (*.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (/.f64 1 (-.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (+.f64 y 1/2) x)) (sqrt.f64 (*.f64 (+.f64 y 1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (*.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (/.f64 1 (-.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) (neg.f64 x)) (/.f64 1 (neg.f64 (-.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1/2 y)) (*.f64 (-.f64 1/4 (*.f64 y y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y 1/2) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1/4 (*.f64 y y)) 1) (/.f64 x (-.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 1) (+.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (-.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 1) (/.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (-.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1/4 (*.f64 y y)) (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2)) (/.f64 x (cbrt.f64 (-.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2)) (/.f64 (-.f64 1/4 (*.f64 y y)) (cbrt.f64 (-.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1/2 y)) -2) (/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (cbrt.f64 (-.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 2) (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2)) (cbrt.f64 (*.f64 (+.f64 y 1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2)) (/.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (cbrt.f64 (-.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1/4 (*.f64 y y)) (sqrt.f64 (-.f64 1/2 y))) (/.f64 x (sqrt.f64 (-.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (sqrt.f64 (-.f64 1/2 y))) (/.f64 (-.f64 1/4 (*.f64 y y)) (sqrt.f64 (-.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 1/2 y) -1/2) (/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (sqrt.f64 (-.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 2) (sqrt.f64 (-.f64 1/2 y))) (/.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (sqrt.f64 (-.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/4 (*.f64 y y))) (+.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/8 (pow.f64 y 3))) (fma.f64 y (+.f64 y 1/2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 y 1/2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 y 1/2) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 y 1/2) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 y 1/2) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 y 1/2) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (*.f64 (+.f64 y 1/2) x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 3) (pow.f64 (-.f64 1/2 y) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 (*.f64 (+.f64 y 1/2) x)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (neg.f64 (-.f64 1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 y 1/2) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (+.f64 y 1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y 1/2) x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 y 1/2) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 3) (pow.f64 (-.f64 1/2 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 y 1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 y 1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 y 1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 y 1/2) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 y 1/2) x) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 y 1/2) x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 y 1/2) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (+.f64 y 1/2) x))) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 1/4 (*.f64 y y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/4 x) (*.f64 (*.f64 y (neg.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/4) (*.f64 x (*.f64 y (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1/64 (pow.f64 y 6)) x) (fma.f64 (*.f64 y y) (fma.f64 y y 1/4) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1/16 (pow.f64 y 4)) x) (fma.f64 y y 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 1/64 (pow.f64 y 6))) (fma.f64 (*.f64 y y) (fma.f64 y y 1/4) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 1/16 (pow.f64 y 4))) (fma.f64 y y 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/4 x (*.f64 (*.f64 y (neg.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1/4 (*.f64 x (*.f64 y (neg.f64 y))))))))

simplify53.0ms (1.5%)

Algorithm
egg-herbie
Rules
714×times-frac_binary64
619×fma-def_binary64
434×associate-*l/_binary64
345×unswap-sqr_binary64
342×associate-*r/_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02331773
15851608
222241608
Stop Event
node limit
Counts
132 → 122
Calls
Call 1
Inputs
(*.f64 1/2 x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(*.f64 1/4 x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) x)) (*.f64 1/4 x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) x)) (*.f64 1/4 x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) x)) (*.f64 1/4 x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 1/4 x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 1/4 x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 1/4 x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 1/4 x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 1/4 x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 1/4 x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(+.f64 0 (*.f64 (+.f64 y 1/2) x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (+.f64 y 1/2) x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (+.f64 y 1/2) x)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (+.f64 y 1/2) x)))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (+.f64 y 1/2) x)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 y 1/2) x))) 1)
(-.f64 (/.f64 1/4 (/.f64 (-.f64 1/2 y) x)) (/.f64 (*.f64 y y) (/.f64 (-.f64 1/2 y) x)))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 1 (/.f64 (-.f64 1/2 y) x)))
(*.f64 (-.f64 1/4 (*.f64 y y)) (*.f64 x (/.f64 1 (-.f64 1/2 y))))
(*.f64 x (*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 1 (-.f64 1/2 y))))
(*.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (/.f64 1 (-.f64 1/2 y)))
(*.f64 (*.f64 (+.f64 y 1/2) x) 1)
(*.f64 1 (*.f64 (+.f64 y 1/2) x))
(*.f64 (cbrt.f64 (*.f64 (+.f64 y 1/2) x)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 y 1/2) x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 y 1/2) x)) 2) (cbrt.f64 (*.f64 (+.f64 y 1/2) x)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 2) (*.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (/.f64 1 (-.f64 1/2 y))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 y 1/2) x)) (sqrt.f64 (*.f64 (+.f64 y 1/2) x)))
(*.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (*.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (/.f64 1 (-.f64 1/2 y))))
(*.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) (neg.f64 x)) (/.f64 1 (neg.f64 (-.f64 1/2 y))))
(*.f64 (/.f64 1 (-.f64 1/2 y)) (*.f64 (-.f64 1/4 (*.f64 y y)) x))
(*.f64 (+.f64 y 1/2) x)
(*.f64 (/.f64 (-.f64 1/4 (*.f64 y y)) 1) (/.f64 x (-.f64 1/2 y)))
(*.f64 (/.f64 x 1) (+.f64 y 1/2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (-.f64 1/2 y)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 1) (/.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (-.f64 1/2 y)))
(*.f64 (/.f64 (-.f64 1/4 (*.f64 y y)) (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2)) (/.f64 x (cbrt.f64 (-.f64 1/2 y))))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2)) (/.f64 (-.f64 1/4 (*.f64 y y)) (cbrt.f64 (-.f64 1/2 y))))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 1/2 y)) -2) (/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (cbrt.f64 (-.f64 1/2 y))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 2) (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2)) (cbrt.f64 (*.f64 (+.f64 y 1/2) x)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2)) (/.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (cbrt.f64 (-.f64 1/2 y))))
(*.f64 (/.f64 (-.f64 1/4 (*.f64 y y)) (sqrt.f64 (-.f64 1/2 y))) (/.f64 x (sqrt.f64 (-.f64 1/2 y))))
(*.f64 (/.f64 x (sqrt.f64 (-.f64 1/2 y))) (/.f64 (-.f64 1/4 (*.f64 y y)) (sqrt.f64 (-.f64 1/2 y))))
(*.f64 (pow.f64 (-.f64 1/2 y) -1/2) (/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (sqrt.f64 (-.f64 1/2 y))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 2) (sqrt.f64 (-.f64 1/2 y))) (/.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (sqrt.f64 (-.f64 1/2 y))))
(*.f64 (/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/4 (*.f64 y y))) (+.f64 y 1/2))
(*.f64 (/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/8 (pow.f64 y 3))) (fma.f64 y (+.f64 y 1/2) 1/4))
(pow.f64 (*.f64 (+.f64 y 1/2) x) 1)
(pow.f64 (pow.f64 (*.f64 (+.f64 y 1/2) x) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (+.f64 y 1/2) x) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 y 1/2) x)) 3)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 y 1/2) x)) 2)
(pow.f64 (/.f64 1 (*.f64 (+.f64 y 1/2) x)) -1)
(pow.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 3) (pow.f64 (-.f64 1/2 y) 3)) 1/3)
(pow.f64 (/.f64 (/.f64 1 (*.f64 (+.f64 y 1/2) x)) 1) -1)
(neg.f64 (/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (neg.f64 (-.f64 1/2 y))))
(sqrt.f64 (pow.f64 (*.f64 (+.f64 y 1/2) x) 2))
(log.f64 (exp.f64 (*.f64 (+.f64 y 1/2) x)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y 1/2) x))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 y 1/2) x) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 3) (pow.f64 (-.f64 1/2 y) 3)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 y 1/2) x)))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 y 1/2) x)))
(exp.f64 (log.f64 (*.f64 (+.f64 y 1/2) x)))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 y 1/2) x)) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 y 1/2) x) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 y 1/2) x))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 y 1/2) x))) 2))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (+.f64 y 1/2) x))) -1))
(+.f64 0 (*.f64 (-.f64 1/4 (*.f64 y y)) x))
(+.f64 (*.f64 1/4 x) (*.f64 (*.f64 y (neg.f64 y)) x))
(+.f64 (*.f64 x 1/4) (*.f64 x (*.f64 y (neg.f64 y))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x))) 1)
(/.f64 (*.f64 (-.f64 1/64 (pow.f64 y 6)) x) (fma.f64 (*.f64 y y) (fma.f64 y y 1/4) 1/16))
(/.f64 (*.f64 (-.f64 1/16 (pow.f64 y 4)) x) (fma.f64 y y 1/4))
(/.f64 (*.f64 x (-.f64 1/64 (pow.f64 y 6))) (fma.f64 (*.f64 y y) (fma.f64 y y 1/4) 1/16))
(/.f64 (*.f64 x (-.f64 1/16 (pow.f64 y 4))) (fma.f64 y y 1/4))
(pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 1)
(pow.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 3)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 2)
(sqrt.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 2))
(log.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x))))
(cbrt.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 3))
(expm1.f64 (log1p.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)))
(log1p.f64 (expm1.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)))
(exp.f64 (log.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)))
(exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x))) 2))
(fma.f64 1/4 x (*.f64 (*.f64 y (neg.f64 y)) x))
(fma.f64 x 1/4 (*.f64 x (*.f64 y (neg.f64 y))))
Outputs
(*.f64 1/2 x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 1/2 y))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(*.f64 1/4 x)
(*.f64 x 1/4)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) x)) (*.f64 1/4 x))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) x)) (*.f64 1/4 x))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) x)) (*.f64 1/4 x))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 x y) (neg.f64 y))
(*.f64 x (*.f64 y (neg.f64 y)))
(+.f64 (*.f64 1/4 x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(+.f64 (*.f64 1/4 x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(+.f64 (*.f64 1/4 x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 x y) (neg.f64 y))
(*.f64 x (*.f64 y (neg.f64 y)))
(+.f64 (*.f64 1/4 x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(+.f64 (*.f64 1/4 x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(+.f64 (*.f64 1/4 x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(*.f64 (-.f64 1/4 (pow.f64 y 2)) x)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(+.f64 0 (*.f64 (+.f64 y 1/2) x))
(*.f64 x (+.f64 1/2 y))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (+.f64 y 1/2) x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (+.f64 y 1/2) x)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (+.f64 y 1/2) x)))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (+.f64 y 1/2) x)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 y 1/2) x))) 1)
(*.f64 x (+.f64 1/2 y))
(-.f64 (/.f64 1/4 (/.f64 (-.f64 1/2 y) x)) (/.f64 (*.f64 y y) (/.f64 (-.f64 1/2 y) x)))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 1 (/.f64 (-.f64 1/2 y) x)))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(*.f64 (-.f64 1/4 (*.f64 y y)) (*.f64 x (/.f64 1 (-.f64 1/2 y))))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(*.f64 x (*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 1 (-.f64 1/2 y))))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(*.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (/.f64 1 (-.f64 1/2 y)))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(*.f64 (*.f64 (+.f64 y 1/2) x) 1)
(*.f64 x (+.f64 1/2 y))
(*.f64 1 (*.f64 (+.f64 y 1/2) x))
(*.f64 x (+.f64 1/2 y))
(*.f64 (cbrt.f64 (*.f64 (+.f64 y 1/2) x)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 y 1/2) x)) 2))
(*.f64 x (+.f64 1/2 y))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 y 1/2) x)) 2) (cbrt.f64 (*.f64 (+.f64 y 1/2) x)))
(*.f64 x (+.f64 1/2 y))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 2) (*.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (/.f64 1 (-.f64 1/2 y))))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(*.f64 (sqrt.f64 (*.f64 (+.f64 y 1/2) x)) (sqrt.f64 (*.f64 (+.f64 y 1/2) x)))
(*.f64 x (+.f64 1/2 y))
(*.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (*.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (/.f64 1 (-.f64 1/2 y))))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(*.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) (neg.f64 x)) (/.f64 1 (neg.f64 (-.f64 1/2 y))))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(*.f64 (/.f64 1 (-.f64 1/2 y)) (*.f64 (-.f64 1/4 (*.f64 y y)) x))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(*.f64 (+.f64 y 1/2) x)
(*.f64 x (+.f64 1/2 y))
(*.f64 (/.f64 (-.f64 1/4 (*.f64 y y)) 1) (/.f64 x (-.f64 1/2 y)))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(*.f64 (/.f64 x 1) (+.f64 y 1/2))
(*.f64 x (+.f64 1/2 y))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (-.f64 1/2 y)))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 1) (/.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (-.f64 1/2 y)))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(*.f64 (/.f64 (-.f64 1/4 (*.f64 y y)) (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2)) (/.f64 x (cbrt.f64 (-.f64 1/2 y))))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2)) (/.f64 (-.f64 1/4 (*.f64 y y)) (cbrt.f64 (-.f64 1/2 y))))
(*.f64 (/.f64 (-.f64 1/4 (*.f64 y y)) (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2)) (/.f64 x (cbrt.f64 (-.f64 1/2 y))))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 1/2 y)) -2) (/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (cbrt.f64 (-.f64 1/2 y))))
(*.f64 (/.f64 (-.f64 1/4 (*.f64 y y)) (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2)) (/.f64 x (cbrt.f64 (-.f64 1/2 y))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 2) (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2)) (cbrt.f64 (*.f64 (+.f64 y 1/2) x)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (-.f64 1/4 (*.f64 y y)))) 2) (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 x (-.f64 1/4 (*.f64 y y)))) 2) (/.f64 (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2) (cbrt.f64 (*.f64 x (+.f64 1/2 y)))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2)) (/.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (cbrt.f64 (-.f64 1/2 y))))
(*.f64 (/.f64 (-.f64 1/4 (*.f64 y y)) (pow.f64 (cbrt.f64 (-.f64 1/2 y)) 2)) (/.f64 x (cbrt.f64 (-.f64 1/2 y))))
(*.f64 (/.f64 (-.f64 1/4 (*.f64 y y)) (sqrt.f64 (-.f64 1/2 y))) (/.f64 x (sqrt.f64 (-.f64 1/2 y))))
(/.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 (sqrt.f64 (-.f64 1/2 y)) (/.f64 x (sqrt.f64 (-.f64 1/2 y)))))
(*.f64 (/.f64 x (sqrt.f64 (-.f64 1/2 y))) (/.f64 (-.f64 1/4 (*.f64 y y)) (sqrt.f64 (-.f64 1/2 y))))
(*.f64 (/.f64 (-.f64 1/4 (*.f64 y y)) (sqrt.f64 (-.f64 1/2 y))) (/.f64 x (sqrt.f64 (-.f64 1/2 y))))
(/.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 (sqrt.f64 (-.f64 1/2 y)) (/.f64 x (sqrt.f64 (-.f64 1/2 y)))))
(*.f64 (pow.f64 (-.f64 1/2 y) -1/2) (/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (sqrt.f64 (-.f64 1/2 y))))
(*.f64 (pow.f64 (-.f64 1/2 y) -1/2) (/.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 (sqrt.f64 (-.f64 1/2 y)) x)))
(*.f64 (pow.f64 (-.f64 1/2 y) -1/2) (*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (sqrt.f64 (-.f64 1/2 y)))))
(/.f64 (pow.f64 (-.f64 1/2 y) -1/2) (/.f64 (/.f64 (sqrt.f64 (-.f64 1/2 y)) (-.f64 1/4 (*.f64 y y))) x))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 2) (sqrt.f64 (-.f64 1/2 y))) (/.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) (sqrt.f64 (-.f64 1/2 y))))
(*.f64 (/.f64 (-.f64 1/4 (*.f64 y y)) (sqrt.f64 (-.f64 1/2 y))) (/.f64 x (sqrt.f64 (-.f64 1/2 y))))
(/.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 (sqrt.f64 (-.f64 1/2 y)) (/.f64 x (sqrt.f64 (-.f64 1/2 y)))))
(*.f64 (/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/4 (*.f64 y y))) (+.f64 y 1/2))
(*.f64 x (+.f64 1/2 y))
(*.f64 (/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/8 (pow.f64 y 3))) (fma.f64 y (+.f64 y 1/2) 1/4))
(*.f64 (/.f64 (*.f64 x (-.f64 1/4 (*.f64 y y))) (-.f64 1/8 (pow.f64 y 3))) (fma.f64 y (+.f64 1/2 y) 1/4))
(*.f64 (*.f64 (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/8 (pow.f64 y 3))) x) (fma.f64 y (+.f64 1/2 y) 1/4))
(*.f64 (/.f64 x (/.f64 (-.f64 1/8 (pow.f64 y 3)) (-.f64 1/4 (*.f64 y y)))) (fma.f64 y (+.f64 1/2 y) 1/4))
(pow.f64 (*.f64 (+.f64 y 1/2) x) 1)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (pow.f64 (*.f64 (+.f64 y 1/2) x) 2) 1/2)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (pow.f64 (*.f64 (+.f64 y 1/2) x) 3) 1/3)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 y 1/2) x)) 3)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 y 1/2) x)) 2)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (/.f64 1 (*.f64 (+.f64 y 1/2) x)) -1)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 3) (pow.f64 (-.f64 1/2 y) 3)) 1/3)
(cbrt.f64 (/.f64 (pow.f64 (*.f64 x (-.f64 1/4 (*.f64 y y))) 3) (pow.f64 (-.f64 1/2 y) 3)))
(pow.f64 (/.f64 (/.f64 1 (*.f64 (+.f64 y 1/2) x)) 1) -1)
(*.f64 x (+.f64 1/2 y))
(neg.f64 (/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (neg.f64 (-.f64 1/2 y))))
(*.f64 (-.f64 1/4 (*.f64 y y)) (/.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (*.f64 y y)) (-.f64 1/2 y)))
(sqrt.f64 (pow.f64 (*.f64 (+.f64 y 1/2) x) 2))
(*.f64 x (+.f64 1/2 y))
(log.f64 (exp.f64 (*.f64 (+.f64 y 1/2) x)))
(*.f64 x (+.f64 1/2 y))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y 1/2) x))))
(*.f64 x (+.f64 1/2 y))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 y 1/2) x) 3))
(*.f64 x (+.f64 1/2 y))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 3) (pow.f64 (-.f64 1/2 y) 3)))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 x (-.f64 1/4 (*.f64 y y))) 3) (pow.f64 (-.f64 1/2 y) 3)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 y 1/2) x)))
(*.f64 x (+.f64 1/2 y))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 y 1/2) x)))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (log.f64 (*.f64 (+.f64 y 1/2) x)))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 y 1/2) x)) 1))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 y 1/2) x) 3)) 1/3))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 y 1/2) x))) 3))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 y 1/2) x))) 2))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (+.f64 y 1/2) x))) -1))
(*.f64 x (+.f64 1/2 y))
(+.f64 0 (*.f64 (-.f64 1/4 (*.f64 y y)) x))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(+.f64 (*.f64 1/4 x) (*.f64 (*.f64 y (neg.f64 y)) x))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(+.f64 (*.f64 x 1/4) (*.f64 x (*.f64 y (neg.f64 y))))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y))))))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x))) 1)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(/.f64 (*.f64 (-.f64 1/64 (pow.f64 y 6)) x) (fma.f64 (*.f64 y y) (fma.f64 y y 1/4) 1/16))
(/.f64 x (/.f64 (fma.f64 (*.f64 y y) (fma.f64 y y 1/4) 1/16) (-.f64 1/64 (pow.f64 y 6))))
(*.f64 (/.f64 x (fma.f64 (*.f64 y y) (fma.f64 y y 1/4) 1/16)) (-.f64 1/64 (pow.f64 y 6)))
(/.f64 (*.f64 (-.f64 1/16 (pow.f64 y 4)) x) (fma.f64 y y 1/4))
(/.f64 x (/.f64 (fma.f64 y y 1/4) (-.f64 1/16 (pow.f64 y 4))))
(*.f64 (/.f64 x (fma.f64 y y 1/4)) (-.f64 1/16 (pow.f64 y 4)))
(/.f64 (*.f64 x (-.f64 1/64 (pow.f64 y 6))) (fma.f64 (*.f64 y y) (fma.f64 y y 1/4) 1/16))
(/.f64 x (/.f64 (fma.f64 (*.f64 y y) (fma.f64 y y 1/4) 1/16) (-.f64 1/64 (pow.f64 y 6))))
(*.f64 (/.f64 x (fma.f64 (*.f64 y y) (fma.f64 y y 1/4) 1/16)) (-.f64 1/64 (pow.f64 y 6)))
(/.f64 (*.f64 x (-.f64 1/16 (pow.f64 y 4))) (fma.f64 y y 1/4))
(/.f64 x (/.f64 (fma.f64 y y 1/4) (-.f64 1/16 (pow.f64 y 4))))
(*.f64 (/.f64 x (fma.f64 y y 1/4)) (-.f64 1/16 (pow.f64 y 4)))
(pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 1)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(pow.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 2) 1/2)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(pow.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 3) 1/3)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 3)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 2)
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(sqrt.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 2))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(log.f64 (pow.f64 (exp.f64 x) (-.f64 1/4 (*.f64 y y))))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x))))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(cbrt.f64 (pow.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) 3))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(expm1.f64 (log1p.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(log1p.f64 (expm1.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(exp.f64 (log.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x)) 1))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x))) 1/3))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x))) 3))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x))) 2))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(fma.f64 1/4 x (*.f64 (*.f64 y (neg.f64 y)) x))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))
(fma.f64 x 1/4 (*.f64 x (*.f64 y (neg.f64 y))))
(fma.f64 1/4 x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (-.f64 1/4 (*.f64 y y)))

eval61.0ms (1.7%)

Compiler

Compiled 2939 to 1732 computations (41.1% saved)

prune54.0ms (1.5%)

Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New2211222
Fresh011
Picked101
Done066
Total2228230
Error
0b
Counts
230 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
56.2b
(/.f64 (*.f64 x (*.f64 y (neg.f64 y))) (-.f64 1/2 y))
29.6b
(+.f64 (*.f64 y x) (*.f64 1/2 x))
14.7b
(+.f64 (*.f64 1/2 x) z)
18.8b
(+.f64 z (*.f64 y x))
29.5b
(*.f64 (+.f64 1/2 y) x)
48.1b
(*.f64 y x)
43.9b
(*.f64 1/2 x)
33.1b
z
Compiler

Compiled 63 to 45 computations (28.6% saved)

localize10.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
7.6b
(/.f64 (*.f64 x (*.f64 y (neg.f64 y))) (-.f64 1/2 y))
8.4b
(*.f64 x (*.f64 y (neg.f64 y)))
Compiler

Compiled 31 to 12 computations (61.3% saved)

series8.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
2.0ms
x
@0
(/.f64 (*.f64 x (*.f64 y (neg.f64 y))) (-.f64 1/2 y))
1.0ms
y
@0
(/.f64 (*.f64 x (*.f64 y (neg.f64 y))) (-.f64 1/2 y))
1.0ms
x
@0
(*.f64 x (*.f64 y (neg.f64 y)))
1.0ms
x
@inf
(*.f64 x (*.f64 y (neg.f64 y)))
1.0ms
x
@inf
(/.f64 (*.f64 x (*.f64 y (neg.f64 y))) (-.f64 1/2 y))

rewrite56.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
486×log-prod_binary64
376×exp-prod_binary64
298×pow-prod-down_binary64
233×pow2_binary64
208×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0924
120420
2305720
Stop Event
node limit
Counts
2 → 96
Calls
Call 1
Inputs
(*.f64 x (*.f64 y (neg.f64 y)))
(/.f64 (*.f64 x (*.f64 y (neg.f64 y))) (-.f64 1/2 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 y y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 y y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (*.f64 y y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 y y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (sqrt.f64 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 x (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (*.f64 y y)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (*.f64 y y))))) (sqrt.f64 (log.f64 (*.f64 x (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (*.f64 y y)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 y (sqrt.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y y))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1 (*.f64 (+.f64 y 1/2) (pow.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 y y) (/.f64 1 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) (*.f64 x (/.f64 1 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 y y)) (/.f64 1 (+.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 y y)) (/.f64 1 (+.f64 -1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))) (cbrt.f64 (pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) -2)) (cbrt.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (*.f64 (cbrt.f64 (*.f64 x (*.f64 y y))) (/.f64 1 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 (+.f64 -1/2 y))) (/.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 (+.f64 -1/2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (sqrt.f64 x)) (*.f64 (*.f64 y (sqrt.f64 x)) (/.f64 1 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 y 1/2)) (*.f64 x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x y) (*.f64 y (/.f64 1 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 1) (/.f64 (*.f64 y y) (+.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y y) 1) (/.f64 x (+.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) 1) (/.f64 (cbrt.f64 (*.f64 x (*.f64 y y))) (+.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y (sqrt.f64 x)) 1) (/.f64 (*.f64 y (sqrt.f64 x)) (+.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x y) 1) (/.f64 y (+.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 (*.f64 y y) (cbrt.f64 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y y) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 x (cbrt.f64 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 y 1/2)) -2) (/.f64 (*.f64 x (*.f64 y y)) (cbrt.f64 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (cbrt.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y (sqrt.f64 x)) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 (*.f64 y (sqrt.f64 x)) (cbrt.f64 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x y) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 y (cbrt.f64 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (sqrt.f64 (+.f64 y 1/2))) (/.f64 (*.f64 y y) (sqrt.f64 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y y) (sqrt.f64 (+.f64 y 1/2))) (/.f64 x (sqrt.f64 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 y 1/2) -1/2) (/.f64 (*.f64 x (*.f64 y y)) (sqrt.f64 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (sqrt.f64 (+.f64 y 1/2))) (/.f64 (cbrt.f64 (*.f64 x (*.f64 y y))) (sqrt.f64 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x y) (sqrt.f64 (+.f64 y 1/2))) (/.f64 y (sqrt.f64 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (*.f64 y y)) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 y (+.f64 y 1/2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (*.f64 y y)) (+.f64 1/4 (*.f64 y y))) (+.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 (+.f64 -1/2 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 6) (pow.f64 (+.f64 y 1/2) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 6) (pow.f64 (+.f64 y 1/2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 (+.f64 -1/2 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 x) 1) (log.f64 (*.f64 (+.f64 y 1/2) (pow.f64 y -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y y))) 1) (log.f64 (+.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 x (*.f64 y y))) (*.f64 (log.f64 (+.f64 y 1/2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y y))) 1) (*.f64 (log.f64 (+.f64 y 1/2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y y))) 1) (log.f64 (+.f64 -1/2 y))))))))

simplify61.0ms (1.7%)

Algorithm
egg-herbie
Rules
820×fma-def_binary64
471×times-frac_binary64
405×distribute-rgt-in_binary64
398×distribute-lft-in_binary64
379×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02832128
17702075
227912051
Stop Event
node limit
Counts
144 → 181
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(*.f64 -2 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 -2 (*.f64 (pow.f64 y 2) x)) (*.f64 -4 (*.f64 (pow.f64 y 3) x)))
(+.f64 (*.f64 -8 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -2 (*.f64 (pow.f64 y 2) x)) (*.f64 -4 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 -16 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 -8 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -2 (*.f64 (pow.f64 y 2) x)) (*.f64 -4 (*.f64 (pow.f64 y 3) x)))))
(*.f64 y x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/4 (/.f64 x y)) (*.f64 y x)))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/4 (/.f64 x y)) (+.f64 (*.f64 y x) (*.f64 1/8 (/.f64 x (pow.f64 y 2))))))
(*.f64 y x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/4 (/.f64 x y)) (*.f64 y x)))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/4 (/.f64 x y)) (+.f64 (*.f64 y x) (*.f64 1/8 (/.f64 x (pow.f64 y 2))))))
(+.f64 0 (*.f64 x (*.f64 y y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 y y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 y y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 y y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 y y)))))
(-.f64 0 (*.f64 x (*.f64 y y)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (*.f64 y y)))) 1)
(pow.f64 (*.f64 x (*.f64 y y)) 1)
(pow.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 6) 1/3)
(pow.f64 (cbrt.f64 (*.f64 x (*.f64 y y))) 3)
(pow.f64 (*.f64 y (sqrt.f64 x)) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 x (*.f64 y y))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (*.f64 y y)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (*.f64 y y)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (*.f64 y y))))) (sqrt.f64 (log.f64 (*.f64 x (*.f64 y y)))))
(neg.f64 (*.f64 x (*.f64 y y)))
(sqrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4))
(log.f64 (pow.f64 (exp.f64 x) (*.f64 y y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 y y)))))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 y y))))))
(cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 6))
(expm1.f64 (log1p.f64 (*.f64 x (*.f64 y y))))
(log1p.f64 (expm1.f64 (*.f64 x (*.f64 y y))))
(exp.f64 (log.f64 (*.f64 x (*.f64 y y))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y y))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (*.f64 y y)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 y (sqrt.f64 x))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y y))) 1) 1))
(+.f64 0 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))) 1)
(*.f64 x (/.f64 1 (*.f64 (+.f64 y 1/2) (pow.f64 y -2))))
(*.f64 x (*.f64 (*.f64 y y) (/.f64 1 (+.f64 y 1/2))))
(*.f64 (*.f64 y y) (*.f64 x (/.f64 1 (+.f64 y 1/2))))
(*.f64 (*.f64 x (*.f64 y y)) (/.f64 1 (+.f64 y 1/2)))
(*.f64 (*.f64 x (*.f64 y y)) (/.f64 1 (+.f64 -1/2 y)))
(*.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)) 1)
(*.f64 1 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))
(*.f64 (cbrt.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))) (cbrt.f64 (pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) -2)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) -2)) (cbrt.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (*.f64 (cbrt.f64 (*.f64 x (*.f64 y y))) (/.f64 1 (+.f64 y 1/2))))
(*.f64 (/.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 (+.f64 -1/2 y))) (/.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 (+.f64 -1/2 y))))
(*.f64 (*.f64 y (sqrt.f64 x)) (*.f64 (*.f64 y (sqrt.f64 x)) (/.f64 1 (+.f64 y 1/2))))
(*.f64 (/.f64 1 (+.f64 y 1/2)) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 x y) (*.f64 y (/.f64 1 (+.f64 y 1/2))))
(*.f64 (/.f64 x 1) (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 (/.f64 (*.f64 y y) 1) (/.f64 x (+.f64 y 1/2)))
(*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) 1) (/.f64 (cbrt.f64 (*.f64 x (*.f64 y y))) (+.f64 y 1/2)))
(*.f64 (/.f64 (*.f64 y (sqrt.f64 x)) 1) (/.f64 (*.f64 y (sqrt.f64 x)) (+.f64 y 1/2)))
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 y (+.f64 y 1/2)))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 (*.f64 y y) (cbrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 (*.f64 y y) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 x (cbrt.f64 (+.f64 y 1/2))))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y 1/2)) -2) (/.f64 (*.f64 x (*.f64 y y)) (cbrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (cbrt.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))
(*.f64 (/.f64 (*.f64 y (sqrt.f64 x)) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 (*.f64 y (sqrt.f64 x)) (cbrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 (*.f64 x y) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 y (cbrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 x (sqrt.f64 (+.f64 y 1/2))) (/.f64 (*.f64 y y) (sqrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 (*.f64 y y) (sqrt.f64 (+.f64 y 1/2))) (/.f64 x (sqrt.f64 (+.f64 y 1/2))))
(*.f64 (pow.f64 (+.f64 y 1/2) -1/2) (/.f64 (*.f64 x (*.f64 y y)) (sqrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (sqrt.f64 (+.f64 y 1/2))) (/.f64 (cbrt.f64 (*.f64 x (*.f64 y y))) (sqrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 (*.f64 x y) (sqrt.f64 (+.f64 y 1/2))) (/.f64 y (sqrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 (*.f64 x (*.f64 y y)) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 y (+.f64 y 1/2) 1/4))
(*.f64 (/.f64 (*.f64 x (*.f64 y y)) (+.f64 1/4 (*.f64 y y))) (+.f64 y 1/2))
(pow.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)) 1)
(pow.f64 (pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) -2) 1/2)
(pow.f64 (pow.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))) 3)
(pow.f64 (/.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 (+.f64 -1/2 y))) 2)
(pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) -1)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))
(pow.f64 (/.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 6) (pow.f64 (+.f64 y 1/2) 3)) 1/3)
(pow.f64 (/.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))))
(neg.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))
(sqrt.f64 (pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) -2))
(log.f64 (exp.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 6) (pow.f64 (+.f64 y 1/2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))
(exp.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))) 3))
(exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 (+.f64 -1/2 y)))) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y)) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))) 1) 1))
(exp.f64 (-.f64 (*.f64 (log.f64 x) 1) (log.f64 (*.f64 (+.f64 y 1/2) (pow.f64 y -2)))))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y y))) 1) (log.f64 (+.f64 y 1/2))))
(exp.f64 (-.f64 (log.f64 (*.f64 x (*.f64 y y))) (*.f64 (log.f64 (+.f64 y 1/2)) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y y))) 1) (*.f64 (log.f64 (+.f64 y 1/2)) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y y))) 1) (log.f64 (+.f64 -1/2 y))))
Outputs
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(/.f64 (*.f64 (neg.f64 x) (*.f64 y y)) (-.f64 1/2 y))
(/.f64 (*.f64 (*.f64 y x) (neg.f64 y)) (-.f64 1/2 y))
(/.f64 (*.f64 y (*.f64 y (neg.f64 x))) (-.f64 1/2 y))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(/.f64 (*.f64 (neg.f64 x) (*.f64 y y)) (-.f64 1/2 y))
(/.f64 (*.f64 (*.f64 y x) (neg.f64 y)) (-.f64 1/2 y))
(/.f64 (*.f64 y (*.f64 y (neg.f64 x))) (-.f64 1/2 y))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(/.f64 (*.f64 (neg.f64 x) (*.f64 y y)) (-.f64 1/2 y))
(/.f64 (*.f64 (*.f64 y x) (neg.f64 y)) (-.f64 1/2 y))
(/.f64 (*.f64 y (*.f64 y (neg.f64 x))) (-.f64 1/2 y))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(/.f64 (*.f64 (neg.f64 x) (*.f64 y y)) (-.f64 1/2 y))
(/.f64 (*.f64 (*.f64 y x) (neg.f64 y)) (-.f64 1/2 y))
(/.f64 (*.f64 y (*.f64 y (neg.f64 x))) (-.f64 1/2 y))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(/.f64 (*.f64 (neg.f64 x) (*.f64 y y)) (-.f64 1/2 y))
(/.f64 (*.f64 (*.f64 y x) (neg.f64 y)) (-.f64 1/2 y))
(/.f64 (*.f64 y (*.f64 y (neg.f64 x))) (-.f64 1/2 y))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(/.f64 (*.f64 (neg.f64 x) (*.f64 y y)) (-.f64 1/2 y))
(/.f64 (*.f64 (*.f64 y x) (neg.f64 y)) (-.f64 1/2 y))
(/.f64 (*.f64 y (*.f64 y (neg.f64 x))) (-.f64 1/2 y))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(/.f64 (*.f64 (neg.f64 x) (*.f64 y y)) (-.f64 1/2 y))
(/.f64 (*.f64 (*.f64 y x) (neg.f64 y)) (-.f64 1/2 y))
(/.f64 (*.f64 y (*.f64 y (neg.f64 x))) (-.f64 1/2 y))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(/.f64 (*.f64 (neg.f64 x) (*.f64 y y)) (-.f64 1/2 y))
(/.f64 (*.f64 (*.f64 y x) (neg.f64 y)) (-.f64 1/2 y))
(/.f64 (*.f64 y (*.f64 y (neg.f64 x))) (-.f64 1/2 y))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(/.f64 (*.f64 (neg.f64 x) (*.f64 y y)) (-.f64 1/2 y))
(/.f64 (*.f64 (*.f64 y x) (neg.f64 y)) (-.f64 1/2 y))
(/.f64 (*.f64 y (*.f64 y (neg.f64 x))) (-.f64 1/2 y))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(/.f64 (*.f64 (neg.f64 x) (*.f64 y y)) (-.f64 1/2 y))
(/.f64 (*.f64 (*.f64 y x) (neg.f64 y)) (-.f64 1/2 y))
(/.f64 (*.f64 y (*.f64 y (neg.f64 x))) (-.f64 1/2 y))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(/.f64 (*.f64 (neg.f64 x) (*.f64 y y)) (-.f64 1/2 y))
(/.f64 (*.f64 (*.f64 y x) (neg.f64 y)) (-.f64 1/2 y))
(/.f64 (*.f64 y (*.f64 y (neg.f64 x))) (-.f64 1/2 y))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) x) (-.f64 1/2 y)))
(/.f64 (*.f64 (neg.f64 x) (*.f64 y y)) (-.f64 1/2 y))
(/.f64 (*.f64 (*.f64 y x) (neg.f64 y)) (-.f64 1/2 y))
(/.f64 (*.f64 y (*.f64 y (neg.f64 x))) (-.f64 1/2 y))
(*.f64 -2 (*.f64 (pow.f64 y 2) x))
(*.f64 -2 (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x -2))
(+.f64 (*.f64 -2 (*.f64 (pow.f64 y 2) x)) (*.f64 -4 (*.f64 (pow.f64 y 3) x)))
(fma.f64 -2 (*.f64 x (*.f64 y y)) (*.f64 -4 (*.f64 x (pow.f64 y 3))))
(*.f64 x (+.f64 (*.f64 -2 (*.f64 y y)) (*.f64 -4 (pow.f64 y 3))))
(*.f64 x (*.f64 (*.f64 y y) (+.f64 -2 (*.f64 -4 y))))
(+.f64 (*.f64 -8 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -2 (*.f64 (pow.f64 y 2) x)) (*.f64 -4 (*.f64 (pow.f64 y 3) x))))
(fma.f64 -8 (*.f64 x (pow.f64 y 4)) (fma.f64 -2 (*.f64 x (*.f64 y y)) (*.f64 -4 (*.f64 x (pow.f64 y 3)))))
(fma.f64 -8 (*.f64 x (pow.f64 y 4)) (*.f64 x (+.f64 (*.f64 -2 (*.f64 y y)) (*.f64 -4 (pow.f64 y 3)))))
(*.f64 x (+.f64 (*.f64 (*.f64 y y) (+.f64 -2 (*.f64 -4 y))) (*.f64 -8 (pow.f64 y 4))))
(+.f64 (*.f64 -16 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 -8 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -2 (*.f64 (pow.f64 y 2) x)) (*.f64 -4 (*.f64 (pow.f64 y 3) x)))))
(fma.f64 -16 (*.f64 x (pow.f64 y 5)) (fma.f64 -8 (*.f64 x (pow.f64 y 4)) (fma.f64 -2 (*.f64 x (*.f64 y y)) (*.f64 -4 (*.f64 x (pow.f64 y 3))))))
(fma.f64 -16 (*.f64 x (pow.f64 y 5)) (fma.f64 -8 (*.f64 x (pow.f64 y 4)) (*.f64 x (+.f64 (*.f64 -2 (*.f64 y y)) (*.f64 -4 (pow.f64 y 3))))))
(*.f64 x (+.f64 (*.f64 (*.f64 y y) (+.f64 -2 (*.f64 -4 y))) (fma.f64 -16 (pow.f64 y 5) (*.f64 -8 (pow.f64 y 4)))))
(*.f64 y x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 y 1/2))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/4 (/.f64 x y)) (*.f64 y x)))
(fma.f64 1/2 x (fma.f64 1/4 (/.f64 x y) (*.f64 y x)))
(fma.f64 x 1/2 (fma.f64 y x (*.f64 1/4 (/.f64 x y))))
(fma.f64 x (+.f64 y 1/2) (*.f64 x (/.f64 1/4 y)))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/4 (/.f64 x y)) (+.f64 (*.f64 y x) (*.f64 1/8 (/.f64 x (pow.f64 y 2))))))
(fma.f64 1/2 x (fma.f64 1/4 (/.f64 x y) (fma.f64 y x (*.f64 1/8 (/.f64 x (*.f64 y y))))))
(fma.f64 x 1/2 (fma.f64 1/4 (/.f64 x y) (fma.f64 y x (*.f64 1/8 (/.f64 x (*.f64 y y))))))
(fma.f64 x 1/2 (fma.f64 y x (*.f64 (/.f64 x y) (+.f64 1/4 (/.f64 1/8 y)))))
(*.f64 y x)
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(*.f64 x (+.f64 y 1/2))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/4 (/.f64 x y)) (*.f64 y x)))
(fma.f64 1/2 x (fma.f64 1/4 (/.f64 x y) (*.f64 y x)))
(fma.f64 x 1/2 (fma.f64 y x (*.f64 1/4 (/.f64 x y))))
(fma.f64 x (+.f64 y 1/2) (*.f64 x (/.f64 1/4 y)))
(+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/4 (/.f64 x y)) (+.f64 (*.f64 y x) (*.f64 1/8 (/.f64 x (pow.f64 y 2))))))
(fma.f64 1/2 x (fma.f64 1/4 (/.f64 x y) (fma.f64 y x (*.f64 1/8 (/.f64 x (*.f64 y y))))))
(fma.f64 x 1/2 (fma.f64 1/4 (/.f64 x y) (fma.f64 y x (*.f64 1/8 (/.f64 x (*.f64 y y))))))
(fma.f64 x 1/2 (fma.f64 y x (*.f64 (/.f64 x y) (+.f64 1/4 (/.f64 1/8 y)))))
(+.f64 0 (*.f64 x (*.f64 y y)))
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 y y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 y y)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 y y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 y y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 y y)))))
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(-.f64 0 (*.f64 x (*.f64 y y)))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (*.f64 y y)))) 1)
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(pow.f64 (*.f64 x (*.f64 y y)) 1)
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(pow.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4) 1/2)
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(pow.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 6) 1/3)
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(pow.f64 (cbrt.f64 (*.f64 x (*.f64 y y))) 3)
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(pow.f64 (*.f64 y (sqrt.f64 x)) 2)
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (*.f64 y y)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (*.f64 y y)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 y (*.f64 y x)))) 2)) (cbrt.f64 (log.f64 (*.f64 y (*.f64 y x)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 2 (log.f64 y) (log.f64 x))) 2)) (cbrt.f64 (fma.f64 2 (log.f64 y) (log.f64 x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (*.f64 y y))))) (sqrt.f64 (log.f64 (*.f64 x (*.f64 y y)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 y (*.f64 y x))))) (sqrt.f64 (log.f64 (*.f64 y (*.f64 y x)))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 2 (log.f64 y) (log.f64 x)))) (sqrt.f64 (fma.f64 2 (log.f64 y) (log.f64 x))))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(sqrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4))
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(log.f64 (pow.f64 (exp.f64 x) (*.f64 y y)))
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 y y)))))
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 y y))))))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 x)))
(cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 6))
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(expm1.f64 (log1p.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(log1p.f64 (expm1.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(exp.f64 (log.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(exp.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y y))) 1))
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 6)) 1/3))
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (*.f64 y y)))) 3))
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(exp.f64 (*.f64 (log.f64 (*.f64 y (sqrt.f64 x))) 2))
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y y))) 1) 1))
(*.f64 x (*.f64 y y))
(*.f64 y (*.f64 y x))
(+.f64 0 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 y (/.f64 y (+.f64 y 1/2)))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (/.f64 y (/.f64 (+.f64 y 1/2) y))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 y (/.f64 y (+.f64 y 1/2)))))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (/.f64 y (/.f64 (+.f64 y 1/2) y))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))) 1)
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(*.f64 x (/.f64 1 (*.f64 (+.f64 y 1/2) (pow.f64 y -2))))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(*.f64 x (*.f64 (*.f64 y y) (/.f64 1 (+.f64 y 1/2))))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(*.f64 (*.f64 y y) (*.f64 x (/.f64 1 (+.f64 y 1/2))))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(*.f64 (*.f64 x (*.f64 y y)) (/.f64 1 (+.f64 y 1/2)))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(*.f64 (*.f64 x (*.f64 y y)) (/.f64 1 (+.f64 -1/2 y)))
(*.f64 (*.f64 x (*.f64 y y)) (/.f64 1 (+.f64 y -1/2)))
(/.f64 x (/.f64 (+.f64 y -1/2) (*.f64 y y)))
(*.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)) 1)
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(*.f64 1 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(*.f64 (cbrt.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))) (cbrt.f64 (pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) -2)))
(*.f64 (cbrt.f64 (*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))) (cbrt.f64 (pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 y x)) y) -2)))
(*.f64 (cbrt.f64 (*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))) (cbrt.f64 (pow.f64 (*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2)))) 2)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) -2)) (cbrt.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))
(*.f64 (cbrt.f64 (*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))) (cbrt.f64 (pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 y x)) y) -2)))
(*.f64 (cbrt.f64 (*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))) (cbrt.f64 (pow.f64 (*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2)))) 2)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (*.f64 (cbrt.f64 (*.f64 x (*.f64 y y))) (/.f64 1 (+.f64 y 1/2))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (/.f64 (cbrt.f64 (*.f64 y (*.f64 y x))) (+.f64 y 1/2)))
(*.f64 (/.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 (+.f64 -1/2 y))) (/.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 (+.f64 -1/2 y))))
(pow.f64 (/.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 (+.f64 y -1/2))) 2)
(pow.f64 (*.f64 (/.f64 y (sqrt.f64 (+.f64 y -1/2))) (sqrt.f64 x)) 2)
(*.f64 (*.f64 y (sqrt.f64 x)) (*.f64 (*.f64 y (sqrt.f64 x)) (/.f64 1 (+.f64 y 1/2))))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(*.f64 (/.f64 1 (+.f64 y 1/2)) (*.f64 x (*.f64 y y)))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(*.f64 (*.f64 x y) (*.f64 y (/.f64 1 (+.f64 y 1/2))))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(*.f64 (/.f64 x 1) (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(*.f64 (/.f64 (*.f64 y y) 1) (/.f64 x (+.f64 y 1/2)))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) 1) (/.f64 (cbrt.f64 (*.f64 x (*.f64 y y))) (+.f64 y 1/2)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (*.f64 (cbrt.f64 (*.f64 x (*.f64 y y))) (/.f64 1 (+.f64 y 1/2))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (/.f64 (cbrt.f64 (*.f64 y (*.f64 y x))) (+.f64 y 1/2)))
(*.f64 (/.f64 (*.f64 y (sqrt.f64 x)) 1) (/.f64 (*.f64 y (sqrt.f64 x)) (+.f64 y 1/2)))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 y (+.f64 y 1/2)))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 (*.f64 y y) (cbrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 y (/.f64 (cbrt.f64 (+.f64 y 1/2)) y)))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (*.f64 (/.f64 y (cbrt.f64 (+.f64 y 1/2))) y))
(*.f64 (/.f64 (*.f64 y y) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 x (cbrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 y (/.f64 (cbrt.f64 (+.f64 y 1/2)) y)))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (*.f64 (/.f64 y (cbrt.f64 (+.f64 y 1/2))) y))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y 1/2)) -2) (/.f64 (*.f64 x (*.f64 y y)) (cbrt.f64 (+.f64 y 1/2))))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y 1/2)) -2) (/.f64 x (/.f64 (cbrt.f64 (+.f64 y 1/2)) (*.f64 y y))))
(/.f64 (*.f64 (*.f64 y (*.f64 y x)) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) -2)) (cbrt.f64 (+.f64 y 1/2)))
(/.f64 (pow.f64 (cbrt.f64 (+.f64 y 1/2)) -2) (/.f64 (cbrt.f64 (+.f64 y 1/2)) (*.f64 y (*.f64 y x))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (cbrt.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))
(*.f64 (cbrt.f64 (*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))) (/.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)))
(*.f64 (cbrt.f64 (*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))) (/.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)))
(/.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))) (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4))) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2))
(*.f64 (/.f64 (*.f64 y (sqrt.f64 x)) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 (*.f64 y (sqrt.f64 x)) (cbrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 y (/.f64 (cbrt.f64 (+.f64 y 1/2)) y)))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (*.f64 (/.f64 y (cbrt.f64 (+.f64 y 1/2))) y))
(*.f64 (/.f64 (*.f64 x y) (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 y (cbrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (/.f64 y (/.f64 (cbrt.f64 (+.f64 y 1/2)) y)))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 (+.f64 y 1/2)) 2)) (*.f64 (/.f64 y (cbrt.f64 (+.f64 y 1/2))) y))
(*.f64 (/.f64 x (sqrt.f64 (+.f64 y 1/2))) (/.f64 (*.f64 y y) (sqrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 x (sqrt.f64 (+.f64 y 1/2))) (/.f64 y (/.f64 (sqrt.f64 (+.f64 y 1/2)) y)))
(*.f64 (/.f64 (*.f64 y y) (sqrt.f64 (+.f64 y 1/2))) (/.f64 x (sqrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 x (sqrt.f64 (+.f64 y 1/2))) (/.f64 (*.f64 y y) (sqrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 x (sqrt.f64 (+.f64 y 1/2))) (/.f64 y (/.f64 (sqrt.f64 (+.f64 y 1/2)) y)))
(*.f64 (pow.f64 (+.f64 y 1/2) -1/2) (/.f64 (*.f64 x (*.f64 y y)) (sqrt.f64 (+.f64 y 1/2))))
(*.f64 (pow.f64 (+.f64 y 1/2) -1/2) (/.f64 x (/.f64 (sqrt.f64 (+.f64 y 1/2)) (*.f64 y y))))
(*.f64 (pow.f64 (+.f64 y 1/2) -1/2) (*.f64 y (*.f64 (/.f64 x (sqrt.f64 (+.f64 y 1/2))) y)))
(/.f64 (pow.f64 (+.f64 y 1/2) -1/2) (/.f64 (sqrt.f64 (+.f64 y 1/2)) (*.f64 y (*.f64 y x))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (sqrt.f64 (+.f64 y 1/2))) (/.f64 (cbrt.f64 (*.f64 x (*.f64 y y))) (sqrt.f64 (+.f64 y 1/2))))
(/.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (/.f64 (sqrt.f64 (+.f64 y 1/2)) (/.f64 (cbrt.f64 (*.f64 y (*.f64 y x))) (sqrt.f64 (+.f64 y 1/2)))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 4)) (sqrt.f64 (+.f64 y 1/2))) (/.f64 (cbrt.f64 (*.f64 y (*.f64 y x))) (sqrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 (*.f64 x y) (sqrt.f64 (+.f64 y 1/2))) (/.f64 y (sqrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 x (sqrt.f64 (+.f64 y 1/2))) (/.f64 (*.f64 y y) (sqrt.f64 (+.f64 y 1/2))))
(*.f64 (/.f64 x (sqrt.f64 (+.f64 y 1/2))) (/.f64 y (/.f64 (sqrt.f64 (+.f64 y 1/2)) y)))
(*.f64 (/.f64 (*.f64 x (*.f64 y y)) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 y (+.f64 y 1/2) 1/4))
(*.f64 (/.f64 (*.f64 x (*.f64 y y)) (+.f64 (pow.f64 y 3) 1/8)) (fma.f64 y (+.f64 y 1/2) 1/4))
(*.f64 (*.f64 (/.f64 x (+.f64 (pow.f64 y 3) 1/8)) (*.f64 y y)) (fma.f64 y (+.f64 y 1/2) 1/4))
(*.f64 (/.f64 (*.f64 x (*.f64 y y)) (+.f64 1/4 (*.f64 y y))) (+.f64 y 1/2))
(*.f64 (+.f64 y 1/2) (/.f64 (*.f64 x (*.f64 y y)) (+.f64 1/4 (*.f64 y y))))
(*.f64 (+.f64 y 1/2) (/.f64 x (/.f64 (fma.f64 y y 1/4) (*.f64 y y))))
(pow.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)) 1)
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(pow.f64 (pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) -2) 1/2)
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(pow.f64 (pow.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)) 3) 1/3)
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))) 3)
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(pow.f64 (/.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 (+.f64 -1/2 y))) 2)
(pow.f64 (/.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 (+.f64 y -1/2))) 2)
(pow.f64 (*.f64 (/.f64 y (sqrt.f64 (+.f64 y -1/2))) (sqrt.f64 x)) 2)
(pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) -1)
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(pow.f64 (/.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 6) (pow.f64 (+.f64 y 1/2) 3)) 1/3)
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(pow.f64 (/.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) 1) -1)
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2))))) 2)) (cbrt.f64 (log.f64 (*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2)))))) 2)) (cbrt.f64 (log.f64 (*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2)))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x)))) 2)) (cbrt.f64 (log.f64 (/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))))) (sqrt.f64 (log.f64 (*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))))) (sqrt.f64 (log.f64 (*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2)))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))))) (sqrt.f64 (log.f64 (/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x)))))
(neg.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))
(neg.f64 (*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2))))
(*.f64 x (neg.f64 (*.f64 y (/.f64 y (+.f64 y 1/2)))))
(*.f64 y (*.f64 (/.f64 (neg.f64 y) (+.f64 y 1/2)) x))
(sqrt.f64 (pow.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y) -2))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(log.f64 (exp.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))))
(neg.f64 (*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2))))
(*.f64 x (neg.f64 (*.f64 y (/.f64 y (+.f64 y 1/2)))))
(*.f64 y (*.f64 (/.f64 (neg.f64 y) (+.f64 y 1/2)) x))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)) 3))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 y (sqrt.f64 x)) 6) (pow.f64 (+.f64 y 1/2) 3)))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(exp.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))) 1))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))) 1/3))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y)))) 3))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 (+.f64 -1/2 y)))) 2))
(pow.f64 (/.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 (+.f64 y -1/2))) 2)
(pow.f64 (*.f64 (/.f64 y (sqrt.f64 (+.f64 y -1/2))) (sqrt.f64 x)) 2)
(exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 (+.f64 y 1/2) (*.f64 x y)) y)) -1))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 x (+.f64 y 1/2)) (*.f64 y y))) 1) 1))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(exp.f64 (-.f64 (*.f64 (log.f64 x) 1) (log.f64 (*.f64 (+.f64 y 1/2) (pow.f64 y -2)))))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y y))) 1) (log.f64 (+.f64 y 1/2))))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(exp.f64 (-.f64 (log.f64 (*.f64 x (*.f64 y y))) (*.f64 (log.f64 (+.f64 y 1/2)) 1)))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y y))) 1) (*.f64 (log.f64 (+.f64 y 1/2)) 1)))
(*.f64 x (/.f64 (*.f64 y y) (+.f64 y 1/2)))
(*.f64 y (*.f64 y (/.f64 x (+.f64 y 1/2))))
(/.f64 (*.f64 y y) (/.f64 (+.f64 y 1/2) x))
(exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y y))) 1) (log.f64 (+.f64 -1/2 y))))
(*.f64 (*.f64 x (*.f64 y y)) (/.f64 1 (+.f64 y -1/2)))
(/.f64 x (/.f64 (+.f64 y -1/2) (*.f64 y y)))

eval63.0ms (1.8%)

Compiler

Compiled 2747 to 1534 computations (44.2% saved)

prune32.0ms (0.9%)

Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New1801181
Fresh011
Picked101
Done066
Total1818189
Error
0b
Counts
189 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
54.7b
(/.f64 x (/.f64 (+.f64 y -1/2) (*.f64 y y)))
29.6b
(+.f64 (*.f64 y x) (*.f64 1/2 x))
14.7b
(+.f64 (*.f64 1/2 x) z)
18.8b
(+.f64 z (*.f64 y x))
29.5b
(*.f64 (+.f64 1/2 y) x)
48.1b
(*.f64 y x)
43.9b
(*.f64 1/2 x)
33.1b
z
Compiler

Compiled 62 to 44 computations (29% saved)

regimes76.0ms (2.1%)

Counts
15 → 1
Calls
Call 1
Inputs
z
(*.f64 1/2 x)
(*.f64 y x)
(*.f64 (+.f64 1/2 y) x)
(+.f64 z (*.f64 y x))
(+.f64 (*.f64 1/2 x) z)
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/2 x))
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
(/.f64 x (/.f64 (+.f64 y -1/2) (*.f64 y y)))
(/.f64 (*.f64 x (*.f64 y (neg.f64 y))) (-.f64 1/2 y))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/2 y))
(fma.f64 y x (+.f64 z (*.f64 x 1/2)))
Outputs
(fma.f64 y x (+.f64 z (*.f64 x 1/2)))
Calls

5 calls:

32.0ms
y
18.0ms
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
8.0ms
(+.f64 (/.f64 x 2) (*.f64 y x))
7.0ms
x
7.0ms
z
Results
ErrorSegmentsBranch
0b1x
0b1y
0b1z
0b1(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
0b1(+.f64 (/.f64 x 2) (*.f64 y x))
Compiler

Compiled 136 to 77 computations (43.4% saved)

regimes59.0ms (1.7%)

Counts
14 → 1
Calls
Call 1
Inputs
z
(*.f64 1/2 x)
(*.f64 y x)
(*.f64 (+.f64 1/2 y) x)
(+.f64 z (*.f64 y x))
(+.f64 (*.f64 1/2 x) z)
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(+.f64 (*.f64 1/2 x) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/2 x))
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
(/.f64 x (/.f64 (+.f64 y -1/2) (*.f64 y y)))
(/.f64 (*.f64 x (*.f64 y (neg.f64 y))) (-.f64 1/2 y))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 y y)) x) (-.f64 1/2 y))
Outputs
(+.f64 z (*.f64 (+.f64 1/2 y) x))
Calls

5 calls:

24.0ms
y
9.0ms
(+.f64 (/.f64 x 2) (*.f64 y x))
8.0ms
x
7.0ms
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
7.0ms
z
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
0.0b1(+.f64 (/.f64 x 2) (*.f64 y x))
Compiler

Compiled 128 to 73 computations (43% saved)

regimes67.0ms (1.9%)

Counts
6 → 3
Calls
Call 1
Inputs
z
(*.f64 1/2 x)
(*.f64 y x)
(*.f64 (+.f64 1/2 y) x)
(+.f64 z (*.f64 y x))
(+.f64 (*.f64 1/2 x) z)
Outputs
(+.f64 z (*.f64 y x))
(+.f64 (*.f64 1/2 x) z)
(+.f64 z (*.f64 y x))
Calls

3 calls:

31.0ms
z
21.0ms
x
13.0ms
y
Results
ErrorSegmentsBranch
7.3b4x
0.6b3y
7.6b3z
Compiler

Compiled 37 to 22 computations (40.5% saved)

bsearch37.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
1.3734140019790188e-8
74.01675780735933
20.0ms
-10.940395968898612
-1.5467578346857258e-6
Results
28.0ms304×body256valid
Compiler

Compiled 360 to 260 computations (27.8% saved)

regimes107.0ms (3%)

Counts
5 → 5
Calls
Call 1
Inputs
z
(*.f64 1/2 x)
(*.f64 y x)
(*.f64 (+.f64 1/2 y) x)
(+.f64 z (*.f64 y x))
Outputs
(*.f64 (+.f64 1/2 y) x)
(+.f64 z (*.f64 y x))
(*.f64 (+.f64 1/2 y) x)
(+.f64 z (*.f64 y x))
(*.f64 (+.f64 1/2 y) x)
Calls

3 calls:

41.0ms
z
34.0ms
y
31.0ms
x
Results
ErrorSegmentsBranch
7.4b5x
12.3b9y
9.2b5z
Compiler

Compiled 32 to 19 computations (40.6% saved)

bsearch58.0ms (1.6%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
1204042696225949.3
4.421542593764759e+21
15.0ms
-8.753396145646443e+33
-3.0453268677978414e+30
15.0ms
-1.0766946935530661e+89
-1.6923401830333352e+86
10.0ms
-2.0994300182352624e+160
-5.492377432276334e+159
Results
47.0ms480×body256valid
4.0ms36×body256infinite
Compiler

Compiled 558 to 403 computations (27.8% saved)

regimes126.0ms (3.6%)

Counts
4 → 3
Calls
Call 1
Inputs
z
(*.f64 1/2 x)
(*.f64 y x)
(*.f64 (+.f64 1/2 y) x)
Outputs
z
(*.f64 (+.f64 1/2 y) x)
z
Calls

3 calls:

76.0ms
y
39.0ms
z
10.0ms
x
Results
ErrorSegmentsBranch
15.6b3x
21.6b11y
12.0b3z
Compiler

Compiled 27 to 18 computations (33.3% saved)

bsearch61.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
2.1065440131632523e+58
3.70481000680938e+61
46.0ms
-8.661138346616258e+38
-2.242506506159371e+32
Results
57.0ms272×body256valid
Compiler

Compiled 256 to 200 computations (21.9% saved)

regimes119.0ms (3.4%)

Counts
3 → 8
Calls
Call 1
Inputs
z
(*.f64 1/2 x)
(*.f64 y x)
Outputs
z
(*.f64 y x)
(*.f64 1/2 x)
(*.f64 y x)
(*.f64 1/2 x)
(*.f64 y x)
(*.f64 1/2 x)
z
Calls

3 calls:

55.0ms
y
45.0ms
z
18.0ms
x
Results
ErrorSegmentsBranch
22.1b5x
20.7b13y
20.6b8z
Compiler

Compiled 22 to 15 computations (31.8% saved)

bsearch113.0ms (3.2%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
2.1065440131632523e+58
3.70481000680938e+61
22.0ms
1.8715510302389306e-60
1.074351890796252e-59
15.0ms
4.5613967830235215e-122
6.473434239426864e-116
32.0ms
-5.107216625290699e-238
-2.9438246806971444e-241
14.0ms
-2.965808519290724e-200
-8.596302455797883e-204
8.0ms
-2.471887939162076e-136
-2.1632636045653282e-136
8.0ms
-1.0328857909207837e+27
-3.69471643291406e+26
Results
99.0ms734×body256valid
0.0msbody1024valid
0.0msbody512valid
Compiler

Compiled 636 to 501 computations (21.2% saved)

regimes88.0ms (2.5%)

Accuracy

Total -39.8b remaining (-180.4%)

Threshold costs -39.8b (-180.4%)

Counts
2 → 5
Calls
Call 1
Inputs
z
(*.f64 1/2 x)
Outputs
(*.f64 1/2 x)
z
(*.f64 1/2 x)
z
(*.f64 1/2 x)
Calls

3 calls:

38.0ms
y
28.0ms
x
21.0ms
z
Results
ErrorSegmentsBranch
22.1b5x
26.6b9y
23.5b5z
Compiler

Compiled 19 to 14 computations (26.3% saved)

bsearch91.0ms (2.6%)

Algorithm
binary-search
Steps
TimeLeftRight
34.0ms
1204042696225949.3
4.421542593764759e+21
14.0ms
-5.686582633064222e+22
-6953564181793473000.0
34.0ms
-1.0766946935530661e+89
-1.6923401830333352e+86
10.0ms
-2.0994300182352624e+160
-5.492377432276334e+159
Results
81.0ms480×body256valid
4.0ms41×body256infinite
Compiler

Compiled 378 to 313 computations (17.2% saved)

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
070241
177241
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 y x (+.f64 z (*.f64 x 1/2)))
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(if (<=.f64 y -1/2) (+.f64 z (*.f64 y x)) (if (<=.f64 y 1/2) (+.f64 (*.f64 1/2 x) z) (+.f64 z (*.f64 y x))))
(if (<=.f64 x -5499999999999999801775101324175828709031360947399973984002003800163445163374227656477805219011455360676030628841048844869542730601202224537303325811119656796160) (*.f64 (+.f64 1/2 y) x) (if (<=.f64 x -57000000000000002103870955957931499653287528967258021629884865748029518912219905485963264) (+.f64 z (*.f64 y x)) (if (<=.f64 x -3100000000000000004221441750859776) (*.f64 (+.f64 1/2 y) x) (if (<=.f64 x 4300000000000000000000) (+.f64 z (*.f64 y x)) (*.f64 (+.f64 1/2 y) x)))))
(if (<=.f64 z -23999999999999999837503676259019784192) z (if (<=.f64 z 184999999999999998664888301429717821341132905190891005673472) (*.f64 (+.f64 1/2 y) x) z))
(if (<=.f64 z -380000000000000021541945344) z (if (<=.f64 z -6023038718528901/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 y x) (if (<=.f64 z -6354031407093489/353001744838527187118638605275578482918919238981447190585425241357836728795149812488234240124403749621362233187285499572265412108234798868453319136060868263303849511435339515071579009061587940965469669934854316295716864) (*.f64 1/2 x) (if (<=.f64 z -769813737328607/7331559403129590068331208687020758653624765228075687047537011123791632385370343464792392772051104864109916034360063928339045596353810784435313926666640532382851295822842678298180301122938618566718730242107326783353838221723324821405531849499257419595776) (*.f64 y x) (if (<=.f64 z 6814113040271315/11356855067118857664833184498250070849275646260739344691898284362197488876771842551971735167402555711886914400097909030211478150447104) (*.f64 1/2 x) (if (<=.f64 z 3618502788666131/1809251394333065553493296640760748560207343510400633813116524750123642650624) (*.f64 y x) (if (<=.f64 z 21499999999999999558545019644479476744254197643590800244736) (*.f64 1/2 x) z)))))))
(if (<=.f64 x -5499999999999999801775101324175828709031360947399973984002003800163445163374227656477805219011455360676030628841048844869542730601202224537303325811119656796160) (*.f64 1/2 x) (if (<=.f64 x -88000000000000003496060011272369238704485658860737790000872620365465777706108794615889920) z (if (<=.f64 x -3400000000000000000000) (*.f64 1/2 x) (if (<=.f64 x 340000000000000000) z (*.f64 1/2 x)))))
z
Outputs
(fma.f64 y x (+.f64 z (*.f64 x 1/2)))
(+.f64 z (*.f64 (+.f64 1/2 y) x))
(+.f64 z (*.f64 x (+.f64 y 1/2)))
(if (<=.f64 y -1/2) (+.f64 z (*.f64 y x)) (if (<=.f64 y 1/2) (+.f64 (*.f64 1/2 x) z) (+.f64 z (*.f64 y x))))
(if (<=.f64 y -1/2) (+.f64 z (*.f64 y x)) (if (<=.f64 y 1/2) (+.f64 z (*.f64 x 1/2)) (+.f64 z (*.f64 y x))))
(if (<=.f64 x -5499999999999999801775101324175828709031360947399973984002003800163445163374227656477805219011455360676030628841048844869542730601202224537303325811119656796160) (*.f64 (+.f64 1/2 y) x) (if (<=.f64 x -57000000000000002103870955957931499653287528967258021629884865748029518912219905485963264) (+.f64 z (*.f64 y x)) (if (<=.f64 x -3100000000000000004221441750859776) (*.f64 (+.f64 1/2 y) x) (if (<=.f64 x 4300000000000000000000) (+.f64 z (*.f64 y x)) (*.f64 (+.f64 1/2 y) x)))))
(if (<=.f64 x -5499999999999999801775101324175828709031360947399973984002003800163445163374227656477805219011455360676030628841048844869542730601202224537303325811119656796160) (*.f64 x (+.f64 y 1/2)) (if (<=.f64 x -57000000000000002103870955957931499653287528967258021629884865748029518912219905485963264) (+.f64 z (*.f64 y x)) (if (<=.f64 x -3100000000000000004221441750859776) (*.f64 x (+.f64 y 1/2)) (if (<=.f64 x 4300000000000000000000) (+.f64 z (*.f64 y x)) (*.f64 x (+.f64 y 1/2))))))
(if (<=.f64 z -23999999999999999837503676259019784192) z (if (<=.f64 z 184999999999999998664888301429717821341132905190891005673472) (*.f64 (+.f64 1/2 y) x) z))
(if (<=.f64 z -23999999999999999837503676259019784192) z (if (<=.f64 z 184999999999999998664888301429717821341132905190891005673472) (*.f64 x (+.f64 y 1/2)) z))
(if (<=.f64 z -380000000000000021541945344) z (if (<=.f64 z -6023038718528901/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 y x) (if (<=.f64 z -6354031407093489/353001744838527187118638605275578482918919238981447190585425241357836728795149812488234240124403749621362233187285499572265412108234798868453319136060868263303849511435339515071579009061587940965469669934854316295716864) (*.f64 1/2 x) (if (<=.f64 z -769813737328607/7331559403129590068331208687020758653624765228075687047537011123791632385370343464792392772051104864109916034360063928339045596353810784435313926666640532382851295822842678298180301122938618566718730242107326783353838221723324821405531849499257419595776) (*.f64 y x) (if (<=.f64 z 6814113040271315/11356855067118857664833184498250070849275646260739344691898284362197488876771842551971735167402555711886914400097909030211478150447104) (*.f64 1/2 x) (if (<=.f64 z 3618502788666131/1809251394333065553493296640760748560207343510400633813116524750123642650624) (*.f64 y x) (if (<=.f64 z 21499999999999999558545019644479476744254197643590800244736) (*.f64 1/2 x) z)))))))
(if (<=.f64 z -380000000000000021541945344) z (if (<=.f64 z -6023038718528901/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 y x) (if (<=.f64 z -6354031407093489/353001744838527187118638605275578482918919238981447190585425241357836728795149812488234240124403749621362233187285499572265412108234798868453319136060868263303849511435339515071579009061587940965469669934854316295716864) (*.f64 x 1/2) (if (<=.f64 z -769813737328607/7331559403129590068331208687020758653624765228075687047537011123791632385370343464792392772051104864109916034360063928339045596353810784435313926666640532382851295822842678298180301122938618566718730242107326783353838221723324821405531849499257419595776) (*.f64 y x) (if (<=.f64 z 6814113040271315/11356855067118857664833184498250070849275646260739344691898284362197488876771842551971735167402555711886914400097909030211478150447104) (*.f64 x 1/2) (if (<=.f64 z 3618502788666131/1809251394333065553493296640760748560207343510400633813116524750123642650624) (*.f64 y x) (if (<=.f64 z 21499999999999999558545019644479476744254197643590800244736) (*.f64 x 1/2) z)))))))
(if (<=.f64 x -5499999999999999801775101324175828709031360947399973984002003800163445163374227656477805219011455360676030628841048844869542730601202224537303325811119656796160) (*.f64 1/2 x) (if (<=.f64 x -88000000000000003496060011272369238704485658860737790000872620365465777706108794615889920) z (if (<=.f64 x -3400000000000000000000) (*.f64 1/2 x) (if (<=.f64 x 340000000000000000) z (*.f64 1/2 x)))))
(if (<=.f64 x -5499999999999999801775101324175828709031360947399973984002003800163445163374227656477805219011455360676030628841048844869542730601202224537303325811119656796160) (*.f64 x 1/2) (if (<=.f64 x -88000000000000003496060011272369238704485658860737790000872620365465777706108794615889920) z (if (<=.f64 x -3400000000000000000000) (*.f64 x 1/2) (if (<=.f64 x 340000000000000000) z (*.f64 x 1/2)))))
z
Compiler

Compiled 194 to 121 computations (37.6% saved)

soundness8.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
associate-+r+_binary64
associate-+l+_binary64
*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0913
11411
22511
32911
Stop Event
saturated
Compiler

Compiled 36 to 24 computations (33.3% saved)

end94.0ms (2.7%)

Compiler

Compiled 173 to 97 computations (43.9% saved)

Profiling

Loading profile data...