Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2, A

Time bar (total: 4.2s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 14 to 11 computations (21.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-sub, time spent: 0.0ms, 0.0% of total-time
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-mult, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

sample1.2s (27.3%)

Results
945.0ms7237×256valid
113.0ms1018×256infinite
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 413.0ms
Operation ival-mult, time spent: 143.0ms, 35.0% of total-time
Operation ival-sub, time spent: 129.0ms, 31.0% of total-time
Operation ival-add, time spent: 119.0ms, 29.0% of total-time
Operation const, time spent: 22.0ms, 5.0% of total-time
Bogosity

preprocess556.0ms (13.2%)

Algorithm
egg-herbie
Rules
4330×fma-neg
824×sub-neg
800×fma-define
534×unsub-neg
478×associate-+l-
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-x
00-0-y
00-0-1/2
00-0-(*.f64 x (-.f64 y 1))
00-0-(-.f64 y 1)
00-0-918938533204673/1000000000000000
00-0-(*.f64 y 1/2)
00-0-1
00-0-(-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2))
00-0-(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
Iterations

Useful iterations: 13 (0.0ms)

IterNodesCost
033304
198264
2250236
3786224
42305224
53811224
64343224
74478224
84504224
94508224
104561224
114621224
124645224
134645210
146612210
156612210
166612210
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(+.f64 (-.f64 (*.f64 (neg.f64 x) (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(+.f64 (-.f64 (*.f64 x (-.f64 (neg.f64 y) 1)) (*.f64 (neg.f64 y) 1/2)) 918938533204673/1000000000000000)
(neg.f64 (+.f64 (-.f64 (*.f64 (neg.f64 x) (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000))
(neg.f64 (+.f64 (-.f64 (*.f64 x (-.f64 (neg.f64 y) 1)) (*.f64 (neg.f64 y) 1/2)) 918938533204673/1000000000000000))
(+.f64 (-.f64 (*.f64 y (-.f64 x 1)) (*.f64 x 1/2)) 918938533204673/1000000000000000)
Outputs
(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(-.f64 (*.f64 x (+.f64 y -1)) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
(+.f64 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)) 918938533204673/1000000000000000)
(fma.f64 x (+.f64 y -1) (fma.f64 y -1/2 918938533204673/1000000000000000))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(-.f64 (*.f64 x (+.f64 y -1)) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
(+.f64 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)) 918938533204673/1000000000000000)
(fma.f64 x (+.f64 y -1) (fma.f64 y -1/2 918938533204673/1000000000000000))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (-.f64 (*.f64 (neg.f64 x) (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(+.f64 918938533204673/1000000000000000 (-.f64 (*.f64 (+.f64 y -1) (neg.f64 x)) (*.f64 y 1/2)))
(+.f64 918938533204673/1000000000000000 (fma.f64 (+.f64 y -1) (neg.f64 x) (*.f64 y -1/2)))
(-.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y 1/2)))
(fma.f64 x (-.f64 1 y) (fma.f64 y -1/2 918938533204673/1000000000000000))
(+.f64 x (fma.f64 y (-.f64 -1/2 x) 918938533204673/1000000000000000))
(+.f64 (-.f64 (*.f64 x (-.f64 (neg.f64 y) 1)) (*.f64 (neg.f64 y) 1/2)) 918938533204673/1000000000000000)
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 x (+.f64 (neg.f64 y) -1)) (*.f64 y 1/2)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (fma.f64 -1 y -1) (*.f64 y 1/2)))
(fma.f64 x (-.f64 -1 y) (fma.f64 y 1/2 918938533204673/1000000000000000))
(-.f64 918938533204673/1000000000000000 (fma.f64 y (+.f64 x -1/2) x))
(neg.f64 (+.f64 (-.f64 (*.f64 (neg.f64 x) (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000))
(neg.f64 (+.f64 918938533204673/1000000000000000 (-.f64 (*.f64 (+.f64 y -1) (neg.f64 x)) (*.f64 y 1/2))))
(-.f64 -918938533204673/1000000000000000 (fma.f64 (+.f64 y -1) (neg.f64 x) (*.f64 y -1/2)))
(+.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))
(fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))
(fma.f64 y (+.f64 x 1/2) (-.f64 -918938533204673/1000000000000000 x))
(neg.f64 (+.f64 (-.f64 (*.f64 x (-.f64 (neg.f64 y) 1)) (*.f64 (neg.f64 y) 1/2)) 918938533204673/1000000000000000))
(+.f64 (neg.f64 (+.f64 (*.f64 x (+.f64 (neg.f64 y) -1)) (*.f64 y 1/2))) -918938533204673/1000000000000000)
(-.f64 -918938533204673/1000000000000000 (fma.f64 x (fma.f64 -1 y -1) (*.f64 y 1/2)))
(neg.f64 (fma.f64 x (-.f64 -1 y) (fma.f64 y 1/2 918938533204673/1000000000000000)))
(fma.f64 x (+.f64 y 1) (fma.f64 y -1/2 -918938533204673/1000000000000000))
(+.f64 -918938533204673/1000000000000000 (fma.f64 y (+.f64 x -1/2) x))
(+.f64 (-.f64 (*.f64 y (-.f64 x 1)) (*.f64 x 1/2)) 918938533204673/1000000000000000)
(+.f64 918938533204673/1000000000000000 (-.f64 (*.f64 y (+.f64 x -1)) (*.f64 x 1/2)))
(+.f64 918938533204673/1000000000000000 (fma.f64 y (+.f64 x -1) (*.f64 x -1/2)))
(fma.f64 y (+.f64 x -1) (fma.f64 x -1/2 918938533204673/1000000000000000))
(fma.f64 x -1/2 (fma.f64 y (+.f64 x -1) 918938533204673/1000000000000000))
(fma.f64 x (+.f64 y -1/2) (-.f64 918938533204673/1000000000000000 y))
Compiler

Compiled 91 to 64 computations (29.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 56.0ms
Operation ival-mult, time spent: 28.0ms, 50.0% of total-time
Operation ival-sub, time spent: 18.0ms, 32.0% of total-time
Operation ival-add, time spent: 6.0ms, 11.0% of total-time
Operation const, time spent: 3.0ms, 5.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 40 to 28 computations (30% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
100.0%
(-.f64 (*.f64 x (+.f64 y -1)) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
Compiler

Compiled 23 to 17 computations (26.1% saved)

localize94.0ms (2.2%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
100.0%
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
100.0%
(-.f64 (*.f64 x (+.f64 y -1)) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
Compiler

Compiled 53 to 36 computations (32.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 41.0ms
Operation ival-mult, time spent: 15.0ms, 37.0% of total-time
Operation ival-add, time spent: 12.0ms, 29.0% of total-time
Operation ival-sub, time spent: 7.0ms, 17.0% of total-time
Operation composed, time spent: 4.0ms, 10.0% of total-time
Operation const, time spent: 2.0ms, 5.0% of total-time

series9.0ms (0.2%)

Counts
2 → 48
Calls
Call 1
Inputs
#<alt (-.f64 (*.f64 x (+.f64 y -1)) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))>
#<alt (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))>
Outputs
#<alt (-.f64 918938533204673/1000000000000000 (*.f64 1/2 y))>
#<alt (-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 x (-.f64 y 1))) (*.f64 1/2 y))>
#<alt (-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 x (-.f64 y 1))) (*.f64 1/2 y))>
#<alt (-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 x (-.f64 y 1))) (*.f64 1/2 y))>
#<alt (*.f64 x (-.f64 y 1))>
#<alt (*.f64 x (-.f64 (+.f64 y (*.f64 918938533204673/1000000000000000 (/.f64 1 x))) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))>
#<alt (*.f64 x (-.f64 (+.f64 y (*.f64 918938533204673/1000000000000000 (/.f64 1 x))) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))>
#<alt (*.f64 x (-.f64 (+.f64 y (*.f64 918938533204673/1000000000000000 (/.f64 1 x))) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))>
#<alt (*.f64 x (-.f64 y 1))>
#<alt (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (-.f64 y 1)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 (*.f64 1/2 y)) x)))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (-.f64 y 1)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 (*.f64 1/2 y)) x)))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (-.f64 y 1)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 (*.f64 1/2 y)) x)))))>
#<alt (+.f64 918938533204673/1000000000000000 (*.f64 -1 x))>
#<alt (+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1 x) (*.f64 y (-.f64 x 1/2))))>
#<alt (+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1 x) (*.f64 y (-.f64 x 1/2))))>
#<alt (+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1 x) (*.f64 y (-.f64 x 1/2))))>
#<alt (*.f64 y (-.f64 x 1/2))>
#<alt (*.f64 y (-.f64 (+.f64 x (+.f64 (*.f64 -1 (/.f64 x y)) (*.f64 918938533204673/1000000000000000 (/.f64 1 y)))) 1/2))>
#<alt (*.f64 y (-.f64 (+.f64 x (+.f64 (*.f64 -1 (/.f64 x y)) (*.f64 918938533204673/1000000000000000 (/.f64 1 y)))) 1/2))>
#<alt (*.f64 y (-.f64 (+.f64 x (+.f64 (*.f64 -1 (/.f64 x y)) (*.f64 918938533204673/1000000000000000 (/.f64 1 y)))) 1/2))>
#<alt (*.f64 -1 (*.f64 y (+.f64 1/2 (*.f64 -1 x))))>
#<alt (*.f64 -1 (*.f64 y (+.f64 1/2 (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1 x)) y))))))>
#<alt (*.f64 -1 (*.f64 y (+.f64 1/2 (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1 x)) y))))))>
#<alt (*.f64 -1 (*.f64 y (+.f64 1/2 (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1 x)) y))))))>
#<alt (-.f64 918938533204673/1000000000000000 x)>
#<alt (-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 y (-.f64 x 1/2))) x)>
#<alt (-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 y (-.f64 x 1/2))) x)>
#<alt (-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 y (-.f64 x 1/2))) x)>
#<alt (*.f64 y (-.f64 x 1/2))>
#<alt (*.f64 y (-.f64 (+.f64 x (*.f64 918938533204673/1000000000000000 (/.f64 1 y))) (+.f64 1/2 (/.f64 x y))))>
#<alt (*.f64 y (-.f64 (+.f64 x (*.f64 918938533204673/1000000000000000 (/.f64 1 y))) (+.f64 1/2 (/.f64 x y))))>
#<alt (*.f64 y (-.f64 (+.f64 x (*.f64 918938533204673/1000000000000000 (/.f64 1 y))) (+.f64 1/2 (/.f64 x y))))>
#<alt (*.f64 y (-.f64 x 1/2))>
#<alt (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 x 1/2)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 x) y)))))>
#<alt (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 x 1/2)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 x) y)))))>
#<alt (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 x 1/2)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 x) y)))))>
#<alt (+.f64 918938533204673/1000000000000000 (*.f64 -1/2 y))>
#<alt (+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1/2 y) (*.f64 x (-.f64 y 1))))>
#<alt (+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1/2 y) (*.f64 x (-.f64 y 1))))>
#<alt (+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1/2 y) (*.f64 x (-.f64 y 1))))>
#<alt (*.f64 x (-.f64 y 1))>
#<alt (*.f64 x (-.f64 (+.f64 y (+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 918938533204673/1000000000000000 (/.f64 1 x)))) 1))>
#<alt (*.f64 x (-.f64 (+.f64 y (+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 918938533204673/1000000000000000 (/.f64 1 x)))) 1))>
#<alt (*.f64 x (-.f64 (+.f64 y (+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 918938533204673/1000000000000000 (/.f64 1 x)))) 1))>
#<alt (*.f64 -1 (*.f64 x (+.f64 1 (*.f64 -1 y))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1/2 y)) x))))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1/2 y)) x))))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1/2 y)) x))))))>
Calls

12 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(+ (* y (+ x -1/2)) (- 918938533204673/1000000000000000 x))
1.0ms
y
@inf
(- (* x (+ y -1)) (- (* y 1/2) 918938533204673/1000000000000000))
1.0ms
y
@0
(- (* x (+ y -1)) (- (* y 1/2) 918938533204673/1000000000000000))
1.0ms
x
@inf
(- (* x (+ y -1)) (- (* y 1/2) 918938533204673/1000000000000000))
1.0ms
x
@-inf
(- (* x (+ y -1)) (- (* y 1/2) 918938533204673/1000000000000000))

rewrite246.0ms (5.8%)

Algorithm
batch-egg-rewrite
Rules
1027×log1p-expm1-u
1027×expm1-log1p-u
854×fma-neg
184×associate-*r*
132×add-cube-cbrt
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02066
128166
2425566
Stop Event
node limit
Counts
2 → 85
Calls
Call 1
Inputs
(-.f64 (*.f64 x (+.f64 y -1)) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
Outputs
(+.f64 (*.f64 x (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 (*.f64 x (+.f64 y -1)) (*.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) 1))
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)))
(+.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) (fma.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) 1 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))) (pow.f64 (cbrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) 2) (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) (fma.f64 (neg.f64 (sqrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))) (sqrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) (*.f64 x (+.f64 y -1)))
(+.f64 (*.f64 x y) (+.f64 (neg.f64 x) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(+.f64 (*.f64 x y) (-.f64 (neg.f64 x) (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 918938533204673/1000000000000000)
(+.f64 (*.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 1) 918938533204673/1000000000000000)
(*.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) 1)
(*.f64 1 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(*.f64 (cbrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) 2))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) 2) (cbrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(*.f64 (sqrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) (sqrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2)) (/.f64 1 (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(*.f64 (+.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))) (-.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000)))) (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3))))
(/.f64 1 (/.f64 (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000)) (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3)) (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2)) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2))) (neg.f64 (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) 3)) (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (-.f64 (*.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))) (*.f64 (*.f64 x (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))))))
(/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 3) 775995832041789488711238455368417219672369217/1000000000000000000000000000000000000000000000) (+.f64 (*.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y))) (-.f64 844448027808355901771309036929/1000000000000000000000000000000 (*.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 918938533204673/1000000000000000))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))) (-.f64 (*.f64 x (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(/.f64 (fma.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) -844448027808355901771309036929/1000000000000000000000000000000) (-.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 918938533204673/1000000000000000))
(pow.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) 1)
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) 3)
(pow.f64 (pow.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) 3) 1/3)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) 2)
(sqrt.f64 (pow.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) 2))
(log.f64 (exp.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)))))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) 3))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(exp.f64 (log.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) 1))
(fma.f64 x (+.f64 y -1) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (+.f64 y -1) x (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (*.f64 x (+.f64 y -1)) 1 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 1 (*.f64 x (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 1 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 918938533204673/1000000000000000)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 y -1)) 2) (*.f64 (cbrt.f64 (+.f64 y -1)) x) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (cbrt.f64 (*.f64 x (+.f64 y -1))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y -1))) 2) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y -1))) 2) (cbrt.f64 (*.f64 x (+.f64 y -1))) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (sqrt.f64 (+.f64 y -1)) (*.f64 (sqrt.f64 (+.f64 y -1)) x) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (*.f64 x (+.f64 y -1))) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y))) (cbrt.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)))) (cbrt.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y))) 918938533204673/1000000000000000)
(fma.f64 (sqrt.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y))) (sqrt.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y))) 918938533204673/1000000000000000)
(fma.f64 (+.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (*.f64 y 1/2))) (-.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (*.f64 y 1/2))) 918938533204673/1000000000000000)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 y -1)) 2)) (cbrt.f64 (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (*.f64 x (sqrt.f64 (+.f64 y -1))) (sqrt.f64 (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (*.f64 (+.f64 y -1) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (*.f64 (+.f64 y -1) (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 (-.f64 918938533204673/1000000000000000 x) (*.f64 y (+.f64 x -1/2)))
(+.f64 (*.f64 y (+.f64 x -1/2)) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (*.f64 (*.f64 y (+.f64 x -1/2)) 1) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (+.f64 (*.f64 y (+.f64 x -1/2)) 918938533204673/1000000000000000) (neg.f64 x))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)))) 1)
(-.f64 (+.f64 (*.f64 y (+.f64 x -1/2)) 918938533204673/1000000000000000) x)
(*.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)) 1)
(*.f64 1 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)))
(*.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) (pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) 2) (cbrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(*.f64 (sqrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) (sqrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3) (pow.f64 (-.f64 918938533204673/1000000000000000 x) 3)) (+.f64 (*.f64 (*.f64 y (+.f64 x -1/2)) (*.f64 y (+.f64 x -1/2))) (-.f64 (pow.f64 (-.f64 918938533204673/1000000000000000 x) 2) (*.f64 (*.f64 y (+.f64 x -1/2)) (-.f64 918938533204673/1000000000000000 x)))))
(/.f64 (-.f64 (*.f64 (*.f64 y (+.f64 x -1/2)) (*.f64 y (+.f64 x -1/2))) (pow.f64 (-.f64 918938533204673/1000000000000000 x) 2)) (-.f64 (*.f64 y (+.f64 x -1/2)) (-.f64 918938533204673/1000000000000000 x)))
(pow.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)) 1)
(pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) 3)
(pow.f64 (pow.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) 2)
(sqrt.f64 (pow.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)) 2))
(log.f64 (exp.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)))))
(cbrt.f64 (pow.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)) 3))
(expm1.f64 (log1p.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(log1p.f64 (expm1.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(exp.f64 (log.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(exp.f64 (*.f64 (log.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) 1))

simplify96.0ms (2.3%)

Algorithm
egg-herbie
Rules
1000×associate-+r+
964×associate-+l+
690×fma-neg
538×associate--r+
524×associate-+l-
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02986309
18115421
229085372
Stop Event
node limit
Counts
133 → 133
Calls
Call 1
Inputs
(-.f64 918938533204673/1000000000000000 (*.f64 1/2 y))
(-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 x (-.f64 y 1))) (*.f64 1/2 y))
(-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 x (-.f64 y 1))) (*.f64 1/2 y))
(-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 x (-.f64 y 1))) (*.f64 1/2 y))
(*.f64 x (-.f64 y 1))
(*.f64 x (-.f64 (+.f64 y (*.f64 918938533204673/1000000000000000 (/.f64 1 x))) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (-.f64 (+.f64 y (*.f64 918938533204673/1000000000000000 (/.f64 1 x))) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (-.f64 (+.f64 y (*.f64 918938533204673/1000000000000000 (/.f64 1 x))) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (-.f64 y 1))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (-.f64 y 1)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 (*.f64 1/2 y)) x)))))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (-.f64 y 1)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 (*.f64 1/2 y)) x)))))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (-.f64 y 1)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 (*.f64 1/2 y)) x)))))
(+.f64 918938533204673/1000000000000000 (*.f64 -1 x))
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1 x) (*.f64 y (-.f64 x 1/2))))
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1 x) (*.f64 y (-.f64 x 1/2))))
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1 x) (*.f64 y (-.f64 x 1/2))))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (-.f64 (+.f64 x (+.f64 (*.f64 -1 (/.f64 x y)) (*.f64 918938533204673/1000000000000000 (/.f64 1 y)))) 1/2))
(*.f64 y (-.f64 (+.f64 x (+.f64 (*.f64 -1 (/.f64 x y)) (*.f64 918938533204673/1000000000000000 (/.f64 1 y)))) 1/2))
(*.f64 y (-.f64 (+.f64 x (+.f64 (*.f64 -1 (/.f64 x y)) (*.f64 918938533204673/1000000000000000 (/.f64 1 y)))) 1/2))
(*.f64 -1 (*.f64 y (+.f64 1/2 (*.f64 -1 x))))
(*.f64 -1 (*.f64 y (+.f64 1/2 (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1 x)) y))))))
(*.f64 -1 (*.f64 y (+.f64 1/2 (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1 x)) y))))))
(*.f64 -1 (*.f64 y (+.f64 1/2 (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1 x)) y))))))
(-.f64 918938533204673/1000000000000000 x)
(-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 y (-.f64 x 1/2))) x)
(-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 y (-.f64 x 1/2))) x)
(-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 y (-.f64 x 1/2))) x)
(*.f64 y (-.f64 x 1/2))
(*.f64 y (-.f64 (+.f64 x (*.f64 918938533204673/1000000000000000 (/.f64 1 y))) (+.f64 1/2 (/.f64 x y))))
(*.f64 y (-.f64 (+.f64 x (*.f64 918938533204673/1000000000000000 (/.f64 1 y))) (+.f64 1/2 (/.f64 x y))))
(*.f64 y (-.f64 (+.f64 x (*.f64 918938533204673/1000000000000000 (/.f64 1 y))) (+.f64 1/2 (/.f64 x y))))
(*.f64 y (-.f64 x 1/2))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 x 1/2)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 x) y)))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 x 1/2)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 x) y)))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 x 1/2)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 x) y)))))
(+.f64 918938533204673/1000000000000000 (*.f64 -1/2 y))
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1/2 y) (*.f64 x (-.f64 y 1))))
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1/2 y) (*.f64 x (-.f64 y 1))))
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1/2 y) (*.f64 x (-.f64 y 1))))
(*.f64 x (-.f64 y 1))
(*.f64 x (-.f64 (+.f64 y (+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 918938533204673/1000000000000000 (/.f64 1 x)))) 1))
(*.f64 x (-.f64 (+.f64 y (+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 918938533204673/1000000000000000 (/.f64 1 x)))) 1))
(*.f64 x (-.f64 (+.f64 y (+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 918938533204673/1000000000000000 (/.f64 1 x)))) 1))
(*.f64 -1 (*.f64 x (+.f64 1 (*.f64 -1 y))))
(*.f64 -1 (*.f64 x (+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1/2 y)) x))))))
(*.f64 -1 (*.f64 x (+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1/2 y)) x))))))
(*.f64 -1 (*.f64 x (+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1/2 y)) x))))))
(+.f64 (*.f64 x (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 (*.f64 x (+.f64 y -1)) (*.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) 1))
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)))
(+.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) (fma.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) 1 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))) (pow.f64 (cbrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) 2) (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) (fma.f64 (neg.f64 (sqrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))) (sqrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) (*.f64 x (+.f64 y -1)))
(+.f64 (*.f64 x y) (+.f64 (neg.f64 x) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(+.f64 (*.f64 x y) (-.f64 (neg.f64 x) (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 918938533204673/1000000000000000)
(+.f64 (*.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 1) 918938533204673/1000000000000000)
(*.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) 1)
(*.f64 1 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(*.f64 (cbrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) 2))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) 2) (cbrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(*.f64 (sqrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) (sqrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2)) (/.f64 1 (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(*.f64 (+.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))) (-.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000)))) (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3))))
(/.f64 1 (/.f64 (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000)) (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3)) (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2)) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2))) (neg.f64 (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) 3)) (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (-.f64 (*.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))) (*.f64 (*.f64 x (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))))))
(/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 3) 775995832041789488711238455368417219672369217/1000000000000000000000000000000000000000000000) (+.f64 (*.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y))) (-.f64 844448027808355901771309036929/1000000000000000000000000000000 (*.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 918938533204673/1000000000000000))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))) (-.f64 (*.f64 x (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(/.f64 (fma.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) -844448027808355901771309036929/1000000000000000000000000000000) (-.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 918938533204673/1000000000000000))
(pow.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) 1)
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) 3)
(pow.f64 (pow.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) 3) 1/3)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) 2)
(sqrt.f64 (pow.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) 2))
(log.f64 (exp.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)))))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) 3))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(exp.f64 (log.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) 1))
(fma.f64 x (+.f64 y -1) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (+.f64 y -1) x (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (*.f64 x (+.f64 y -1)) 1 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 1 (*.f64 x (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 1 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 918938533204673/1000000000000000)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 y -1)) 2) (*.f64 (cbrt.f64 (+.f64 y -1)) x) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (cbrt.f64 (*.f64 x (+.f64 y -1))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y -1))) 2) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y -1))) 2) (cbrt.f64 (*.f64 x (+.f64 y -1))) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (sqrt.f64 (+.f64 y -1)) (*.f64 (sqrt.f64 (+.f64 y -1)) x) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (*.f64 x (+.f64 y -1))) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y))) (cbrt.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)))) (cbrt.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y))) 918938533204673/1000000000000000)
(fma.f64 (sqrt.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y))) (sqrt.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y))) 918938533204673/1000000000000000)
(fma.f64 (+.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (*.f64 y 1/2))) (-.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (*.f64 y 1/2))) 918938533204673/1000000000000000)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 y -1)) 2)) (cbrt.f64 (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (*.f64 x (sqrt.f64 (+.f64 y -1))) (sqrt.f64 (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (*.f64 (+.f64 y -1) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(fma.f64 (*.f64 (+.f64 y -1) (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 (-.f64 918938533204673/1000000000000000 x) (*.f64 y (+.f64 x -1/2)))
(+.f64 (*.f64 y (+.f64 x -1/2)) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (*.f64 (*.f64 y (+.f64 x -1/2)) 1) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (+.f64 (*.f64 y (+.f64 x -1/2)) 918938533204673/1000000000000000) (neg.f64 x))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)))) 1)
(-.f64 (+.f64 (*.f64 y (+.f64 x -1/2)) 918938533204673/1000000000000000) x)
(*.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)) 1)
(*.f64 1 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)))
(*.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) (pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) 2) (cbrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(*.f64 (sqrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) (sqrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3) (pow.f64 (-.f64 918938533204673/1000000000000000 x) 3)) (+.f64 (*.f64 (*.f64 y (+.f64 x -1/2)) (*.f64 y (+.f64 x -1/2))) (-.f64 (pow.f64 (-.f64 918938533204673/1000000000000000 x) 2) (*.f64 (*.f64 y (+.f64 x -1/2)) (-.f64 918938533204673/1000000000000000 x)))))
(/.f64 (-.f64 (*.f64 (*.f64 y (+.f64 x -1/2)) (*.f64 y (+.f64 x -1/2))) (pow.f64 (-.f64 918938533204673/1000000000000000 x) 2)) (-.f64 (*.f64 y (+.f64 x -1/2)) (-.f64 918938533204673/1000000000000000 x)))
(pow.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)) 1)
(pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) 3)
(pow.f64 (pow.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) 2)
(sqrt.f64 (pow.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)) 2))
(log.f64 (exp.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)))))
(cbrt.f64 (pow.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)) 3))
(expm1.f64 (log1p.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(log1p.f64 (expm1.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(exp.f64 (log.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(exp.f64 (*.f64 (log.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) 1))
Outputs
(-.f64 918938533204673/1000000000000000 (*.f64 1/2 y))
(+.f64 918938533204673/1000000000000000 (*.f64 y -1/2))
(fma.f64 y -1/2 918938533204673/1000000000000000)
(-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 x (-.f64 y 1))) (*.f64 1/2 y))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 x (-.f64 y 1))) (*.f64 1/2 y))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 x (-.f64 y 1))) (*.f64 1/2 y))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(*.f64 x (-.f64 y 1))
(*.f64 x (+.f64 y -1))
(*.f64 x (-.f64 (+.f64 y (*.f64 918938533204673/1000000000000000 (/.f64 1 x))) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (-.f64 (+.f64 y (/.f64 918938533204673/1000000000000000 x)) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (+.f64 y (+.f64 -1 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x))))
(*.f64 x (+.f64 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x) (+.f64 y -1)))
(*.f64 x (-.f64 (+.f64 y (*.f64 918938533204673/1000000000000000 (/.f64 1 x))) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (-.f64 (+.f64 y (/.f64 918938533204673/1000000000000000 x)) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (+.f64 y (+.f64 -1 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x))))
(*.f64 x (+.f64 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x) (+.f64 y -1)))
(*.f64 x (-.f64 (+.f64 y (*.f64 918938533204673/1000000000000000 (/.f64 1 x))) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (-.f64 (+.f64 y (/.f64 918938533204673/1000000000000000 x)) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (+.f64 y (+.f64 -1 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x))))
(*.f64 x (+.f64 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x) (+.f64 y -1)))
(*.f64 x (-.f64 y 1))
(*.f64 x (+.f64 y -1))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (-.f64 y 1)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 (*.f64 1/2 y)) x)))))
(*.f64 x (-.f64 (+.f64 y (/.f64 918938533204673/1000000000000000 x)) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (+.f64 y (+.f64 -1 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x))))
(*.f64 x (+.f64 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x) (+.f64 y -1)))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (-.f64 y 1)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 (*.f64 1/2 y)) x)))))
(*.f64 x (-.f64 (+.f64 y (/.f64 918938533204673/1000000000000000 x)) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (+.f64 y (+.f64 -1 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x))))
(*.f64 x (+.f64 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x) (+.f64 y -1)))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (-.f64 y 1)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 (*.f64 1/2 y)) x)))))
(*.f64 x (-.f64 (+.f64 y (/.f64 918938533204673/1000000000000000 x)) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (+.f64 y (+.f64 -1 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x))))
(*.f64 x (+.f64 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x) (+.f64 y -1)))
(+.f64 918938533204673/1000000000000000 (*.f64 -1 x))
(-.f64 918938533204673/1000000000000000 x)
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1 x) (*.f64 y (-.f64 x 1/2))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1 x) (*.f64 y (-.f64 x 1/2))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1 x) (*.f64 y (-.f64 x 1/2))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (+.f64 x -1/2))
(*.f64 y (-.f64 (+.f64 x (+.f64 (*.f64 -1 (/.f64 x y)) (*.f64 918938533204673/1000000000000000 (/.f64 1 y)))) 1/2))
(*.f64 y (+.f64 x (-.f64 (fma.f64 -1 (/.f64 x y) (/.f64 918938533204673/1000000000000000 y)) 1/2)))
(*.f64 y (+.f64 x (+.f64 (/.f64 (-.f64 918938533204673/1000000000000000 x) y) -1/2)))
(*.f64 y (+.f64 x (+.f64 -1/2 (/.f64 (-.f64 918938533204673/1000000000000000 x) y))))
(*.f64 y (-.f64 (+.f64 x (+.f64 (*.f64 -1 (/.f64 x y)) (*.f64 918938533204673/1000000000000000 (/.f64 1 y)))) 1/2))
(*.f64 y (+.f64 x (-.f64 (fma.f64 -1 (/.f64 x y) (/.f64 918938533204673/1000000000000000 y)) 1/2)))
(*.f64 y (+.f64 x (+.f64 (/.f64 (-.f64 918938533204673/1000000000000000 x) y) -1/2)))
(*.f64 y (+.f64 x (+.f64 -1/2 (/.f64 (-.f64 918938533204673/1000000000000000 x) y))))
(*.f64 y (-.f64 (+.f64 x (+.f64 (*.f64 -1 (/.f64 x y)) (*.f64 918938533204673/1000000000000000 (/.f64 1 y)))) 1/2))
(*.f64 y (+.f64 x (-.f64 (fma.f64 -1 (/.f64 x y) (/.f64 918938533204673/1000000000000000 y)) 1/2)))
(*.f64 y (+.f64 x (+.f64 (/.f64 (-.f64 918938533204673/1000000000000000 x) y) -1/2)))
(*.f64 y (+.f64 x (+.f64 -1/2 (/.f64 (-.f64 918938533204673/1000000000000000 x) y))))
(*.f64 -1 (*.f64 y (+.f64 1/2 (*.f64 -1 x))))
(*.f64 y (+.f64 x -1/2))
(*.f64 -1 (*.f64 y (+.f64 1/2 (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1 x)) y))))))
(*.f64 y (+.f64 x (-.f64 (fma.f64 -1 (/.f64 x y) (/.f64 918938533204673/1000000000000000 y)) 1/2)))
(*.f64 y (+.f64 x (+.f64 (/.f64 (-.f64 918938533204673/1000000000000000 x) y) -1/2)))
(*.f64 y (+.f64 x (+.f64 -1/2 (/.f64 (-.f64 918938533204673/1000000000000000 x) y))))
(*.f64 -1 (*.f64 y (+.f64 1/2 (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1 x)) y))))))
(*.f64 y (+.f64 x (-.f64 (fma.f64 -1 (/.f64 x y) (/.f64 918938533204673/1000000000000000 y)) 1/2)))
(*.f64 y (+.f64 x (+.f64 (/.f64 (-.f64 918938533204673/1000000000000000 x) y) -1/2)))
(*.f64 y (+.f64 x (+.f64 -1/2 (/.f64 (-.f64 918938533204673/1000000000000000 x) y))))
(*.f64 -1 (*.f64 y (+.f64 1/2 (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1 x)) y))))))
(*.f64 y (+.f64 x (-.f64 (fma.f64 -1 (/.f64 x y) (/.f64 918938533204673/1000000000000000 y)) 1/2)))
(*.f64 y (+.f64 x (+.f64 (/.f64 (-.f64 918938533204673/1000000000000000 x) y) -1/2)))
(*.f64 y (+.f64 x (+.f64 -1/2 (/.f64 (-.f64 918938533204673/1000000000000000 x) y))))
(-.f64 918938533204673/1000000000000000 x)
(-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 y (-.f64 x 1/2))) x)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 y (-.f64 x 1/2))) x)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(-.f64 (+.f64 918938533204673/1000000000000000 (*.f64 y (-.f64 x 1/2))) x)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (+.f64 x -1/2))
(*.f64 y (-.f64 (+.f64 x (*.f64 918938533204673/1000000000000000 (/.f64 1 y))) (+.f64 1/2 (/.f64 x y))))
(*.f64 y (+.f64 x (-.f64 (fma.f64 -1 (/.f64 x y) (/.f64 918938533204673/1000000000000000 y)) 1/2)))
(*.f64 y (+.f64 x (+.f64 (/.f64 (-.f64 918938533204673/1000000000000000 x) y) -1/2)))
(*.f64 y (+.f64 x (+.f64 -1/2 (/.f64 (-.f64 918938533204673/1000000000000000 x) y))))
(*.f64 y (-.f64 (+.f64 x (*.f64 918938533204673/1000000000000000 (/.f64 1 y))) (+.f64 1/2 (/.f64 x y))))
(*.f64 y (+.f64 x (-.f64 (fma.f64 -1 (/.f64 x y) (/.f64 918938533204673/1000000000000000 y)) 1/2)))
(*.f64 y (+.f64 x (+.f64 (/.f64 (-.f64 918938533204673/1000000000000000 x) y) -1/2)))
(*.f64 y (+.f64 x (+.f64 -1/2 (/.f64 (-.f64 918938533204673/1000000000000000 x) y))))
(*.f64 y (-.f64 (+.f64 x (*.f64 918938533204673/1000000000000000 (/.f64 1 y))) (+.f64 1/2 (/.f64 x y))))
(*.f64 y (+.f64 x (-.f64 (fma.f64 -1 (/.f64 x y) (/.f64 918938533204673/1000000000000000 y)) 1/2)))
(*.f64 y (+.f64 x (+.f64 (/.f64 (-.f64 918938533204673/1000000000000000 x) y) -1/2)))
(*.f64 y (+.f64 x (+.f64 -1/2 (/.f64 (-.f64 918938533204673/1000000000000000 x) y))))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (+.f64 x -1/2))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 x 1/2)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 x) y)))))
(*.f64 y (+.f64 x (-.f64 (fma.f64 -1 (/.f64 x y) (/.f64 918938533204673/1000000000000000 y)) 1/2)))
(*.f64 y (+.f64 x (+.f64 (/.f64 (-.f64 918938533204673/1000000000000000 x) y) -1/2)))
(*.f64 y (+.f64 x (+.f64 -1/2 (/.f64 (-.f64 918938533204673/1000000000000000 x) y))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 x 1/2)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 x) y)))))
(*.f64 y (+.f64 x (-.f64 (fma.f64 -1 (/.f64 x y) (/.f64 918938533204673/1000000000000000 y)) 1/2)))
(*.f64 y (+.f64 x (+.f64 (/.f64 (-.f64 918938533204673/1000000000000000 x) y) -1/2)))
(*.f64 y (+.f64 x (+.f64 -1/2 (/.f64 (-.f64 918938533204673/1000000000000000 x) y))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 x 1/2)) (*.f64 -1 (/.f64 (-.f64 918938533204673/1000000000000000 x) y)))))
(*.f64 y (+.f64 x (-.f64 (fma.f64 -1 (/.f64 x y) (/.f64 918938533204673/1000000000000000 y)) 1/2)))
(*.f64 y (+.f64 x (+.f64 (/.f64 (-.f64 918938533204673/1000000000000000 x) y) -1/2)))
(*.f64 y (+.f64 x (+.f64 -1/2 (/.f64 (-.f64 918938533204673/1000000000000000 x) y))))
(+.f64 918938533204673/1000000000000000 (*.f64 -1/2 y))
(+.f64 918938533204673/1000000000000000 (*.f64 y -1/2))
(fma.f64 y -1/2 918938533204673/1000000000000000)
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1/2 y) (*.f64 x (-.f64 y 1))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1/2 y) (*.f64 x (-.f64 y 1))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 -1/2 y) (*.f64 x (-.f64 y 1))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(*.f64 x (-.f64 y 1))
(*.f64 x (+.f64 y -1))
(*.f64 x (-.f64 (+.f64 y (+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 918938533204673/1000000000000000 (/.f64 1 x)))) 1))
(*.f64 x (-.f64 (+.f64 y (/.f64 918938533204673/1000000000000000 x)) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (+.f64 y (+.f64 -1 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x))))
(*.f64 x (+.f64 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x) (+.f64 y -1)))
(*.f64 x (-.f64 (+.f64 y (+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 918938533204673/1000000000000000 (/.f64 1 x)))) 1))
(*.f64 x (-.f64 (+.f64 y (/.f64 918938533204673/1000000000000000 x)) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (+.f64 y (+.f64 -1 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x))))
(*.f64 x (+.f64 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x) (+.f64 y -1)))
(*.f64 x (-.f64 (+.f64 y (+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 918938533204673/1000000000000000 (/.f64 1 x)))) 1))
(*.f64 x (-.f64 (+.f64 y (/.f64 918938533204673/1000000000000000 x)) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (+.f64 y (+.f64 -1 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x))))
(*.f64 x (+.f64 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x) (+.f64 y -1)))
(*.f64 -1 (*.f64 x (+.f64 1 (*.f64 -1 y))))
(*.f64 x (+.f64 y -1))
(*.f64 -1 (*.f64 x (+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1/2 y)) x))))))
(*.f64 x (-.f64 (+.f64 y (/.f64 918938533204673/1000000000000000 x)) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (+.f64 y (+.f64 -1 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x))))
(*.f64 x (+.f64 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x) (+.f64 y -1)))
(*.f64 -1 (*.f64 x (+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1/2 y)) x))))))
(*.f64 x (-.f64 (+.f64 y (/.f64 918938533204673/1000000000000000 x)) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (+.f64 y (+.f64 -1 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x))))
(*.f64 x (+.f64 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x) (+.f64 y -1)))
(*.f64 -1 (*.f64 x (+.f64 1 (+.f64 (*.f64 -1 y) (*.f64 -1 (/.f64 (+.f64 918938533204673/1000000000000000 (*.f64 -1/2 y)) x))))))
(*.f64 x (-.f64 (+.f64 y (/.f64 918938533204673/1000000000000000 x)) (+.f64 1 (*.f64 1/2 (/.f64 y x)))))
(*.f64 x (+.f64 y (+.f64 -1 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x))))
(*.f64 x (+.f64 (/.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) x) (+.f64 y -1)))
(+.f64 (*.f64 x (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (*.f64 x (+.f64 y -1)) (*.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) 1))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) (fma.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) 1 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))) (pow.f64 (cbrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) 2) (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) (fma.f64 (neg.f64 (sqrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))) (sqrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) (*.f64 x (+.f64 y -1)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (*.f64 x y) (+.f64 (neg.f64 x) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (*.f64 x y) (-.f64 (neg.f64 x) (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 918938533204673/1000000000000000)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (*.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 1) 918938533204673/1000000000000000)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(*.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) 1)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(*.f64 1 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(*.f64 (cbrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) 2))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) 2) (cbrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(*.f64 (sqrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) (sqrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) 3)) (fma.f64 (fma.f64 1/2 y -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 1/2 y -918938533204673/1000000000000000)) (pow.f64 (*.f64 x (+.f64 y -1)) 2)))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2)) (/.f64 1 (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 1/2 y -918938533204673/1000000000000000) 2)) (fma.f64 x (+.f64 y -1) (fma.f64 1/2 y -918938533204673/1000000000000000)))
(/.f64 (-.f64 (pow.f64 (fma.f64 1/2 y -918938533204673/1000000000000000) 2) (pow.f64 (*.f64 x (+.f64 y -1)) 2)) (fma.f64 x (-.f64 1 y) (fma.f64 y -1/2 918938533204673/1000000000000000)))
(*.f64 (+.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))) (-.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(*.f64 (+.f64 (sqrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) (sqrt.f64 (*.f64 x (+.f64 y -1)))) (-.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(*.f64 (+.f64 (sqrt.f64 (fma.f64 1/2 y -918938533204673/1000000000000000)) (sqrt.f64 (*.f64 x (+.f64 y -1)))) (-.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (fma.f64 1/2 y -918938533204673/1000000000000000))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000)))) (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) 3)) (fma.f64 (fma.f64 1/2 y -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 1/2 y -918938533204673/1000000000000000)) (pow.f64 (*.f64 x (+.f64 y -1)) 2)))
(/.f64 1 (/.f64 (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000)) (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2)) (/.f64 1 (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 1/2 y -918938533204673/1000000000000000) 2)) (fma.f64 x (+.f64 y -1) (fma.f64 1/2 y -918938533204673/1000000000000000)))
(/.f64 (-.f64 (pow.f64 (fma.f64 1/2 y -918938533204673/1000000000000000) 2) (pow.f64 (*.f64 x (+.f64 y -1)) 2)) (fma.f64 x (-.f64 1 y) (fma.f64 y -1/2 918938533204673/1000000000000000)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3)) (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000)))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) 3)) (fma.f64 (fma.f64 1/2 y -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 1/2 y -918938533204673/1000000000000000)) (pow.f64 (*.f64 x (+.f64 y -1)) 2)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2)) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2)) (/.f64 1 (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 1/2 y -918938533204673/1000000000000000) 2)) (fma.f64 x (+.f64 y -1) (fma.f64 1/2 y -918938533204673/1000000000000000)))
(/.f64 (-.f64 (pow.f64 (fma.f64 1/2 y -918938533204673/1000000000000000) 2) (pow.f64 (*.f64 x (+.f64 y -1)) 2)) (fma.f64 x (-.f64 1 y) (fma.f64 y -1/2 918938533204673/1000000000000000)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) 3)) (fma.f64 (fma.f64 1/2 y -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 1/2 y -918938533204673/1000000000000000)) (pow.f64 (*.f64 x (+.f64 y -1)) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2))) (neg.f64 (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2)) (/.f64 1 (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 1/2 y -918938533204673/1000000000000000) 2)) (fma.f64 x (+.f64 y -1) (fma.f64 1/2 y -918938533204673/1000000000000000)))
(/.f64 (-.f64 (pow.f64 (fma.f64 1/2 y -918938533204673/1000000000000000) 2) (pow.f64 (*.f64 x (+.f64 y -1)) 2)) (fma.f64 x (-.f64 1 y) (fma.f64 y -1/2 918938533204673/1000000000000000)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) 3)) (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (-.f64 (*.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))) (*.f64 (*.f64 x (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 3) (pow.f64 (fma.f64 y -1/2 918938533204673/1000000000000000) 3)) (fma.f64 (fma.f64 1/2 y -918938533204673/1000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 1/2 y -918938533204673/1000000000000000)) (pow.f64 (*.f64 x (+.f64 y -1)) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 3) 775995832041789488711238455368417219672369217/1000000000000000000000000000000000000000000000) (+.f64 (*.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y))) (-.f64 844448027808355901771309036929/1000000000000000000000000000000 (*.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 918938533204673/1000000000000000))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)) 3) 775995832041789488711238455368417219672369217/1000000000000000000000000000000000000000000000) (fma.f64 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)) (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)) (-.f64 844448027808355901771309036929/1000000000000000000000000000000 (*.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2))))))
(/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 y (+.f64 x -1/2)) x) 3) 775995832041789488711238455368417219672369217/1000000000000000000000000000000000000000000000) (+.f64 (fma.f64 (-.f64 (*.f64 y (+.f64 x -1/2)) x) (-.f64 (*.f64 y (+.f64 x -1/2)) x) 844448027808355901771309036929/1000000000000000000000000000000) (*.f64 -918938533204673/1000000000000000 (-.f64 (*.f64 y (+.f64 x -1/2)) x))))
(/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 y (+.f64 x -1/2)) x) 3) 775995832041789488711238455368417219672369217/1000000000000000000000000000000000000000000000) (+.f64 844448027808355901771309036929/1000000000000000000000000000000 (*.f64 (-.f64 (*.f64 y (+.f64 x -1/2)) x) (fma.f64 x (+.f64 y -1) (fma.f64 y -1/2 -918938533204673/1000000000000000)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (*.f64 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))) (-.f64 (*.f64 x (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000) 2)) (/.f64 1 (fma.f64 x (+.f64 y -1) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y -1)) 2) (pow.f64 (fma.f64 1/2 y -918938533204673/1000000000000000) 2)) (fma.f64 x (+.f64 y -1) (fma.f64 1/2 y -918938533204673/1000000000000000)))
(/.f64 (-.f64 (pow.f64 (fma.f64 1/2 y -918938533204673/1000000000000000) 2) (pow.f64 (*.f64 x (+.f64 y -1)) 2)) (fma.f64 x (-.f64 1 y) (fma.f64 y -1/2 918938533204673/1000000000000000)))
(/.f64 (fma.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) -844448027808355901771309036929/1000000000000000000000000000000) (-.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 918938533204673/1000000000000000))
(/.f64 (fma.f64 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)) (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)) -844448027808355901771309036929/1000000000000000000000000000000) (+.f64 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)) -918938533204673/1000000000000000))
(/.f64 (fma.f64 (-.f64 (*.f64 y (+.f64 x -1/2)) x) (-.f64 (*.f64 y (+.f64 x -1/2)) x) -844448027808355901771309036929/1000000000000000000000000000000) (fma.f64 x (+.f64 y -1) (fma.f64 y -1/2 -918938533204673/1000000000000000)))
(pow.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) 1)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) 3)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(pow.f64 (pow.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) 3) 1/3)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) 2)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(sqrt.f64 (pow.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) 2))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(log.f64 (exp.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000)) 3))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(exp.f64 (log.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 x (+.f64 y -1)) (fma.f64 y 1/2 -918938533204673/1000000000000000))) 1))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 x (+.f64 y -1) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 (+.f64 y -1) x (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 (*.f64 x (+.f64 y -1)) 1 (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 1 (*.f64 x (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 1 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)) 918938533204673/1000000000000000)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 y -1)) 2) (*.f64 (cbrt.f64 (+.f64 y -1)) x) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 (cbrt.f64 (*.f64 x (+.f64 y -1))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y -1))) 2) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y -1))) 2) (cbrt.f64 (*.f64 x (+.f64 y -1))) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 (sqrt.f64 (+.f64 y -1)) (*.f64 (sqrt.f64 (+.f64 y -1)) x) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (*.f64 x (+.f64 y -1))) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y))) (cbrt.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y)))) (cbrt.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y))) 918938533204673/1000000000000000)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 (sqrt.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y))) (sqrt.f64 (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 -1/2 y))) 918938533204673/1000000000000000)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 (+.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (*.f64 y 1/2))) (-.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (*.f64 y 1/2))) 918938533204673/1000000000000000)
(fma.f64 (+.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (*.f64 1/2 y))) (-.f64 (sqrt.f64 (*.f64 x (+.f64 y -1))) (sqrt.f64 (*.f64 1/2 y))) 918938533204673/1000000000000000)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 y -1)) 2)) (cbrt.f64 (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 (*.f64 x (sqrt.f64 (+.f64 y -1))) (sqrt.f64 (+.f64 y -1)) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 (*.f64 (+.f64 y -1) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(fma.f64 (*.f64 (+.f64 y -1) (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (fma.f64 y 1/2 -918938533204673/1000000000000000)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (-.f64 918938533204673/1000000000000000 x) (*.f64 y (+.f64 x -1/2)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (*.f64 y (+.f64 x -1/2)) (-.f64 918938533204673/1000000000000000 x))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (*.f64 (*.f64 y (+.f64 x -1/2)) 1) (-.f64 918938533204673/1000000000000000 x))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(+.f64 (+.f64 (*.f64 y (+.f64 x -1/2)) 918938533204673/1000000000000000) (neg.f64 x))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)))) 1)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(-.f64 (+.f64 (*.f64 y (+.f64 x -1/2)) 918938533204673/1000000000000000) x)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(*.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)) 1)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(*.f64 1 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(*.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) (pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) 2))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) 2) (cbrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(*.f64 (sqrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) (sqrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(/.f64 (+.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3) (pow.f64 (-.f64 918938533204673/1000000000000000 x) 3)) (+.f64 (*.f64 (*.f64 y (+.f64 x -1/2)) (*.f64 y (+.f64 x -1/2))) (-.f64 (pow.f64 (-.f64 918938533204673/1000000000000000 x) 2) (*.f64 (*.f64 y (+.f64 x -1/2)) (-.f64 918938533204673/1000000000000000 x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3) (pow.f64 (-.f64 918938533204673/1000000000000000 x) 3)) (fma.f64 (*.f64 y (+.f64 x -1/2)) (*.f64 y (+.f64 x -1/2)) (-.f64 (pow.f64 (-.f64 918938533204673/1000000000000000 x) 2) (*.f64 (-.f64 918938533204673/1000000000000000 x) (*.f64 y (+.f64 x -1/2))))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3) (pow.f64 (-.f64 918938533204673/1000000000000000 x) 3)) (fma.f64 y (*.f64 (+.f64 x -1/2) (*.f64 y (+.f64 x -1/2))) (*.f64 (-.f64 918938533204673/1000000000000000 x) (-.f64 (-.f64 918938533204673/1000000000000000 x) (*.f64 y (+.f64 x -1/2))))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3) (pow.f64 (-.f64 918938533204673/1000000000000000 x) 3)) (+.f64 (pow.f64 (-.f64 918938533204673/1000000000000000 x) 2) (*.f64 (*.f64 y (+.f64 x -1/2)) (+.f64 x (fma.f64 y (+.f64 x -1/2) -918938533204673/1000000000000000)))))
(/.f64 (-.f64 (*.f64 (*.f64 y (+.f64 x -1/2)) (*.f64 y (+.f64 x -1/2))) (pow.f64 (-.f64 918938533204673/1000000000000000 x) 2)) (-.f64 (*.f64 y (+.f64 x -1/2)) (-.f64 918938533204673/1000000000000000 x)))
(/.f64 (-.f64 (*.f64 y (*.f64 (+.f64 x -1/2) (*.f64 y (+.f64 x -1/2)))) (pow.f64 (-.f64 918938533204673/1000000000000000 x) 2)) (+.f64 (-.f64 (*.f64 y (+.f64 x -1/2)) 918938533204673/1000000000000000) x))
(/.f64 (-.f64 (*.f64 (+.f64 x -1/2) (*.f64 y (*.f64 y (+.f64 x -1/2)))) (pow.f64 (-.f64 918938533204673/1000000000000000 x) 2)) (+.f64 x (fma.f64 y (+.f64 x -1/2) -918938533204673/1000000000000000)))
(pow.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)) 1)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(pow.f64 (cbrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) 3)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(pow.f64 (pow.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)) 3) 1/3)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(pow.f64 (sqrt.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) 2)
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(sqrt.f64 (pow.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)) 2))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(log.f64 (exp.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(cbrt.f64 (pow.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x)) 3))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(expm1.f64 (log1p.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(log1p.f64 (expm1.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(exp.f64 (log.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
(exp.f64 (*.f64 (log.f64 (fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))) 1))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))

eval57.0ms (1.3%)

Compiler

Compiled 2351 to 1716 computations (27% saved)

prune19.0ms (0.4%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1294133
Fresh000
Picked112
Done000
Total1305135
Accuracy
100.0%
Counts
135 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x (+.f64 y -1)) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
51.5%
(-.f64 918938533204673/1000000000000000 (*.f64 1/2 y))
48.3%
(-.f64 918938533204673/1000000000000000 x)
52.8%
(*.f64 y (-.f64 x 1/2))
50.7%
(*.f64 x (-.f64 y 1))
Compiler

Compiled 39 to 30 computations (23.1% saved)

localize67.0ms (1.6%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 y (-.f64 x 1/2))
Compiler

Compiled 41 to 26 computations (36.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
Operation ival-sub, time spent: 10.0ms, 52.0% of total-time
Operation ival-mult, time spent: 7.0ms, 37.0% of total-time
Operation const, time spent: 2.0ms, 10.0% of total-time

series2.0ms (0%)

Counts
1 → 12
Calls
Call 1
Inputs
#<alt (*.f64 y (-.f64 x 1/2))>
Outputs
#<alt (*.f64 -1/2 y)>
#<alt (+.f64 (*.f64 -1/2 y) (*.f64 x y))>
#<alt (+.f64 (*.f64 -1/2 y) (*.f64 x y))>
#<alt (+.f64 (*.f64 -1/2 y) (*.f64 x y))>
#<alt (*.f64 x y)>
#<alt (*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))>
#<alt (*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))>
#<alt (*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))>
#<alt (*.f64 x y)>
#<alt (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))>
Calls

6 calls:

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

rewrite70.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
758×unpow-prod-down
463×log1p-expm1-u
463×expm1-log1p-u
452×log-prod
446×cbrt-prod
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01019
110219
2123419
Stop Event
node limit
Counts
1 → 29
Calls
Call 1
Inputs
(*.f64 y (-.f64 x 1/2))
Outputs
(+.f64 0 (*.f64 y (+.f64 x -1/2)))
(+.f64 (*.f64 y x) (*.f64 y -1/2))
(+.f64 (*.f64 x y) (*.f64 -1/2 y))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x -1/2)) y)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x -1/2)) y))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x -1/2)) y))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x -1/2)) y))))
(-.f64 (+.f64 1 (*.f64 y (+.f64 x -1/2))) 1)
(/.f64 (*.f64 y (+.f64 (pow.f64 x 3) -1/8)) (fma.f64 x x (fma.f64 x 1/2 1/4)))
(/.f64 (*.f64 y (fma.f64 x x -1/4)) (+.f64 x 1/2))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) -1/8) y) (fma.f64 x x (fma.f64 x 1/2 1/4)))
(/.f64 (*.f64 (fma.f64 x x -1/4) y) (+.f64 x 1/2))
(pow.f64 (*.f64 y (+.f64 x -1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) 3)
(pow.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2))) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 y (+.f64 x -1/2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 y (+.f64 x -1/2)))) 2)) (cbrt.f64 (log.f64 (*.f64 y (+.f64 x -1/2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 y (+.f64 x -1/2))))) (sqrt.f64 (log.f64 (*.f64 y (+.f64 x -1/2)))))
(sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 x -1/2)) y))
(cbrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (+.f64 x -1/2))))
(log1p.f64 (expm1.f64 (*.f64 y (+.f64 x -1/2))))
(exp.f64 (log.f64 (*.f64 y (+.f64 x -1/2))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2)))) 2))
(fma.f64 y x (*.f64 y -1/2))
(fma.f64 x y (*.f64 -1/2 y))

simplify64.0ms (1.5%)

Algorithm
egg-herbie
Rules
1056×fma-neg
818×times-frac
514×*-commutative
498×prod-exp
482×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01031050
12041050
25051048
319821048
439021048
Stop Event
node limit
Counts
41 → 52
Calls
Call 1
Inputs
(*.f64 -1/2 y)
(+.f64 (*.f64 -1/2 y) (*.f64 x y))
(+.f64 (*.f64 -1/2 y) (*.f64 x y))
(+.f64 (*.f64 -1/2 y) (*.f64 x y))
(*.f64 x y)
(*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))
(*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))
(*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))
(*.f64 x y)
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))
(+.f64 0 (*.f64 y (+.f64 x -1/2)))
(+.f64 (*.f64 y x) (*.f64 y -1/2))
(+.f64 (*.f64 x y) (*.f64 -1/2 y))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x -1/2)) y)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x -1/2)) y))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x -1/2)) y))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x -1/2)) y))))
(-.f64 (+.f64 1 (*.f64 y (+.f64 x -1/2))) 1)
(/.f64 (*.f64 y (+.f64 (pow.f64 x 3) -1/8)) (fma.f64 x x (fma.f64 x 1/2 1/4)))
(/.f64 (*.f64 y (fma.f64 x x -1/4)) (+.f64 x 1/2))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) -1/8) y) (fma.f64 x x (fma.f64 x 1/2 1/4)))
(/.f64 (*.f64 (fma.f64 x x -1/4) y) (+.f64 x 1/2))
(pow.f64 (*.f64 y (+.f64 x -1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) 3)
(pow.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2))) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 y (+.f64 x -1/2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 y (+.f64 x -1/2)))) 2)) (cbrt.f64 (log.f64 (*.f64 y (+.f64 x -1/2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 y (+.f64 x -1/2))))) (sqrt.f64 (log.f64 (*.f64 y (+.f64 x -1/2)))))
(sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 x -1/2)) y))
(cbrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (+.f64 x -1/2))))
(log1p.f64 (expm1.f64 (*.f64 y (+.f64 x -1/2))))
(exp.f64 (log.f64 (*.f64 y (+.f64 x -1/2))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2)))) 2))
(fma.f64 y x (*.f64 y -1/2))
(fma.f64 x y (*.f64 -1/2 y))
Outputs
(*.f64 -1/2 y)
(+.f64 (*.f64 -1/2 y) (*.f64 x y))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(+.f64 (*.f64 -1/2 y) (*.f64 x y))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(+.f64 (*.f64 -1/2 y) (*.f64 x y))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(*.f64 x y)
(*.f64 y x)
(*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(*.f64 x y)
(*.f64 y x)
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(+.f64 0 (*.f64 y (+.f64 x -1/2)))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(+.f64 (*.f64 y x) (*.f64 y -1/2))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(+.f64 (*.f64 x y) (*.f64 -1/2 y))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x -1/2)) y)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x -1/2)) y))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 -1/2 x)) y)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 -1/2 x)) y))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (+.f64 -1/2 x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (+.f64 -1/2 x)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 y (-.f64 x 1/2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 y (-.f64 x 1/2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x -1/2)) y))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x -1/2)) y))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 -1/2 x)) y))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (+.f64 -1/2 x)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (*.f64 y (-.f64 x 1/2))))))
(-.f64 (+.f64 1 (*.f64 y (+.f64 x -1/2))) 1)
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(/.f64 (*.f64 y (+.f64 (pow.f64 x 3) -1/8)) (fma.f64 x x (fma.f64 x 1/2 1/4)))
(*.f64 (+.f64 (pow.f64 x 3) -1/8) (/.f64 y (+.f64 1/4 (*.f64 x (+.f64 x 1/2)))))
(/.f64 (*.f64 y (+.f64 (pow.f64 x 3) -1/8)) (+.f64 1/4 (*.f64 x (+.f64 x 1/2))))
(/.f64 (*.f64 y (fma.f64 x x -1/4)) (+.f64 x 1/2))
(*.f64 y (/.f64 (fma.f64 x x -1/4) (+.f64 x 1/2)))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) -1/8) y) (fma.f64 x x (fma.f64 x 1/2 1/4)))
(/.f64 (*.f64 y (+.f64 (pow.f64 x 3) -1/8)) (fma.f64 x x (fma.f64 x 1/2 1/4)))
(*.f64 (+.f64 (pow.f64 x 3) -1/8) (/.f64 y (+.f64 1/4 (*.f64 x (+.f64 x 1/2)))))
(/.f64 (*.f64 y (+.f64 (pow.f64 x 3) -1/8)) (+.f64 1/4 (*.f64 x (+.f64 x 1/2))))
(/.f64 (*.f64 (fma.f64 x x -1/4) y) (+.f64 x 1/2))
(*.f64 y (/.f64 (fma.f64 x x -1/4) (+.f64 x 1/2)))
(pow.f64 (*.f64 y (+.f64 x -1/2)) 1)
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) 3)
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(pow.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 2) 1/2)
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(pow.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3) 1/3)
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(pow.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2))) 2)
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(pow.f64 (E.f64) (log.f64 (*.f64 y (+.f64 x -1/2))))
(pow.f64 (E.f64) (log.f64 (*.f64 y (+.f64 -1/2 x))))
(pow.f64 (E.f64) (log.f64 (*.f64 y (-.f64 x 1/2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 y (+.f64 x -1/2)))) 2)) (cbrt.f64 (log.f64 (*.f64 y (+.f64 x -1/2)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 y (+.f64 -1/2 x)))) 2)) (cbrt.f64 (log.f64 (*.f64 y (+.f64 -1/2 x)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 y (-.f64 x 1/2)))) 2)) (cbrt.f64 (log.f64 (*.f64 y (-.f64 x 1/2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 y (+.f64 x -1/2))))) (sqrt.f64 (log.f64 (*.f64 y (+.f64 x -1/2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 y (+.f64 -1/2 x))))) (sqrt.f64 (log.f64 (*.f64 y (+.f64 -1/2 x)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 y (-.f64 x 1/2))))) (sqrt.f64 (log.f64 (*.f64 y (-.f64 x 1/2)))))
(sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 2))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(log.f64 (pow.f64 (exp.f64 (+.f64 x -1/2)) y))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(cbrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(expm1.f64 (log1p.f64 (*.f64 y (+.f64 x -1/2))))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(log1p.f64 (expm1.f64 (*.f64 y (+.f64 x -1/2))))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(exp.f64 (log.f64 (*.f64 y (+.f64 x -1/2))))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 3))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3)) 1/3))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2)))) 2))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(fma.f64 y x (*.f64 y -1/2))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))
(fma.f64 x y (*.f64 -1/2 y))
(*.f64 y (+.f64 -1/2 x))
(*.f64 y (-.f64 x 1/2))

eval13.0ms (0.3%)

Compiler

Compiled 547 to 389 computations (28.9% saved)

prune10.0ms (0.2%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New49352
Fresh000
Picked044
Done101
Total50757
Accuracy
100.0%
Counts
57 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
51.5%
(-.f64 918938533204673/1000000000000000 (*.f64 1/2 y))
48.3%
(-.f64 918938533204673/1000000000000000 x)
52.8%
(+.f64 (*.f64 y x) (*.f64 y -1/2))
52.8%
(*.f64 y (-.f64 x 1/2))
28.1%
(*.f64 y x)
50.7%
(*.f64 x (-.f64 y 1))
27.1%
(*.f64 -1/2 y)
Compiler

Compiled 45 to 33 computations (26.7% saved)

localize53.0ms (1.2%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 y x) (*.f64 y -1/2))
Compiler

Compiled 29 to 13 computations (55.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
Operation ival-mult, time spent: 7.0ms, 72.0% of total-time
Operation ival-add, time spent: 2.0ms, 21.0% of total-time
Operation const, time spent: 1.0ms, 10.0% of total-time

series3.0ms (0.1%)

Counts
1 → 24
Calls
Call 1
Inputs
#<alt (+.f64 (*.f64 y x) (*.f64 y -1/2))>
Outputs
#<alt (*.f64 y (-.f64 x 1/2))>
#<alt (*.f64 y (-.f64 x 1/2))>
#<alt (*.f64 y (-.f64 x 1/2))>
#<alt (*.f64 y (-.f64 x 1/2))>
#<alt (*.f64 y (-.f64 x 1/2))>
#<alt (*.f64 y (-.f64 x 1/2))>
#<alt (*.f64 y (-.f64 x 1/2))>
#<alt (*.f64 y (-.f64 x 1/2))>
#<alt (*.f64 -1 (*.f64 y (+.f64 1/2 (*.f64 -1 x))))>
#<alt (*.f64 -1 (*.f64 y (+.f64 1/2 (*.f64 -1 x))))>
#<alt (*.f64 -1 (*.f64 y (+.f64 1/2 (*.f64 -1 x))))>
#<alt (*.f64 -1 (*.f64 y (+.f64 1/2 (*.f64 -1 x))))>
#<alt (*.f64 -1/2 y)>
#<alt (+.f64 (*.f64 -1/2 y) (*.f64 x y))>
#<alt (+.f64 (*.f64 -1/2 y) (*.f64 x y))>
#<alt (+.f64 (*.f64 -1/2 y) (*.f64 x y))>
#<alt (*.f64 x y)>
#<alt (*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))>
#<alt (*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))>
#<alt (*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))>
#<alt (*.f64 x y)>
#<alt (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))>
Calls

6 calls:

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

rewrite81.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1218×unpow-prod-down
658×fma-define
636×log-prod
599×log1p-expm1-u
599×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01119
112119
2164719
Stop Event
node limit
Counts
1 → 82
Calls
Call 1
Inputs
(+.f64 (*.f64 y x) (*.f64 y -1/2))
Outputs
(-.f64 (exp.f64 (log1p.f64 (*.f64 y (+.f64 x -1/2)))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 x -1/2))) (/.f64 (*.f64 (pow.f64 y 2) 1/4) (*.f64 y (-.f64 x -1/2))))
(*.f64 y (+.f64 x -1/2))
(*.f64 (*.f64 y (+.f64 x -1/2)) 1)
(*.f64 (*.f64 y (+.f64 x -1/2)) (log.f64 (exp.f64 1)))
(*.f64 1 (*.f64 y (+.f64 x -1/2)))
(*.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) 2) (cbrt.f64 (*.f64 y (+.f64 x -1/2))))
(*.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (+.f64 x -1/2)))
(*.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2))) (sqrt.f64 (*.f64 y (+.f64 x -1/2))))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (+.f64 x -1/2)))
(*.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))
(*.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (pow.f64 (/.f64 1 (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) 1))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (/.f64 1 (*.f64 y (-.f64 x -1/2))))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (pow.f64 (/.f64 1 (*.f64 y (-.f64 x -1/2))) 1))
(*.f64 (+.f64 x -1/2) y)
(*.f64 (pow.f64 1 1/3) (*.f64 y (+.f64 x -1/2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 2) 3) (cbrt.f64 (*.f64 y (+.f64 x -1/2))))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 2) y) 1/3) (cbrt.f64 (+.f64 x -1/2)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 y (+.f64 x -1/2)) (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))))
(*.f64 (pow.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3))))
(/.f64 1 (/.f64 (*.f64 y (-.f64 x -1/2)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4))))
(/.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (fma.f64 (pow.f64 y 2) 1/4 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (*.f64 x (*.f64 y -1/2))))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (*.f64 y (-.f64 x -1/2)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3))) (neg.f64 (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4))) (neg.f64 (*.f64 y (-.f64 x -1/2))))
(/.f64 (-.f64 (*.f64 (pow.f64 y 2) 1/4) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 y -1/2) (*.f64 y x)))
(pow.f64 (*.f64 y (+.f64 x -1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) 3)
(pow.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3))) -1)
(pow.f64 (/.f64 (*.f64 y (-.f64 x -1/2)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4))) -1)
(sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 2))
(log.f64 (pow.f64 (exp.f64 y) (+.f64 x -1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 y (+.f64 x -1/2)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 (*.f64 y -1/2)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (pow.f64 (exp.f64 y) -1/2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (+.f64 1 (expm1.f64 (*.f64 y -1/2)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) -1/2) (+.f64 1 (expm1.f64 (*.f64 y x)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y -1/2))) (pow.f64 (exp.f64 x) y)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y -1/2))) (+.f64 1 (expm1.f64 (*.f64 y x)))))
(cbrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (+.f64 x -1/2))))
(log1p.f64 (expm1.f64 (*.f64 y (+.f64 x -1/2))))
(exp.f64 (log.f64 (*.f64 y (+.f64 x -1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 y (+.f64 x -1/2))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 y (+.f64 x -1/2))) 1) 1))
(fma.f64 y x (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 y x))
(fma.f64 x y (*.f64 y -1/2))
(fma.f64 (*.f64 y x) 1 (*.f64 y -1/2))
(fma.f64 -1/2 y (*.f64 y x))
(fma.f64 (*.f64 y -1/2) 1 (*.f64 y x))
(fma.f64 1 (*.f64 y x) (*.f64 y -1/2))
(fma.f64 1 (*.f64 y -1/2) (*.f64 y x))
(fma.f64 (cbrt.f64 (*.f64 y -1/2)) (pow.f64 (cbrt.f64 (*.f64 y -1/2)) 2) (*.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y -1/2)) 2) (cbrt.f64 (*.f64 y -1/2)) (*.f64 y x))
(fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 y -1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 y -1/2))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 y -1/2))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) -1/2) (*.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 y -1/2))
(fma.f64 (sqrt.f64 (*.f64 y -1/2)) (sqrt.f64 (*.f64 y -1/2)) (*.f64 y x))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 y -1/2))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 y -1/2))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) -1/2) (*.f64 y x))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 y -1/2))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 y -1/2))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 y -1/2))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 y -1/2))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 y -1/2))
(fma.f64 (*.f64 -1/2 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 y x))
(fma.f64 (*.f64 -1/2 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 y x))

simplify100.0ms (2.4%)

Algorithm
egg-herbie
Rules
1238×unswap-sqr
870×times-frac
596×fma-define
530×div-sub
490×exp-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02283129
15283034
213612900
352582900
Stop Event
node limit
Counts
106 → 105
Calls
Call 1
Inputs
(*.f64 y (-.f64 x 1/2))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (-.f64 x 1/2))
(*.f64 -1 (*.f64 y (+.f64 1/2 (*.f64 -1 x))))
(*.f64 -1 (*.f64 y (+.f64 1/2 (*.f64 -1 x))))
(*.f64 -1 (*.f64 y (+.f64 1/2 (*.f64 -1 x))))
(*.f64 -1 (*.f64 y (+.f64 1/2 (*.f64 -1 x))))
(*.f64 -1/2 y)
(+.f64 (*.f64 -1/2 y) (*.f64 x y))
(+.f64 (*.f64 -1/2 y) (*.f64 x y))
(+.f64 (*.f64 -1/2 y) (*.f64 x y))
(*.f64 x y)
(*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))
(*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))
(*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))
(*.f64 x y)
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 y (+.f64 x -1/2)))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 x -1/2))) (/.f64 (*.f64 (pow.f64 y 2) 1/4) (*.f64 y (-.f64 x -1/2))))
(*.f64 y (+.f64 x -1/2))
(*.f64 (*.f64 y (+.f64 x -1/2)) 1)
(*.f64 (*.f64 y (+.f64 x -1/2)) (log.f64 (exp.f64 1)))
(*.f64 1 (*.f64 y (+.f64 x -1/2)))
(*.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) 2) (cbrt.f64 (*.f64 y (+.f64 x -1/2))))
(*.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (+.f64 x -1/2)))
(*.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2))) (sqrt.f64 (*.f64 y (+.f64 x -1/2))))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (+.f64 x -1/2)))
(*.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))
(*.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (pow.f64 (/.f64 1 (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) 1))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (/.f64 1 (*.f64 y (-.f64 x -1/2))))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (pow.f64 (/.f64 1 (*.f64 y (-.f64 x -1/2))) 1))
(*.f64 (+.f64 x -1/2) y)
(*.f64 (pow.f64 1 1/3) (*.f64 y (+.f64 x -1/2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 2) 3) (cbrt.f64 (*.f64 y (+.f64 x -1/2))))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 2) y) 1/3) (cbrt.f64 (+.f64 x -1/2)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 y (+.f64 x -1/2)) (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))))
(*.f64 (pow.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3))))
(/.f64 1 (/.f64 (*.f64 y (-.f64 x -1/2)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4))))
(/.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (fma.f64 (pow.f64 y 2) 1/4 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (*.f64 x (*.f64 y -1/2))))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (*.f64 y (-.f64 x -1/2)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3))) (neg.f64 (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4))) (neg.f64 (*.f64 y (-.f64 x -1/2))))
(/.f64 (-.f64 (*.f64 (pow.f64 y 2) 1/4) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 y -1/2) (*.f64 y x)))
(pow.f64 (*.f64 y (+.f64 x -1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) 3)
(pow.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3))) -1)
(pow.f64 (/.f64 (*.f64 y (-.f64 x -1/2)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4))) -1)
(sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 2))
(log.f64 (pow.f64 (exp.f64 y) (+.f64 x -1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 y (+.f64 x -1/2)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 (*.f64 y -1/2)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (pow.f64 (exp.f64 y) -1/2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (+.f64 1 (expm1.f64 (*.f64 y -1/2)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) -1/2) (+.f64 1 (expm1.f64 (*.f64 y x)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y -1/2))) (pow.f64 (exp.f64 x) y)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y -1/2))) (+.f64 1 (expm1.f64 (*.f64 y x)))))
(cbrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 y (+.f64 x -1/2))))
(log1p.f64 (expm1.f64 (*.f64 y (+.f64 x -1/2))))
(exp.f64 (log.f64 (*.f64 y (+.f64 x -1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 y (+.f64 x -1/2))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 y (+.f64 x -1/2))) 1) 1))
(fma.f64 y x (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 y x))
(fma.f64 x y (*.f64 y -1/2))
(fma.f64 (*.f64 y x) 1 (*.f64 y -1/2))
(fma.f64 -1/2 y (*.f64 y x))
(fma.f64 (*.f64 y -1/2) 1 (*.f64 y x))
(fma.f64 1 (*.f64 y x) (*.f64 y -1/2))
(fma.f64 1 (*.f64 y -1/2) (*.f64 y x))
(fma.f64 (cbrt.f64 (*.f64 y -1/2)) (pow.f64 (cbrt.f64 (*.f64 y -1/2)) 2) (*.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y -1/2)) 2) (cbrt.f64 (*.f64 y -1/2)) (*.f64 y x))
(fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 y -1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 y -1/2))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 y -1/2))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) -1/2) (*.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 y -1/2))
(fma.f64 (sqrt.f64 (*.f64 y -1/2)) (sqrt.f64 (*.f64 y -1/2)) (*.f64 y x))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 y -1/2))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 y -1/2))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) -1/2) (*.f64 y x))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 y -1/2))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 y -1/2))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 y -1/2))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 y -1/2))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 y -1/2))
(fma.f64 (*.f64 -1/2 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 y x))
(fma.f64 (*.f64 -1/2 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 y x))
Outputs
(*.f64 y (-.f64 x 1/2))
(*.f64 y (+.f64 x -1/2))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (+.f64 x -1/2))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (+.f64 x -1/2))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (+.f64 x -1/2))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (+.f64 x -1/2))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (+.f64 x -1/2))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (+.f64 x -1/2))
(*.f64 y (-.f64 x 1/2))
(*.f64 y (+.f64 x -1/2))
(*.f64 -1 (*.f64 y (+.f64 1/2 (*.f64 -1 x))))
(*.f64 y (+.f64 x -1/2))
(*.f64 -1 (*.f64 y (+.f64 1/2 (*.f64 -1 x))))
(*.f64 y (+.f64 x -1/2))
(*.f64 -1 (*.f64 y (+.f64 1/2 (*.f64 -1 x))))
(*.f64 y (+.f64 x -1/2))
(*.f64 -1 (*.f64 y (+.f64 1/2 (*.f64 -1 x))))
(*.f64 y (+.f64 x -1/2))
(*.f64 -1/2 y)
(*.f64 y -1/2)
(+.f64 (*.f64 -1/2 y) (*.f64 x y))
(*.f64 y (+.f64 x -1/2))
(+.f64 (*.f64 -1/2 y) (*.f64 x y))
(*.f64 y (+.f64 x -1/2))
(+.f64 (*.f64 -1/2 y) (*.f64 x y))
(*.f64 y (+.f64 x -1/2))
(*.f64 x y)
(*.f64 y x)
(*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))
(*.f64 y (+.f64 x -1/2))
(*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))
(*.f64 y (+.f64 x -1/2))
(*.f64 x (+.f64 y (*.f64 -1/2 (/.f64 y x))))
(*.f64 y (+.f64 x -1/2))
(*.f64 x y)
(*.f64 y x)
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))
(*.f64 y (+.f64 x -1/2))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))
(*.f64 y (+.f64 x -1/2))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 y) (*.f64 1/2 (/.f64 y x)))))
(*.f64 y (+.f64 x -1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 y (+.f64 x -1/2)))) 1)
(*.f64 y (+.f64 x -1/2))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 x -1/2))) (/.f64 (*.f64 (pow.f64 y 2) 1/4) (*.f64 y (-.f64 x -1/2))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) -1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (fma.f64 (*.f64 y x) x (*.f64 -1/4 y)) (+.f64 x 1/2))
(*.f64 y (+.f64 x -1/2))
(*.f64 (*.f64 y (+.f64 x -1/2)) 1)
(*.f64 y (+.f64 x -1/2))
(*.f64 (*.f64 y (+.f64 x -1/2)) (log.f64 (exp.f64 1)))
(*.f64 y (+.f64 x -1/2))
(*.f64 1 (*.f64 y (+.f64 x -1/2)))
(*.f64 y (+.f64 x -1/2))
(*.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) 2))
(*.f64 y (+.f64 x -1/2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) 2) (cbrt.f64 (*.f64 y (+.f64 x -1/2))))
(*.f64 y (+.f64 x -1/2))
(*.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (+.f64 x -1/2)))
(*.f64 y (+.f64 x -1/2))
(*.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2))) (sqrt.f64 (*.f64 y (+.f64 x -1/2))))
(*.f64 y (+.f64 x -1/2))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (+.f64 x -1/2)))
(*.f64 y (+.f64 x -1/2))
(*.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))
(*.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 (*.f64 y -1/2) (*.f64 y (-.f64 -1/2 x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (*.f64 (pow.f64 y 3) (+.f64 -1/8 (pow.f64 x 3))) (fma.f64 (*.f64 y -1/2) (*.f64 y (-.f64 -1/2 x)) (pow.f64 (*.f64 y x) 2)))
(*.f64 (pow.f64 y 3) (/.f64 (+.f64 -1/8 (pow.f64 x 3)) (fma.f64 (pow.f64 y 2) 1/4 (*.f64 (*.f64 y x) (*.f64 y (+.f64 x 1/2))))))
(/.f64 (*.f64 (pow.f64 y 3) (+.f64 -1/8 (pow.f64 x 3))) (fma.f64 (*.f64 y x) (*.f64 y (+.f64 x 1/2)) (*.f64 (pow.f64 y 2) 1/4)))
(*.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (pow.f64 (/.f64 1 (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) 1))
(*.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 (*.f64 y -1/2) (*.f64 y (-.f64 -1/2 x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (*.f64 (pow.f64 y 3) (+.f64 -1/8 (pow.f64 x 3))) (fma.f64 (*.f64 y -1/2) (*.f64 y (-.f64 -1/2 x)) (pow.f64 (*.f64 y x) 2)))
(*.f64 (pow.f64 y 3) (/.f64 (+.f64 -1/8 (pow.f64 x 3)) (fma.f64 (pow.f64 y 2) 1/4 (*.f64 (*.f64 y x) (*.f64 y (+.f64 x 1/2))))))
(/.f64 (*.f64 (pow.f64 y 3) (+.f64 -1/8 (pow.f64 x 3))) (fma.f64 (*.f64 y x) (*.f64 y (+.f64 x 1/2)) (*.f64 (pow.f64 y 2) 1/4)))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (/.f64 1 (*.f64 y (-.f64 x -1/2))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) -1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (fma.f64 (*.f64 y x) x (*.f64 -1/4 y)) (+.f64 x 1/2))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (pow.f64 (/.f64 1 (*.f64 y (-.f64 x -1/2))) 1))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) -1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (fma.f64 (*.f64 y x) x (*.f64 -1/4 y)) (+.f64 x 1/2))
(*.f64 (+.f64 x -1/2) y)
(*.f64 y (+.f64 x -1/2))
(*.f64 (pow.f64 1 1/3) (*.f64 y (+.f64 x -1/2)))
(*.f64 y (+.f64 x -1/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 2) 3) (cbrt.f64 (*.f64 y (+.f64 x -1/2))))
(*.f64 y (+.f64 x -1/2))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 3))
(*.f64 y (+.f64 x -1/2))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3))) (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3))))
(*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2))) 3)) (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2))) 3)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 2) y) 1/3) (cbrt.f64 (+.f64 x -1/2)))
(*.f64 (cbrt.f64 (*.f64 y (pow.f64 (*.f64 y (+.f64 x -1/2)) 2))) (cbrt.f64 (+.f64 x -1/2)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 y (+.f64 x -1/2)) (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) (cbrt.f64 (pow.f64 (*.f64 y (*.f64 (+.f64 x -1/2) (cbrt.f64 (*.f64 y (+.f64 x -1/2))))) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) 4) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) 8)))
(*.f64 (pow.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2)))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 5/2)) (cbrt.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3))))
(*.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 (*.f64 y -1/2) (*.f64 y (-.f64 -1/2 x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (*.f64 (pow.f64 y 3) (+.f64 -1/8 (pow.f64 x 3))) (fma.f64 (*.f64 y -1/2) (*.f64 y (-.f64 -1/2 x)) (pow.f64 (*.f64 y x) 2)))
(*.f64 (pow.f64 y 3) (/.f64 (+.f64 -1/8 (pow.f64 x 3)) (fma.f64 (pow.f64 y 2) 1/4 (*.f64 (*.f64 y x) (*.f64 y (+.f64 x 1/2))))))
(/.f64 (*.f64 (pow.f64 y 3) (+.f64 -1/8 (pow.f64 x 3))) (fma.f64 (*.f64 y x) (*.f64 y (+.f64 x 1/2)) (*.f64 (pow.f64 y 2) 1/4)))
(/.f64 1 (/.f64 (*.f64 y (-.f64 x -1/2)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) -1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (fma.f64 (*.f64 y x) x (*.f64 -1/4 y)) (+.f64 x 1/2))
(/.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(*.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 (*.f64 y -1/2) (*.f64 y (-.f64 -1/2 x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (*.f64 (pow.f64 y 3) (+.f64 -1/8 (pow.f64 x 3))) (fma.f64 (*.f64 y -1/2) (*.f64 y (-.f64 -1/2 x)) (pow.f64 (*.f64 y x) 2)))
(*.f64 (pow.f64 y 3) (/.f64 (+.f64 -1/8 (pow.f64 x 3)) (fma.f64 (pow.f64 y 2) 1/4 (*.f64 (*.f64 y x) (*.f64 y (+.f64 x 1/2))))))
(/.f64 (*.f64 (pow.f64 y 3) (+.f64 -1/8 (pow.f64 x 3))) (fma.f64 (*.f64 y x) (*.f64 y (+.f64 x 1/2)) (*.f64 (pow.f64 y 2) 1/4)))
(/.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (fma.f64 (pow.f64 y 2) 1/4 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (*.f64 x (*.f64 y -1/2))))))
(*.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 (*.f64 y -1/2) (*.f64 y (-.f64 -1/2 x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (*.f64 (pow.f64 y 3) (+.f64 -1/8 (pow.f64 x 3))) (fma.f64 (*.f64 y -1/2) (*.f64 y (-.f64 -1/2 x)) (pow.f64 (*.f64 y x) 2)))
(*.f64 (pow.f64 y 3) (/.f64 (+.f64 -1/8 (pow.f64 x 3)) (fma.f64 (pow.f64 y 2) 1/4 (*.f64 (*.f64 y x) (*.f64 y (+.f64 x 1/2))))))
(/.f64 (*.f64 (pow.f64 y 3) (+.f64 -1/8 (pow.f64 x 3))) (fma.f64 (*.f64 y x) (*.f64 y (+.f64 x 1/2)) (*.f64 (pow.f64 y 2) 1/4)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (*.f64 y (-.f64 x -1/2)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) -1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (fma.f64 (*.f64 y x) x (*.f64 -1/4 y)) (+.f64 x 1/2))
(/.f64 (neg.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3))) (neg.f64 (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))
(*.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 (*.f64 y -1/2) (*.f64 y (-.f64 -1/2 x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (*.f64 (pow.f64 y 3) (+.f64 -1/8 (pow.f64 x 3))) (fma.f64 (*.f64 y -1/2) (*.f64 y (-.f64 -1/2 x)) (pow.f64 (*.f64 y x) 2)))
(*.f64 (pow.f64 y 3) (/.f64 (+.f64 -1/8 (pow.f64 x 3)) (fma.f64 (pow.f64 y 2) 1/4 (*.f64 (*.f64 y x) (*.f64 y (+.f64 x 1/2))))))
(/.f64 (*.f64 (pow.f64 y 3) (+.f64 -1/8 (pow.f64 x 3))) (fma.f64 (*.f64 y x) (*.f64 y (+.f64 x 1/2)) (*.f64 (pow.f64 y 2) 1/4)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4))) (neg.f64 (*.f64 y (-.f64 x -1/2))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) -1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (fma.f64 (*.f64 y x) x (*.f64 -1/4 y)) (+.f64 x 1/2))
(/.f64 (-.f64 (*.f64 (pow.f64 y 2) 1/4) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 y -1/2) (*.f64 y x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) -1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (fma.f64 (*.f64 y x) x (*.f64 -1/4 y)) (+.f64 x 1/2))
(pow.f64 (*.f64 y (+.f64 x -1/2)) 1)
(*.f64 y (+.f64 x -1/2))
(pow.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2))) 3)
(*.f64 y (+.f64 x -1/2))
(pow.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 2) 1/2)
(*.f64 y (+.f64 x -1/2))
(pow.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3) 1/3)
(*.f64 y (+.f64 x -1/2))
(pow.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2))) 2)
(*.f64 y (+.f64 x -1/2))
(pow.f64 (/.f64 (fma.f64 (*.f64 y -1/2) (-.f64 (*.f64 y -1/2) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3))) -1)
(*.f64 (fma.f64 (pow.f64 y 3) -1/8 (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 (*.f64 y -1/2) (*.f64 y (-.f64 -1/2 x)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (*.f64 (pow.f64 y 3) (+.f64 -1/8 (pow.f64 x 3))) (fma.f64 (*.f64 y -1/2) (*.f64 y (-.f64 -1/2 x)) (pow.f64 (*.f64 y x) 2)))
(*.f64 (pow.f64 y 3) (/.f64 (+.f64 -1/8 (pow.f64 x 3)) (fma.f64 (pow.f64 y 2) 1/4 (*.f64 (*.f64 y x) (*.f64 y (+.f64 x 1/2))))))
(/.f64 (*.f64 (pow.f64 y 3) (+.f64 -1/8 (pow.f64 x 3))) (fma.f64 (*.f64 y x) (*.f64 y (+.f64 x 1/2)) (*.f64 (pow.f64 y 2) 1/4)))
(pow.f64 (/.f64 (*.f64 y (-.f64 x -1/2)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4))) -1)
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) 1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (pow.f64 y 2) -1/4)) (*.f64 y (+.f64 x 1/2)))
(/.f64 (fma.f64 (*.f64 y x) x (*.f64 -1/4 y)) (+.f64 x 1/2))
(sqrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 2))
(*.f64 y (+.f64 x -1/2))
(log.f64 (pow.f64 (exp.f64 y) (+.f64 x -1/2)))
(*.f64 y (+.f64 x -1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 y (+.f64 x -1/2)))))
(*.f64 y (+.f64 x -1/2))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 (*.f64 y -1/2)))))
(*.f64 y (+.f64 x -1/2))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (pow.f64 (exp.f64 y) -1/2)))
(*.f64 y (+.f64 x -1/2))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (+.f64 1 (expm1.f64 (*.f64 y -1/2)))))
(*.f64 y (+.f64 x -1/2))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) -1/2) (+.f64 1 (expm1.f64 (*.f64 y x)))))
(*.f64 y (+.f64 x -1/2))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y -1/2))) (pow.f64 (exp.f64 x) y)))
(*.f64 y (+.f64 x -1/2))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y -1/2))) (+.f64 1 (expm1.f64 (*.f64 y x)))))
(*.f64 y (+.f64 x -1/2))
(cbrt.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3))
(*.f64 y (+.f64 x -1/2))
(expm1.f64 (log1p.f64 (*.f64 y (+.f64 x -1/2))))
(*.f64 y (+.f64 x -1/2))
(log1p.f64 (expm1.f64 (*.f64 y (+.f64 x -1/2))))
(*.f64 y (+.f64 x -1/2))
(exp.f64 (log.f64 (*.f64 y (+.f64 x -1/2))))
(*.f64 y (+.f64 x -1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 y (+.f64 x -1/2))) 1))
(*.f64 y (+.f64 x -1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 y (+.f64 x -1/2)))) 3))
(*.f64 y (+.f64 x -1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 y (+.f64 x -1/2)) 3)) 1/3))
(*.f64 y (+.f64 x -1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 y (+.f64 x -1/2)))) 2))
(*.f64 y (+.f64 x -1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 y (+.f64 x -1/2))) 1) 1))
(*.f64 y (+.f64 x -1/2))
(fma.f64 y x (*.f64 y -1/2))
(*.f64 y (+.f64 x -1/2))
(fma.f64 y -1/2 (*.f64 y x))
(*.f64 y (+.f64 x -1/2))
(fma.f64 x y (*.f64 y -1/2))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (*.f64 y x) 1 (*.f64 y -1/2))
(*.f64 y (+.f64 x -1/2))
(fma.f64 -1/2 y (*.f64 y x))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (*.f64 y -1/2) 1 (*.f64 y x))
(*.f64 y (+.f64 x -1/2))
(fma.f64 1 (*.f64 y x) (*.f64 y -1/2))
(*.f64 y (+.f64 x -1/2))
(fma.f64 1 (*.f64 y -1/2) (*.f64 y x))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (cbrt.f64 (*.f64 y -1/2)) (pow.f64 (cbrt.f64 (*.f64 y -1/2)) 2) (*.f64 y x))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y -1/2)) 2) (cbrt.f64 (*.f64 y -1/2)) (*.f64 y x))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 y -1/2))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 y -1/2))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 y -1/2))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) -1/2) (*.f64 y x))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 y -1/2))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (sqrt.f64 (*.f64 y -1/2)) (sqrt.f64 (*.f64 y -1/2)) (*.f64 y x))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 y -1/2))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 y -1/2))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) -1/2) (*.f64 y x))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 y -1/2))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 y -1/2))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 y -1/2))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 y -1/2))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 y -1/2))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (*.f64 -1/2 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 y x))
(*.f64 y (+.f64 x -1/2))
(fma.f64 (*.f64 -1/2 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 y x))
(*.f64 y (+.f64 x -1/2))

eval32.0ms (0.8%)

Compiler

Compiled 1407 to 900 computations (36% saved)

prune17.0ms (0.4%)

Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New1050105
Fresh000
Picked033
Done044
Total1057112
Accuracy
100.0%
Counts
112 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
51.5%
(-.f64 918938533204673/1000000000000000 (*.f64 1/2 y))
48.3%
(-.f64 918938533204673/1000000000000000 x)
52.8%
(+.f64 (*.f64 y x) (*.f64 y -1/2))
52.8%
(*.f64 y (-.f64 x 1/2))
28.1%
(*.f64 y x)
50.7%
(*.f64 x (-.f64 y 1))
27.1%
(*.f64 -1/2 y)
Compiler

Compiled 108 to 74 computations (31.5% saved)

regimes24.0ms (0.6%)

Counts
10 → 1
Calls
Call 1
Inputs
(*.f64 -1/2 y)
(*.f64 y x)
(-.f64 918938533204673/1000000000000000 x)
(*.f64 x (-.f64 y 1))
(*.f64 y (-.f64 x 1/2))
(-.f64 918938533204673/1000000000000000 (*.f64 1/2 y))
(+.f64 (*.f64 y x) (*.f64 y -1/2))
(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(-.f64 (*.f64 x (+.f64 y -1)) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
(fma.f64 y (+.f64 x -1/2) (-.f64 918938533204673/1000000000000000 x))
Outputs
(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
Calls

4 calls:

7.0ms
x
6.0ms
y
5.0ms
(-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2))
5.0ms
(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
100.0%1(-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2))
Compiler

Compiled 30 to 22 computations (26.7% saved)

regimes29.0ms (0.7%)

Counts
7 → 3
Calls
Call 1
Inputs
(*.f64 -1/2 y)
(*.f64 y x)
(-.f64 918938533204673/1000000000000000 x)
(*.f64 x (-.f64 y 1))
(*.f64 y (-.f64 x 1/2))
(-.f64 918938533204673/1000000000000000 (*.f64 1/2 y))
(+.f64 (*.f64 y x) (*.f64 y -1/2))
Outputs
(*.f64 x (-.f64 y 1))
(-.f64 918938533204673/1000000000000000 (*.f64 1/2 y))
(*.f64 x (-.f64 y 1))
Calls

2 calls:

14.0ms
y
14.0ms
x
Results
AccuracySegmentsBranch
98.9%3x
97.7%3y
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes39.0ms (0.9%)

Counts
5 → 3
Calls
Call 1
Inputs
(*.f64 -1/2 y)
(*.f64 y x)
(-.f64 918938533204673/1000000000000000 x)
(*.f64 x (-.f64 y 1))
(*.f64 y (-.f64 x 1/2))
Outputs
(*.f64 y (-.f64 x 1/2))
(-.f64 918938533204673/1000000000000000 x)
(*.f64 y (-.f64 x 1/2))
Calls

2 calls:

26.0ms
x
12.0ms
y
Results
AccuracySegmentsBranch
97.7%3y
84.5%7x
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes49.0ms (1.2%)

Counts
4 → 6
Calls
Call 1
Inputs
(*.f64 -1/2 y)
(*.f64 y x)
(-.f64 918938533204673/1000000000000000 x)
(*.f64 x (-.f64 y 1))
Outputs
(*.f64 x (-.f64 y 1))
(*.f64 -1/2 y)
(-.f64 918938533204673/1000000000000000 x)
(*.f64 -1/2 y)
(-.f64 918938533204673/1000000000000000 x)
(*.f64 x (-.f64 y 1))
Calls

2 calls:

26.0ms
y
19.0ms
x
Results
AccuracySegmentsBranch
82.1%6x
79.6%8y
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes62.0ms (1.5%)

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

2 calls:

39.0ms
x
23.0ms
y
Results
AccuracySegmentsBranch
79.4%8y
71.4%14x
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes25.0ms (0.6%)

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

2 calls:

17.0ms
y
8.0ms
x
Results
AccuracySegmentsBranch
52.0%3x
35.5%7y
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes3.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 -1/2 y)
Outputs
(*.f64 -1/2 y)
Calls

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
27.1%1x
Compiler

Compiled 3 to 2 computations (33.3% saved)

bsearch47.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
24.0ms
6.41737638394667e-9
486200669243.86523
23.0ms
-28348054.285774134
-0.0038537666759041575
Results
40.0ms335×256valid
0.0ms256valid
Compiler

Compiled 354 to 287 computations (18.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
Operation ival-sub, time spent: 5.0ms, 40.0% of total-time
Operation ival-mult, time spent: 5.0ms, 40.0% of total-time
Operation ival-add, time spent: 2.0ms, 16.0% of total-time
Operation const, time spent: 1.0ms, 8.0% of total-time

bsearch36.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
0.7756224588987229
9.905113748910507
23.0ms
-443349221.967433
-3.1621780754930017e-7
Results
29.0ms255×256valid
0.0ms256valid
Compiler

Compiled 242 to 190 computations (21.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
Operation ival-mult, time spent: 4.0ms, 46.0% of total-time
Operation ival-sub, time spent: 3.0ms, 34.0% of total-time
Operation ival-add, time spent: 1.0ms, 11.0% of total-time
Operation const, time spent: 1.0ms, 11.0% of total-time

bsearch98.0ms (2.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
27.0ms
6.41737638394667e-9
486200669243.86523
18.0ms
9.818503107068651e-145
2.7285732763433506e-142
22.0ms
9.736883705039298e-191
5.938915329457055e-181
18.0ms
-1.2245718531435056e-296
-1.3862028888790801e-300
12.0ms
-0.0038537666759041575
-0.0013470244058748436
Results
80.0ms671×256valid
0.0ms256valid
Compiler

Compiled 554 to 450 computations (18.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 24.0ms
Operation ival-mult, time spent: 10.0ms, 42.0% of total-time
Operation ival-sub, time spent: 8.0ms, 34.0% of total-time
Operation ival-add, time spent: 4.0ms, 17.0% of total-time
Operation const, time spent: 2.0ms, 8.0% of total-time

bsearch108.0ms (2.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
7.066728996827664e+289
8.379240041663488e+297
21.0ms
6.617114723173913e+259
2.562211634903065e+269
9.0ms
6.000315518877519e+225
9.909004594668436e+225
14.0ms
1.825771324018484e+114
1.7687747362554541e+115
14.0ms
0.7756224588987229
9.905113748910507
22.0ms
-443349221.967433
-3.1621780754930017e-7
9.0ms
-4.963056901348151e+123
-2.5664446857652917e+123
Results
67.0ms568×256valid
24.0ms199×256infinite
0.0ms256valid
Compiler

Compiled 594 to 456 computations (23.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
Operation ival-mult, time spent: 11.0ms, 41.0% of total-time
Operation ival-sub, time spent: 9.0ms, 34.0% of total-time
Operation ival-add, time spent: 4.0ms, 15.0% of total-time
Operation const, time spent: 2.0ms, 7.0% of total-time

bsearch47.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
24.0ms
6.41737638394667e-9
486200669243.86523
23.0ms
-28348054.285774134
-0.0038537666759041575
Results
40.0ms335×256valid
0.0ms256valid
Compiler

Compiled 270 to 203 computations (24.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
Operation ival-mult, time spent: 5.0ms, 43.0% of total-time
Operation ival-sub, time spent: 4.0ms, 34.0% of total-time
Operation ival-add, time spent: 2.0ms, 17.0% of total-time
Operation const, time spent: 1.0ms, 9.0% of total-time

simplify22.0ms (0.5%)

Algorithm
egg-herbie
Rules
36×unsub-neg
28×neg-mul-1
24×+-commutative
20×sub-neg
20×*-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
077538
1119535
2142529
3161525
4188525
5227525
6228525
7229525
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(if (<=.f64 x -6124895493223875/9007199254740992) (*.f64 x (-.f64 y 1)) (if (<=.f64 x 5854679515581645/9007199254740992) (-.f64 918938533204673/1000000000000000 (*.f64 1/2 y)) (*.f64 x (-.f64 y 1))))
(if (<=.f64 y -3039929748475085/2251799813685248) (*.f64 y (-.f64 x 1/2)) (if (<=.f64 y 5404319552844595/4503599627370496) (-.f64 918938533204673/1000000000000000 x) (*.f64 y (-.f64 x 1/2))))
(if (<=.f64 x -7839866231326559/2305843009213693952) (*.f64 x (-.f64 y 1)) (if (<=.f64 x -2709713197585745/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) (*.f64 -1/2 y) (if (<=.f64 x 8308506094874853/156764265941034957982331212844852467344711417043899710759469297619722251722129607859661177881884230709880082871203965476543290384119266386721367084105368877945996036265148061460008137163052639879920877568) (-.f64 918938533204673/1000000000000000 x) (if (<=.f64 x 2196735251241795/13729595320261219429963801598162786434538870600286610818788926918371086366795312104245119281322909109954592622782961716074243975999433287625148056582230114304) (*.f64 -1/2 y) (if (<=.f64 x 55) (-.f64 918938533204673/1000000000000000 x) (*.f64 x (-.f64 y 1)))))))
(if (<=.f64 y -4199999999999999877025090587224429265625026590031957782850718093828465037896190377374426733201726509779744112888386884206592) (*.f64 y x) (if (<=.f64 y -8) (*.f64 -1/2 y) (if (<=.f64 y 1) (-.f64 918938533204673/1000000000000000 x) (if (<=.f64 y 7500000000000000116695620971001322682011510476907960750273279353231253358735667774487390424362855857571547106508800) (*.f64 y x) (if (<=.f64 y 6800000000000000368260803452339078496804875332657019157177704251472100134659886281125407887363960747236805809188526050097662934564962314374957623331151184996852090985745024234260494163450092399835392588835698686786086885130240) (*.f64 -1/2 y) (if (<=.f64 y 11999999999999999681258698249922727670530222733473885007124551103845751568293335880328532853722424268181790011475955710281989895008277763292220196871709625558977471361511769284888471501738831950635786186890516050374686146253533638756445049522397961921081674704781049856) (*.f64 y x) (if (<=.f64 y 57999999999999998109889302600195801024057051238219145660552884592936084119171732188675333197490736506835340057333261549269840911612023333929265004301108692219761325400855009929609454795322020122864342551062088747639622625716907823702193865442205118699954587082226358252424322375420030360748032) (*.f64 -1/2 y) (*.f64 y x))))))))
(if (<=.f64 x -1/2) (*.f64 y x) (if (<=.f64 x 1/2) (*.f64 -1/2 y) (*.f64 y x)))
(*.f64 -1/2 y)
Outputs
(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(+.f64 (-.f64 (*.f64 x (+.f64 y -1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(if (<=.f64 x -6124895493223875/9007199254740992) (*.f64 x (-.f64 y 1)) (if (<=.f64 x 5854679515581645/9007199254740992) (-.f64 918938533204673/1000000000000000 (*.f64 1/2 y)) (*.f64 x (-.f64 y 1))))
(if (or (<=.f64 x -6124895493223875/9007199254740992) (not (<=.f64 x 5854679515581645/9007199254740992))) (*.f64 x (-.f64 y 1)) (-.f64 918938533204673/1000000000000000 (*.f64 y 1/2)))
(if (or (<=.f64 x -6124895493223875/9007199254740992) (not (<=.f64 x 5854679515581645/9007199254740992))) (*.f64 x (+.f64 y -1)) (-.f64 918938533204673/1000000000000000 (*.f64 y 1/2)))
(if (<=.f64 y -3039929748475085/2251799813685248) (*.f64 y (-.f64 x 1/2)) (if (<=.f64 y 5404319552844595/4503599627370496) (-.f64 918938533204673/1000000000000000 x) (*.f64 y (-.f64 x 1/2))))
(if (or (<=.f64 y -3039929748475085/2251799813685248) (not (<=.f64 y 5404319552844595/4503599627370496))) (*.f64 y (-.f64 x 1/2)) (-.f64 918938533204673/1000000000000000 x))
(if (<=.f64 x -7839866231326559/2305843009213693952) (*.f64 x (-.f64 y 1)) (if (<=.f64 x -2709713197585745/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) (*.f64 -1/2 y) (if (<=.f64 x 8308506094874853/156764265941034957982331212844852467344711417043899710759469297619722251722129607859661177881884230709880082871203965476543290384119266386721367084105368877945996036265148061460008137163052639879920877568) (-.f64 918938533204673/1000000000000000 x) (if (<=.f64 x 2196735251241795/13729595320261219429963801598162786434538870600286610818788926918371086366795312104245119281322909109954592622782961716074243975999433287625148056582230114304) (*.f64 -1/2 y) (if (<=.f64 x 55) (-.f64 918938533204673/1000000000000000 x) (*.f64 x (-.f64 y 1)))))))
(if (<=.f64 x -7839866231326559/2305843009213693952) (*.f64 x (-.f64 y 1)) (if (<=.f64 x -2709713197585745/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) (*.f64 y -1/2) (if (<=.f64 x 8308506094874853/156764265941034957982331212844852467344711417043899710759469297619722251722129607859661177881884230709880082871203965476543290384119266386721367084105368877945996036265148061460008137163052639879920877568) (-.f64 918938533204673/1000000000000000 x) (if (<=.f64 x 2196735251241795/13729595320261219429963801598162786434538870600286610818788926918371086366795312104245119281322909109954592622782961716074243975999433287625148056582230114304) (*.f64 y -1/2) (if (<=.f64 x 55) (-.f64 918938533204673/1000000000000000 x) (*.f64 x (-.f64 y 1)))))))
(if (<=.f64 x -7839866231326559/2305843009213693952) (*.f64 x (+.f64 y -1)) (if (<=.f64 x -2709713197585745/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) (*.f64 y -1/2) (if (<=.f64 x 8308506094874853/156764265941034957982331212844852467344711417043899710759469297619722251722129607859661177881884230709880082871203965476543290384119266386721367084105368877945996036265148061460008137163052639879920877568) (-.f64 918938533204673/1000000000000000 x) (if (<=.f64 x 2196735251241795/13729595320261219429963801598162786434538870600286610818788926918371086366795312104245119281322909109954592622782961716074243975999433287625148056582230114304) (*.f64 y -1/2) (if (<=.f64 x 55) (-.f64 918938533204673/1000000000000000 x) (*.f64 x (+.f64 y -1)))))))
(if (<=.f64 y -4199999999999999877025090587224429265625026590031957782850718093828465037896190377374426733201726509779744112888386884206592) (*.f64 y x) (if (<=.f64 y -8) (*.f64 -1/2 y) (if (<=.f64 y 1) (-.f64 918938533204673/1000000000000000 x) (if (<=.f64 y 7500000000000000116695620971001322682011510476907960750273279353231253358735667774487390424362855857571547106508800) (*.f64 y x) (if (<=.f64 y 6800000000000000368260803452339078496804875332657019157177704251472100134659886281125407887363960747236805809188526050097662934564962314374957623331151184996852090985745024234260494163450092399835392588835698686786086885130240) (*.f64 -1/2 y) (if (<=.f64 y 11999999999999999681258698249922727670530222733473885007124551103845751568293335880328532853722424268181790011475955710281989895008277763292220196871709625558977471361511769284888471501738831950635786186890516050374686146253533638756445049522397961921081674704781049856) (*.f64 y x) (if (<=.f64 y 57999999999999998109889302600195801024057051238219145660552884592936084119171732188675333197490736506835340057333261549269840911612023333929265004301108692219761325400855009929609454795322020122864342551062088747639622625716907823702193865442205118699954587082226358252424322375420030360748032) (*.f64 -1/2 y) (*.f64 y x))))))))
(if (<=.f64 y -4199999999999999877025090587224429265625026590031957782850718093828465037896190377374426733201726509779744112888386884206592) (*.f64 x y) (if (<=.f64 y -8) (*.f64 y -1/2) (if (<=.f64 y 1) (-.f64 918938533204673/1000000000000000 x) (if (<=.f64 y 7500000000000000116695620971001322682011510476907960750273279353231253358735667774487390424362855857571547106508800) (*.f64 x y) (if (<=.f64 y 6800000000000000368260803452339078496804875332657019157177704251472100134659886281125407887363960747236805809188526050097662934564962314374957623331151184996852090985745024234260494163450092399835392588835698686786086885130240) (*.f64 y -1/2) (if (or (<=.f64 y 11999999999999999681258698249922727670530222733473885007124551103845751568293335880328532853722424268181790011475955710281989895008277763292220196871709625558977471361511769284888471501738831950635786186890516050374686146253533638756445049522397961921081674704781049856) (not (<=.f64 y 57999999999999998109889302600195801024057051238219145660552884592936084119171732188675333197490736506835340057333261549269840911612023333929265004301108692219761325400855009929609454795322020122864342551062088747639622625716907823702193865442205118699954587082226358252424322375420030360748032))) (*.f64 x y) (*.f64 y -1/2)))))))
(if (<=.f64 y -4199999999999999877025090587224429265625026590031957782850718093828465037896190377374426733201726509779744112888386884206592) (*.f64 x y) (if (<=.f64 y -8) (*.f64 y -1/2) (if (<=.f64 y 1) (-.f64 918938533204673/1000000000000000 x) (if (<=.f64 y 7500000000000000116695620971001322682011510476907960750273279353231253358735667774487390424362855857571547106508800) (*.f64 x y) (if (or (<=.f64 y 6800000000000000368260803452339078496804875332657019157177704251472100134659886281125407887363960747236805809188526050097662934564962314374957623331151184996852090985745024234260494163450092399835392588835698686786086885130240) (not (or (<=.f64 y 11999999999999999681258698249922727670530222733473885007124551103845751568293335880328532853722424268181790011475955710281989895008277763292220196871709625558977471361511769284888471501738831950635786186890516050374686146253533638756445049522397961921081674704781049856) (not (<=.f64 y 57999999999999998109889302600195801024057051238219145660552884592936084119171732188675333197490736506835340057333261549269840911612023333929265004301108692219761325400855009929609454795322020122864342551062088747639622625716907823702193865442205118699954587082226358252424322375420030360748032))))) (*.f64 y -1/2) (*.f64 x y))))))
(if (<=.f64 y -4199999999999999877025090587224429265625026590031957782850718093828465037896190377374426733201726509779744112888386884206592) (*.f64 x y) (if (<=.f64 y -8) (*.f64 y -1/2) (if (<=.f64 y 1) (-.f64 918938533204673/1000000000000000 x) (if (or (<=.f64 y 7500000000000000116695620971001322682011510476907960750273279353231253358735667774487390424362855857571547106508800) (not (or (<=.f64 y 6800000000000000368260803452339078496804875332657019157177704251472100134659886281125407887363960747236805809188526050097662934564962314374957623331151184996852090985745024234260494163450092399835392588835698686786086885130240) (not (or (<=.f64 y 11999999999999999681258698249922727670530222733473885007124551103845751568293335880328532853722424268181790011475955710281989895008277763292220196871709625558977471361511769284888471501738831950635786186890516050374686146253533638756445049522397961921081674704781049856) (not (<=.f64 y 57999999999999998109889302600195801024057051238219145660552884592936084119171732188675333197490736506835340057333261549269840911612023333929265004301108692219761325400855009929609454795322020122864342551062088747639622625716907823702193865442205118699954587082226358252424322375420030360748032))))))) (*.f64 x y) (*.f64 y -1/2)))))
(if (<=.f64 y -4199999999999999877025090587224429265625026590031957782850718093828465037896190377374426733201726509779744112888386884206592) (*.f64 x y) (if (<=.f64 y -8) (*.f64 y -1/2) (if (<=.f64 y 1) (-.f64 918938533204673/1000000000000000 x) (if (or (<=.f64 y 7500000000000000116695620971001322682011510476907960750273279353231253358735667774487390424362855857571547106508800) (not (or (<=.f64 y 6800000000000000368260803452339078496804875332657019157177704251472100134659886281125407887363960747236805809188526050097662934564962314374957623331151184996852090985745024234260494163450092399835392588835698686786086885130240) (and (not (<=.f64 y 11999999999999999681258698249922727670530222733473885007124551103845751568293335880328532853722424268181790011475955710281989895008277763292220196871709625558977471361511769284888471501738831950635786186890516050374686146253533638756445049522397961921081674704781049856)) (<=.f64 y 57999999999999998109889302600195801024057051238219145660552884592936084119171732188675333197490736506835340057333261549269840911612023333929265004301108692219761325400855009929609454795322020122864342551062088747639622625716907823702193865442205118699954587082226358252424322375420030360748032))))) (*.f64 x y) (*.f64 y -1/2)))))
(if (<=.f64 y -4199999999999999877025090587224429265625026590031957782850718093828465037896190377374426733201726509779744112888386884206592) (*.f64 x y) (if (<=.f64 y -8) (*.f64 y -1/2) (if (<=.f64 y 1) (-.f64 918938533204673/1000000000000000 x) (if (or (<=.f64 y 7500000000000000116695620971001322682011510476907960750273279353231253358735667774487390424362855857571547106508800) (and (not (<=.f64 y 6800000000000000368260803452339078496804875332657019157177704251472100134659886281125407887363960747236805809188526050097662934564962314374957623331151184996852090985745024234260494163450092399835392588835698686786086885130240)) (or (<=.f64 y 11999999999999999681258698249922727670530222733473885007124551103845751568293335880328532853722424268181790011475955710281989895008277763292220196871709625558977471361511769284888471501738831950635786186890516050374686146253533638756445049522397961921081674704781049856) (not (<=.f64 y 57999999999999998109889302600195801024057051238219145660552884592936084119171732188675333197490736506835340057333261549269840911612023333929265004301108692219761325400855009929609454795322020122864342551062088747639622625716907823702193865442205118699954587082226358252424322375420030360748032))))) (*.f64 x y) (*.f64 y -1/2)))))
(if (<=.f64 x -1/2) (*.f64 y x) (if (<=.f64 x 1/2) (*.f64 -1/2 y) (*.f64 y x)))
(if (or (<=.f64 x -1/2) (not (<=.f64 x 1/2))) (*.f64 x y) (*.f64 y -1/2))
(*.f64 -1/2 y)
(*.f64 y -1/2)
Compiler

Compiled 166 to 119 computations (28.3% saved)

soundness792.0ms (18.8%)

Rules
4330×fma-neg
1056×fma-neg
1000×associate-+r+
964×associate-+l+
824×sub-neg
Iterations

Useful iterations: 13 (0.0ms)

IterNodesCost
02986309
18115421
229085372
01031050
12041050
25051048
319821048
439021048
033304
198264
2250236
3786224
42305224
53811224
64343224
74478224
84504224
94508224
104561224
114621224
124645224
134645210
146612210
156612210
166612210
Stop Event
saturated
node limit
node limit
Compiler

Compiled 69 to 50 computations (27.5% saved)

end0.0ms (0%)

preprocess92.0ms (2.2%)

Compiler

Compiled 334 to 232 computations (30.5% saved)

Profiling

Loading profile data...