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

Time bar (total: 4.7s)

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.4s (30.5%)

Results
867.0ms7237×256valid
272.0ms1018×256infinite
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 546.0ms
Operation ival-mult, time spent: 223.0ms, 41.0% of total-time
Operation ival-add, time spent: 187.0ms, 34.0% of total-time
Operation ival-sub, time spent: 113.0ms, 21.0% of total-time
Operation const, time spent: 22.0ms, 4.0% of total-time
Bogosity

preprocess540.0ms (11.5%)

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))
Results
78.0ms437×256valid
13.0ms74×256infinite
0.0ms256valid
Compiler

Compiled 91 to 64 computations (29.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 45.0ms
Operation ival-mult, time spent: 22.0ms, 49.0% of total-time
Operation ival-sub, time spent: 17.0ms, 38.0% of total-time
Operation ival-add, time spent: 3.0ms, 7.0% of total-time
Operation const, time spent: 3.0ms, 7.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%)

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))
Results
60.0ms218×256valid
8.0ms37×256infinite
0.0ms256valid
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-sub, time spent: 11.0ms, 27.0% of total-time
Operation ival-add, time spent: 8.0ms, 20.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

series20.0ms (0.4%)

Counts
2 → 72
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 (+.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 (+.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 -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 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 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 -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 (+.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 (+.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 -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 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 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))))))>
#<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
4.0ms
x
@0
(- (* x (+ y -1)) (- (* y 1/2) 918938533204673/1000000000000000))
2.0ms
x
@inf
(+ (* y (+ x -1/2)) (- 918938533204673/1000000000000000 x))
2.0ms
y
@inf
(- (* x (+ y -1)) (- (* y 1/2) 918938533204673/1000000000000000))
2.0ms
x
@inf
(- (* x (+ y -1)) (- (* y 1/2) 918938533204673/1000000000000000))
1.0ms
x
@-inf
(+ (* y (+ x -1/2)) (- 918938533204673/1000000000000000 x))

rewrite249.0ms (5.3%)

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

simplify176.0ms (3.8%)

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
02987493
18116365
229086316
Stop Event
node limit
Counts
157 → 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 (+.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 (+.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 -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 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 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 -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 (+.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 (+.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 -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 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 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 -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 (+.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 (+.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 -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 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 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 -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 (+.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 (+.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 -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 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 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 -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))

eval84.0ms (1.8%)

Compiler

Compiled 2351 to 1716 computations (27% saved)

prune24.0ms (0.5%)

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)

localize70.0ms (1.5%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 y (-.f64 x 1/2))
Results
40.0ms218×256valid
6.0ms37×256infinite
0.0ms256valid
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: 9.0ms, 49.0% of total-time
Operation ival-mult, time spent: 7.0ms, 38.0% of total-time
Operation const, time spent: 2.0ms, 11.0% of total-time

series2.0ms (0%)

Counts
1 → 18
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 (*.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 (+.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)))))>
#<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
y
@inf
(* y (- x 1/2))
0.0ms
x
@-inf
(* y (- x 1/2))
0.0ms
y
@-inf
(* y (- x 1/2))
0.0ms
x
@inf
(* y (- x 1/2))

rewrite70.0ms (1.5%)

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

simplify67.0ms (1.4%)

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
01031164
12041164
25051162
319821162
439021162
Stop Event
node limit
Counts
47 → 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 (*.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 (+.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 -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 (*.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 (+.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 -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))

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

localize55.0ms (1.2%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 y x) (*.f64 y -1/2))
Results
36.0ms255×256valid
0.0ms256valid
Compiler

Compiled 29 to 13 computations (55.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
Operation ival-mult, time spent: 7.0ms, 74.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

series5.0ms (0.1%)

Counts
1 → 36
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 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 (*.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 (*.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 (+.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)))))>
#<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))
1.0ms
x
@0
(+ (* y x) (* y -1/2))
1.0ms
y
@-inf
(+ (* y x) (* y -1/2))
1.0ms
y
@inf
(+ (* y x) (* y -1/2))
1.0ms
x
@-inf
(+ (* y x) (* y -1/2))

rewrite82.0ms (1.7%)

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

simplify97.0ms (2.1%)

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
02283357
15283262
213613128
352583128
Stop Event
node limit
Counts
118 → 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 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 (*.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 (*.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 (+.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 -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 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 (*.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 (*.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 (+.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 -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.7%)

Compiler

Compiled 1407 to 900 computations (36% saved)

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

regimes25.0ms (0.5%)

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
y
7.0ms
x
6.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)

regimes33.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:

17.0ms
y
16.0ms
x
Results
AccuracySegmentsBranch
98.9%3x
97.7%3y
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes44.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:

30.0ms
x
13.0ms
y
Results
AccuracySegmentsBranch
97.7%3y
84.5%7x
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes61.0ms (1.3%)

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:

37.0ms
y
23.0ms
x
Results
AccuracySegmentsBranch
82.1%6x
79.6%8y
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes73.0ms (1.6%)

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:

45.0ms
x
27.0ms
y
Results
AccuracySegmentsBranch
79.4%8y
71.4%14x
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes29.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:

20.0ms
y
9.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:

3.0ms
x
Results
AccuracySegmentsBranch
27.1%1x
Compiler

Compiled 3 to 2 computations (33.3% saved)

bsearch48.0ms (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
31.0ms335×256valid
0.0ms256valid
Compiler

Compiled 354 to 287 computations (18.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
Operation ival-mult, time spent: 6.0ms, 44.0% of total-time
Operation ival-sub, time spent: 4.0ms, 29.0% of total-time
Operation ival-add, time spent: 3.0ms, 22.0% of total-time
Operation const, time spent: 1.0ms, 7.0% of total-time

bsearch36.0ms (0.8%)

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

Compiled 242 to 190 computations (21.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
Operation ival-mult, time spent: 4.0ms, 42.0% of total-time
Operation ival-sub, time spent: 3.0ms, 31.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

bsearch97.0ms (2.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
26.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
13.0ms
-0.0038537666759041575
-0.0013470244058748436
Results
65.0ms671×256valid
0.0ms256valid
Compiler

Compiled 554 to 450 computations (18.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
Operation ival-mult, time spent: 12.0ms, 44.0% of total-time
Operation ival-sub, time spent: 10.0ms, 37.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

bsearch111.0ms (2.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
22.0ms
7.066728996827664e+289
8.379240041663488e+297
19.0ms
6.617114723173913e+259
2.562211634903065e+269
12.0ms
6.000315518877519e+225
9.909004594668436e+225
13.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
54.0ms568×256valid
20.0ms199×256infinite
0.0ms256valid
Compiler

Compiled 594 to 456 computations (23.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 30.0ms
Operation ival-sub, time spent: 13.0ms, 44.0% of total-time
Operation ival-mult, time spent: 11.0ms, 37.0% of total-time
Operation ival-add, time spent: 4.0ms, 13.0% of total-time
Operation const, time spent: 2.0ms, 7.0% of total-time

bsearch51.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
27.0ms
6.41737638394667e-9
486200669243.86523
24.0ms
-28348054.285774134
-0.0038537666759041575
Results
36.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, 35.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

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

soundness816.0ms (17.4%)

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

Useful iterations: 13 (0.0ms)

IterNodesCost
02987493
18116365
229086316
01031164
12041164
25051162
319821162
439021162
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%)

preprocess93.0ms (2%)

Compiler

Compiled 334 to 232 computations (30.5% saved)

Profiling

Loading profile data...