Data.Histogram.Bin.BinF:$cfromIndex from histogram-fill-0.8.4.1

Time bar (total: 3.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 13 to 9 computations (30.8% saved)

sample887.0ms (24.2%)

Results
785.0ms7316×body256valid
88.0ms940×body256infinite
Bogosity

preprocess275.0ms (7.5%)

Algorithm
egg-herbie
Rules
2916×fma-def
416×distribute-rgt-in
302×sub-neg
280×unsub-neg
262×cancel-sign-sub
Problems
256×No Errors
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
040435
199375
2274371
3801323
41689297
52820297
63289292
73453292
83561292
93594292
103602276
114160276
124160276
134160276
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(+.f64 (+.f64 (/.f64 (neg.f64 x) 2) (*.f64 y (neg.f64 x))) z)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 (neg.f64 y) x)) z)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) (neg.f64 z))
(neg.f64 (+.f64 (+.f64 (/.f64 (neg.f64 x) 2) (*.f64 y (neg.f64 x))) z))
(neg.f64 (+.f64 (+.f64 (/.f64 x 2) (*.f64 (neg.f64 y) x)) z))
(neg.f64 (+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) (neg.f64 z)))
(+.f64 (+.f64 (/.f64 y 2) (*.f64 x y)) z)
(+.f64 (+.f64 (/.f64 z 2) (*.f64 y z)) x)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 z x)) y)
Outputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
(+.f64 (/.f64 x 2) (fma.f64 x y z))
(-.f64 z (*.f64 x (-.f64 -1/2 y)))
(fma.f64 x (+.f64 y 1/2) z)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
(+.f64 (/.f64 x 2) (fma.f64 x y z))
(-.f64 z (*.f64 x (-.f64 -1/2 y)))
(fma.f64 x (+.f64 y 1/2) z)
(+.f64 (+.f64 (/.f64 (neg.f64 x) 2) (*.f64 y (neg.f64 x))) z)
(+.f64 z (+.f64 (/.f64 (neg.f64 x) 2) (*.f64 x (neg.f64 y))))
(-.f64 z (fma.f64 x y (/.f64 x 2)))
(+.f64 z (*.f64 x (-.f64 -1/2 y)))
(fma.f64 x (-.f64 -1/2 y) z)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 (neg.f64 y) x)) z)
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x (neg.f64 y)) z))
(+.f64 (/.f64 x 2) (fma.f64 y (neg.f64 x) z))
(+.f64 (/.f64 x 2) (-.f64 z (*.f64 x y)))
(-.f64 z (*.f64 x (+.f64 y -1/2)))
(+.f64 z (*.f64 x (-.f64 1/2 y)))
(fma.f64 x (-.f64 1/2 y) z)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) (neg.f64 z))
(-.f64 (+.f64 (/.f64 x 2) (*.f64 x y)) z)
(-.f64 (fma.f64 x y (/.f64 x 2)) z)
(-.f64 (*.f64 x (-.f64 y -1/2)) z)
(-.f64 (*.f64 x (+.f64 y 1/2)) z)
(neg.f64 (+.f64 (+.f64 (/.f64 (neg.f64 x) 2) (*.f64 y (neg.f64 x))) z))
(-.f64 (+.f64 (/.f64 x 2) (*.f64 x y)) z)
(-.f64 (fma.f64 x y (/.f64 x 2)) z)
(-.f64 (*.f64 x (-.f64 y -1/2)) z)
(-.f64 (*.f64 x (+.f64 y 1/2)) z)
(neg.f64 (+.f64 (+.f64 (/.f64 x 2) (*.f64 (neg.f64 y) x)) z))
(neg.f64 (+.f64 (/.f64 x 2) (+.f64 (*.f64 x (neg.f64 y)) z)))
(-.f64 (/.f64 (neg.f64 x) 2) (fma.f64 y (neg.f64 x) z))
(+.f64 (*.f64 x y) (-.f64 (*.f64 -1/2 x) z))
(-.f64 (*.f64 x (+.f64 y -1/2)) z)
(neg.f64 (+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) (neg.f64 z)))
(+.f64 z (+.f64 (/.f64 (neg.f64 x) 2) (*.f64 x (neg.f64 y))))
(-.f64 z (fma.f64 x y (/.f64 x 2)))
(+.f64 z (*.f64 x (-.f64 -1/2 y)))
(fma.f64 x (-.f64 -1/2 y) z)
(+.f64 (+.f64 (/.f64 y 2) (*.f64 x y)) z)
(+.f64 z (+.f64 (*.f64 x y) (/.f64 y 2)))
(+.f64 z (fma.f64 x y (/.f64 y 2)))
(+.f64 z (fma.f64 x y (*.f64 1/2 y)))
(+.f64 z (*.f64 y (+.f64 x 1/2)))
(fma.f64 y (+.f64 x 1/2) z)
(+.f64 (+.f64 (/.f64 z 2) (*.f64 y z)) x)
(+.f64 x (+.f64 (/.f64 z 2) (*.f64 y z)))
(+.f64 x (fma.f64 y z (/.f64 z 2)))
(+.f64 x (fma.f64 y z (*.f64 1/2 z)))
(+.f64 x (*.f64 z (+.f64 y 1/2)))
(fma.f64 z (+.f64 y 1/2) x)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 z x)) y)
(+.f64 y (+.f64 (/.f64 x 2) (*.f64 x z)))
(+.f64 y (fma.f64 x z (/.f64 x 2)))
(+.f64 (/.f64 x 2) (fma.f64 x z y))
(+.f64 (*.f64 1/2 x) (fma.f64 x z y))
(+.f64 y (*.f64 x (+.f64 1/2 z)))
(+.f64 y (*.f64 x (+.f64 z 1/2)))
(fma.f64 x (+.f64 z 1/2) y)
Compiler

Compiled 42 to 23 computations (45.2% saved)

eval1.0ms (0%)

Compiler

Compiled 33 to 19 computations (42.4% saved)

prune2.0ms (0.1%)

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

Compiled 44 to 30 computations (31.8% saved)

localize57.0ms (1.6%)

Localize:

Found 2 expressions with local error:

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

Compiled 47 to 22 computations (53.2% saved)

series5.0ms (0.1%)

Counts
2 → 60
Calls

15 calls:

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

rewrite201.0ms (5.5%)

Algorithm
batch-egg-rewrite
Rules
1268×fma-def
838×log1p-expm1-u
838×expm1-log1p-u
498×fma-neg
412×expm1-udef
Iterations

Useful iterations: 2 (0.0ms)

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

simplify97.0ms (2.6%)

Algorithm
egg-herbie
Rules
1864×fma-def
1210×distribute-lft-in
1198×distribute-rgt-in
760×unswap-sqr
424×times-frac
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03046491
17466291
222456188
Stop Event
node limit
Counts
168 → 148
Calls
Call 1
Inputs
z
(+.f64 z (*.f64 x (+.f64 1/2 y)))
(+.f64 z (*.f64 x (+.f64 1/2 y)))
(+.f64 z (*.f64 x (+.f64 1/2 y)))
(*.f64 x (+.f64 1/2 y))
(+.f64 z (*.f64 x (+.f64 1/2 y)))
(+.f64 z (*.f64 x (+.f64 1/2 y)))
(+.f64 z (*.f64 x (+.f64 1/2 y)))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(+.f64 z (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))))
(+.f64 z (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))))
(+.f64 z (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))))
(+.f64 z (*.f64 1/2 x))
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(*.f64 x y)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(*.f64 x y)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
z
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
z
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 -1/2 x)
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(*.f64 -1 (*.f64 x y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(*.f64 -1 (*.f64 x y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x 1/2) 2) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) (/.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))))
(*.f64 (fma.f64 x (+.f64 1/2 y) z) 1)
(*.f64 1 (fma.f64 x (+.f64 1/2 y) z))
(*.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2) (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)))
(*.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (/.f64 1 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (/.f64 1 (-.f64 (*.f64 x 1/2) (fma.f64 x y z))))
(/.f64 1 (/.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)) (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (+.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (pow.f64 (*.f64 x 1/2) 2) (*.f64 (*.f64 x 1/2) (fma.f64 x y z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))
(/.f64 (fma.f64 x (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 2 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)))) (*.f64 2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 x (-.f64 (*.f64 x y) z) (*.f64 2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 2 (-.f64 (*.f64 x y) z)))
(/.f64 (+.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 (/.f64 2 x) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)))) (*.f64 (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (+.f64 (-.f64 (*.f64 x y) z) (*.f64 (/.f64 2 x) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 (/.f64 2 x) (-.f64 (*.f64 x y) z)))
(/.f64 (fma.f64 (neg.f64 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 -2 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)))) (*.f64 -2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 (neg.f64 x) (-.f64 (*.f64 x y) z) (*.f64 -2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 -2 (-.f64 (*.f64 x y) z)))
(/.f64 (fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)) 2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) x)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 2))
(/.f64 (fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)) (/.f64 2 x) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 1)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (/.f64 2 x)))
(/.f64 (fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)) -2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (neg.f64 x))) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) 2 (*.f64 (-.f64 (*.f64 x y) z) x)) (*.f64 (-.f64 (*.f64 x y) z) 2))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 2 x) (*.f64 (-.f64 (*.f64 x y) z) 1)) (*.f64 (-.f64 (*.f64 x y) z) (/.f64 2 x)))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) -2 (*.f64 (-.f64 (*.f64 x y) z) (neg.f64 x))) (*.f64 (-.f64 (*.f64 x y) z) -2))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))) (neg.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2))) (neg.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) (pow.f64 z 3)) (fma.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y)) (-.f64 (pow.f64 z 2) (*.f64 (*.f64 x (+.f64 1/2 y)) z))))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y z) 2) (pow.f64 (*.f64 x 1/2) 2)) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)))
(/.f64 (fma.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y)) (neg.f64 (pow.f64 z 2))) (-.f64 (*.f64 x (+.f64 1/2 y)) z))
(pow.f64 (fma.f64 x (+.f64 1/2 y) z) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 3)
(pow.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2)
(sqrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 2))
(log.f64 (exp.f64 (fma.f64 x (+.f64 1/2 y) z)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z))))
(cbrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z)))
(exp.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z)))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z)) 1))
(log1p.f64 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z)))
(fma.f64 x y (+.f64 z (*.f64 x 1/2)))
(fma.f64 x 1/2 (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (*.f64 x 1/2) 1 (fma.f64 x y z))
(fma.f64 y x (+.f64 z (*.f64 x 1/2)))
(fma.f64 (*.f64 x y) 1 (+.f64 z (*.f64 x 1/2)))
(fma.f64 z 1 (*.f64 x (+.f64 1/2 y)))
(fma.f64 (fma.f64 x y z) 1 (*.f64 x 1/2))
(fma.f64 1 (*.f64 x 1/2) (fma.f64 x y z))
(fma.f64 1 (*.f64 x y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 1 z (*.f64 x (+.f64 1/2 y)))
(fma.f64 1 (fma.f64 x y z) (*.f64 x 1/2))
(fma.f64 1 (*.f64 x (+.f64 1/2 y)) z)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (fma.f64 x y z))
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 x (+.f64 1/2 y)))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x (+.f64 1/2 y)))
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (cbrt.f64 (fma.f64 x y z)) (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (cbrt.f64 (fma.f64 x y z)) (*.f64 x 1/2))
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (fma.f64 x y z))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (fma.f64 x y z))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (fma.f64 x y z))
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (+.f64 1/2 y)))
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (sqrt.f64 (fma.f64 x y z)) (sqrt.f64 (fma.f64 x y z)) (*.f64 x 1/2))
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (fma.f64 x y z))
(fma.f64 (neg.f64 x) -1/2 (fma.f64 x y z))
(fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) (*.f64 x 1/2))
(fma.f64 1/2 x (fma.f64 x y z))
(fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 1 (-.f64 (*.f64 x y) z)) (*.f64 x 1/2))
(fma.f64 (*.f64 x (+.f64 1/2 y)) 1 z)
(fma.f64 (*.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) (cbrt.f64 (*.f64 x (+.f64 1/2 y))) z)
(fma.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) (sqrt.f64 (*.f64 x (+.f64 1/2 y))) z)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 z (*.f64 x 1/2)))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (+.f64 z (*.f64 x 1/2)))
(+.f64 (*.f64 x -1/2) (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 -1/2 x) (*.f64 (neg.f64 y) x))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 -1/2 y)))) 1)
(/.f64 (*.f64 x (-.f64 -1/8 (pow.f64 y 3))) (fma.f64 y (+.f64 y -1/2) 1/4))
(/.f64 (*.f64 x (-.f64 1/4 (pow.f64 y 2))) (+.f64 y -1/2))
(/.f64 (*.f64 (-.f64 -1/8 (pow.f64 y 3)) x) (fma.f64 y (+.f64 y -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (+.f64 y -1/2))
(pow.f64 (*.f64 x (-.f64 -1/2 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 -1/2 y))) 3)
(pow.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 -1/2 y))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (-.f64 -1/2 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 -1/2 y)))))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 3))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (-.f64 -1/2 y) 3)))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 -1/2 y) 3) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 -1/2 y))))
(exp.f64 (log.f64 (*.f64 x (-.f64 -1/2 y))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 -1/2 y))) 1))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 -1/2 y))))
(fma.f64 x -1/2 (*.f64 x (neg.f64 y)))
(fma.f64 -1/2 x (*.f64 (neg.f64 y) x))
Outputs
z
(+.f64 z (*.f64 x (+.f64 1/2 y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (*.f64 x (+.f64 1/2 y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (*.f64 x (+.f64 1/2 y)))
(fma.f64 x (+.f64 1/2 y) z)
(*.f64 x (+.f64 1/2 y))
(+.f64 z (*.f64 x (+.f64 1/2 y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (*.f64 x (+.f64 1/2 y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (*.f64 x (+.f64 1/2 y)))
(fma.f64 x (+.f64 1/2 y) z)
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(*.f64 x (+.f64 1/2 y))
(+.f64 z (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (*.f64 1/2 x))
(+.f64 z (*.f64 x 1/2))
(fma.f64 x 1/2 z)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(*.f64 x y)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(*.f64 x y)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
z
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
z
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y)))
(fma.f64 x (+.f64 1/2 y) z)
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(*.f64 -1 (*.f64 x (+.f64 1/2 y)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(*.f64 -1/2 x)
(*.f64 x -1/2)
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(*.f64 -1 (*.f64 x y))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(*.f64 -1 (*.f64 x y))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z))) 1)
(fma.f64 x (+.f64 1/2 y) z)
(-.f64 (/.f64 (pow.f64 (*.f64 x 1/2) 2) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) (/.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))))
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x (-.f64 1/2 y)) z))
(*.f64 (fma.f64 x (+.f64 1/2 y) z) 1)
(fma.f64 x (+.f64 1/2 y) z)
(*.f64 1 (fma.f64 x (+.f64 1/2 y) z))
(fma.f64 x (+.f64 1/2 y) z)
(*.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2))
(fma.f64 x (+.f64 1/2 y) z)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2) (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)))
(fma.f64 x (+.f64 1/2 y) z)
(*.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)))
(fma.f64 x (+.f64 1/2 y) z)
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (/.f64 1 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (+.f64 (*.f64 x -1/2) (fma.f64 x y z)) (pow.f64 (*.f64 x 1/2) 2)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x (-.f64 1/2 y)) z) (pow.f64 (fma.f64 x y z) 2)))
(*.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (/.f64 1 (-.f64 (*.f64 x 1/2) (fma.f64 x y z))))
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x (-.f64 1/2 y)) z))
(/.f64 1 (/.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (/.f64 1 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (+.f64 (*.f64 x -1/2) (fma.f64 x y z)) (pow.f64 (*.f64 x 1/2) 2)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x (-.f64 1/2 y)) z) (pow.f64 (fma.f64 x y z) 2)))
(/.f64 1 (/.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)) (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x (-.f64 1/2 y)) z))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2)))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (/.f64 1 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (+.f64 (*.f64 x -1/2) (fma.f64 x y z)) (pow.f64 (*.f64 x 1/2) 2)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x (-.f64 1/2 y)) z) (pow.f64 (fma.f64 x y z) 2)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (+.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (pow.f64 (*.f64 x 1/2) 2) (*.f64 (*.f64 x 1/2) (fma.f64 x y z)))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (/.f64 1 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (+.f64 (*.f64 x -1/2) (fma.f64 x y z)) (pow.f64 (*.f64 x 1/2) 2)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x (-.f64 1/2 y)) z) (pow.f64 (fma.f64 x y z) 2)))
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x (-.f64 1/2 y)) z))
(/.f64 (fma.f64 x (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 2 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)))) (*.f64 2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 x (-.f64 (*.f64 x y) z) (*.f64 2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 2 (-.f64 (*.f64 x y) z)))
(/.f64 (fma.f64 2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (*.f64 x (-.f64 (*.f64 x y) z))) (*.f64 2 (-.f64 (*.f64 x y) z)))
(/.f64 (+.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 (/.f64 2 x) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)))) (*.f64 (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)) (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (/.f64 2 x)))
(/.f64 (+.f64 (-.f64 (*.f64 x y) z) (*.f64 (/.f64 2 x) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 (/.f64 2 x) (-.f64 (*.f64 x y) z)))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 2 x) (-.f64 (*.f64 x y) z)) (*.f64 (-.f64 (*.f64 x y) z) (/.f64 2 x)))
(/.f64 (-.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 2 x) (*.f64 x y)) z) (*.f64 (-.f64 (*.f64 x y) z) (/.f64 2 x)))
(/.f64 (fma.f64 (neg.f64 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 -2 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)))) (*.f64 -2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 (neg.f64 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)) -2)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2))
(/.f64 (fma.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (neg.f64 x) (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)) -2)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2))
(/.f64 (fma.f64 (neg.f64 x) (-.f64 (*.f64 x y) z) (*.f64 -2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 -2 (-.f64 (*.f64 x y) z)))
(/.f64 (fma.f64 (neg.f64 x) (-.f64 (*.f64 x y) z) (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) -2)) (*.f64 (-.f64 (*.f64 x y) z) -2))
(/.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) -2) (*.f64 x (-.f64 (*.f64 x y) z))) (*.f64 (-.f64 (*.f64 x y) z) -2))
(/.f64 (fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)) 2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) x)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 2))
(/.f64 (fma.f64 x (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 2 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)))) (*.f64 2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)) (/.f64 2 x) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 1)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (/.f64 2 x)))
(/.f64 (fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)) (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (/.f64 2 x)))
(/.f64 (fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)) -2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (neg.f64 x))) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2))
(/.f64 (fma.f64 (neg.f64 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)) -2)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2))
(/.f64 (fma.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (neg.f64 x) (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)) -2)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) 2 (*.f64 (-.f64 (*.f64 x y) z) x)) (*.f64 (-.f64 (*.f64 x y) z) 2))
(/.f64 (fma.f64 x (-.f64 (*.f64 x y) z) (*.f64 2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 2 (-.f64 (*.f64 x y) z)))
(/.f64 (fma.f64 2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (*.f64 x (-.f64 (*.f64 x y) z))) (*.f64 2 (-.f64 (*.f64 x y) z)))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 2 x) (*.f64 (-.f64 (*.f64 x y) z) 1)) (*.f64 (-.f64 (*.f64 x y) z) (/.f64 2 x)))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 2 x) (-.f64 (*.f64 x y) z)) (*.f64 (-.f64 (*.f64 x y) z) (/.f64 2 x)))
(/.f64 (-.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 2 x) (*.f64 x y)) z) (*.f64 (-.f64 (*.f64 x y) z) (/.f64 2 x)))
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) -2 (*.f64 (-.f64 (*.f64 x y) z) (neg.f64 x))) (*.f64 (-.f64 (*.f64 x y) z) -2))
(/.f64 (fma.f64 (neg.f64 x) (-.f64 (*.f64 x y) z) (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) -2)) (*.f64 (-.f64 (*.f64 x y) z) -2))
(/.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) -2) (*.f64 x (-.f64 (*.f64 x y) z))) (*.f64 (-.f64 (*.f64 x y) z) -2))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))) (neg.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (/.f64 1 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (+.f64 (*.f64 x -1/2) (fma.f64 x y z)) (pow.f64 (*.f64 x 1/2) 2)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x (-.f64 1/2 y)) z) (pow.f64 (fma.f64 x y z) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2))) (neg.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z))))
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x (-.f64 1/2 y)) z))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) (pow.f64 z 3)) (fma.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y)) (-.f64 (pow.f64 z 2) (*.f64 (*.f64 x (+.f64 1/2 y)) z))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (+.f64 1/2 y)) 3)) (fma.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y)) (-.f64 (pow.f64 z 2) (*.f64 z (*.f64 x (+.f64 1/2 y))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (+.f64 1/2 y)) 3)) (fma.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y)) (*.f64 z (-.f64 z (*.f64 x (+.f64 1/2 y))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (+.f64 1/2 y)) 3)) (fma.f64 z (+.f64 z (*.f64 x (-.f64 -1/2 y))) (pow.f64 (*.f64 x (-.f64 -1/2 y)) 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y z) 2) (pow.f64 (*.f64 x 1/2) 2)) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)))
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x (-.f64 1/2 y)) z))
(/.f64 (fma.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y)) (neg.f64 (pow.f64 z 2))) (-.f64 (*.f64 x (+.f64 1/2 y)) z))
(/.f64 (-.f64 (*.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y))) (pow.f64 z 2)) (-.f64 (*.f64 x (+.f64 1/2 y)) z))
(/.f64 (-.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 2) (pow.f64 z 2)) (fma.f64 x (+.f64 1/2 y) (neg.f64 z)))
(pow.f64 (fma.f64 x (+.f64 1/2 y) z) 1)
(fma.f64 x (+.f64 1/2 y) z)
(pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 3)
(fma.f64 x (+.f64 1/2 y) z)
(pow.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3) 1/3)
(fma.f64 x (+.f64 1/2 y) z)
(pow.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2)
(fma.f64 x (+.f64 1/2 y) z)
(sqrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 2))
(fma.f64 x (+.f64 1/2 y) z)
(log.f64 (exp.f64 (fma.f64 x (+.f64 1/2 y) z)))
(fma.f64 x (+.f64 1/2 y) z)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z))))
(fma.f64 x (+.f64 1/2 y) z)
(cbrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3))
(fma.f64 x (+.f64 1/2 y) z)
(expm1.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z)))
(fma.f64 x (+.f64 1/2 y) z)
(exp.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z)))
(fma.f64 x (+.f64 1/2 y) z)
(exp.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z)) 1))
(fma.f64 x (+.f64 1/2 y) z)
(log1p.f64 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 x y (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 x 1/2 (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (*.f64 x 1/2) 1 (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 y x (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (*.f64 x y) 1 (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 z 1 (*.f64 x (+.f64 1/2 y)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (fma.f64 x y z) 1 (*.f64 x 1/2))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 1 (*.f64 x 1/2) (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 1 (*.f64 x y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 1 z (*.f64 x (+.f64 1/2 y)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 1 (fma.f64 x y z) (*.f64 x 1/2))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 1 (*.f64 x (+.f64 1/2 y)) z)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 x (+.f64 1/2 y)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x (+.f64 1/2 y)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (cbrt.f64 (fma.f64 x y z)) (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (*.f64 x 1/2))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (cbrt.f64 (fma.f64 x y z)) (*.f64 x 1/2))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (+.f64 1/2 y)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (sqrt.f64 (fma.f64 x y z)) (sqrt.f64 (fma.f64 x y z)) (*.f64 x 1/2))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (neg.f64 x) -1/2 (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) (*.f64 x 1/2))
(fma.f64 x 1/2 (/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(fma.f64 1/2 x (fma.f64 x y z))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 1 (-.f64 (*.f64 x y) z)) (*.f64 x 1/2))
(fma.f64 x 1/2 (/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (-.f64 (*.f64 x y) z)))
(fma.f64 (*.f64 x (+.f64 1/2 y)) 1 z)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (*.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) (cbrt.f64 (*.f64 x (+.f64 1/2 y))) z)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) (sqrt.f64 (*.f64 x (+.f64 1/2 y))) z)
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (+.f64 z (*.f64 x 1/2)))
(fma.f64 x (+.f64 1/2 y) z)
(+.f64 (*.f64 x -1/2) (*.f64 x (neg.f64 y)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(+.f64 (*.f64 -1/2 x) (*.f64 (neg.f64 y) x))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 -1/2 y)))) 1)
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(/.f64 (*.f64 x (-.f64 -1/8 (pow.f64 y 3))) (fma.f64 y (+.f64 y -1/2) 1/4))
(*.f64 (/.f64 x (fma.f64 y (+.f64 y -1/2) 1/4)) (-.f64 -1/8 (pow.f64 y 3)))
(/.f64 (*.f64 x (-.f64 1/4 (pow.f64 y 2))) (+.f64 y -1/2))
(/.f64 x (/.f64 (+.f64 y -1/2) (-.f64 1/4 (pow.f64 y 2))))
(*.f64 (/.f64 x (+.f64 y -1/2)) (-.f64 1/4 (pow.f64 y 2)))
(/.f64 (*.f64 (-.f64 -1/8 (pow.f64 y 3)) x) (fma.f64 y (+.f64 y -1/2) 1/4))
(/.f64 (*.f64 x (-.f64 -1/8 (pow.f64 y 3))) (fma.f64 y (+.f64 y -1/2) 1/4))
(*.f64 (/.f64 x (fma.f64 y (+.f64 y -1/2) 1/4)) (-.f64 -1/8 (pow.f64 y 3)))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (+.f64 y -1/2))
(/.f64 x (/.f64 (+.f64 y -1/2) (-.f64 1/4 (pow.f64 y 2))))
(*.f64 (/.f64 x (+.f64 y -1/2)) (-.f64 1/4 (pow.f64 y 2)))
(pow.f64 (*.f64 x (-.f64 -1/2 y)) 1)
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 -1/2 y))) 3)
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(pow.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 3) 1/3)
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 -1/2 y))) 2)
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 2))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(log.f64 (pow.f64 (exp.f64 x) (-.f64 -1/2 y)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 -1/2 y)))))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 3))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (-.f64 -1/2 y) 3)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 -1/2 y) 3) (pow.f64 x 3)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 -1/2 y))))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(exp.f64 (log.f64 (*.f64 x (-.f64 -1/2 y))))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 -1/2 y))) 1))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 -1/2 y))))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(fma.f64 x -1/2 (*.f64 x (neg.f64 y)))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))
(fma.f64 -1/2 x (*.f64 (neg.f64 y) x))
(*.f64 (neg.f64 x) (+.f64 1/2 y))
(*.f64 x (-.f64 -1/2 y))

eval79.0ms (2.2%)

Compiler

Compiled 2399 to 1271 computations (47% saved)

prune29.0ms (0.8%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1426148
Fresh000
Picked112
Done000
Total1437150
Accuracy
100.0%
Counts
150 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 z (*.f64 x (-.f64 -1/2 y)))
71.5%
(-.f64 z (*.f64 x (neg.f64 y)))
69.1%
(-.f64 z (*.f64 x -1/2))
59.0%
(+.f64 (*.f64 1/2 x) (*.f64 x y))
59.0%
(*.f64 x (+.f64 1/2 y))
32.2%
(*.f64 x y)
41.6%
z
100.0%
(-.f64 z (*.f64 x (-.f64 -1/2 y)))
71.5%
(-.f64 z (*.f64 x (neg.f64 y)))
69.1%
(-.f64 z (*.f64 x -1/2))
59.0%
(+.f64 (*.f64 1/2 x) (*.f64 x y))
59.0%
(*.f64 x (+.f64 1/2 y))
32.2%
(*.f64 x y)
41.6%
z
Compiler

Compiled 192 to 136 computations (29.2% saved)

localize72.0ms (2%)

Localize:

Found 2 expressions with local error:

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

Compiled 62 to 26 computations (58.1% saved)

series2.0ms (0%)

Counts
2 → 27
Calls

12 calls:

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

rewrite75.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
813×log1p-expm1-u
813×expm1-log1p-u
802×log-prod
774×fma-def
654×pow-prod-down
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01338
117638
2217738
Stop Event
node limit
Counts
2 → 153
Calls
Call 1
Inputs
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 x y))
Outputs
(+.f64 (*.f64 x 1/2) (*.f64 x y))
(+.f64 (*.f64 x y) (*.f64 x 1/2))
(+.f64 0 (*.f64 x (+.f64 1/2 y)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))) (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 1/2 y)))) 1)
(-.f64 (/.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 x (-.f64 1/2 y))) (/.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (-.f64 1/2 y))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))))
(/.f64 1 (/.f64 (*.f64 x (-.f64 1/2 y)) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 x (*.f64 1/2 (*.f64 x y))))))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) (neg.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))) (neg.f64 (*.f64 x (-.f64 1/2 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (-.f64 (*.f64 x y) (*.f64 x 1/2)))
(/.f64 (*.f64 x (+.f64 1/8 (pow.f64 y 3))) (fma.f64 y (-.f64 y 1/2) 1/4))
(/.f64 (*.f64 x (-.f64 1/4 (pow.f64 y 2))) (-.f64 1/2 y))
(/.f64 (*.f64 (+.f64 1/8 (pow.f64 y 3)) x) (fma.f64 y (-.f64 y 1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(pow.f64 (*.f64 x (+.f64 1/2 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 3)
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) -1)
(pow.f64 (/.f64 (*.f64 x (-.f64 1/2 y)) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))) -1)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 1/2 y)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) 1/2) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (pow.f64 (exp.f64 y) x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (pow.f64 (exp.f64 x) 1/2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 1/2 y))))
(exp.f64 (log.f64 (*.f64 x (+.f64 1/2 y))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (+.f64 1/2 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (+.f64 1/2 y))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (+.f64 1/2 y)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y)))) 2))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 1/2 y))))
(fma.f64 x 1/2 (*.f64 x y))
(fma.f64 x y (*.f64 x 1/2))
(fma.f64 1/2 x (*.f64 x y))
(fma.f64 y x (*.f64 x 1/2))
(fma.f64 (*.f64 x 1/2) 1 (*.f64 x y))
(fma.f64 (*.f64 x y) 1 (*.f64 x 1/2))
(fma.f64 1 (*.f64 x 1/2) (*.f64 x y))
(fma.f64 1 (*.f64 x y) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (*.f64 x y))
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (*.f64 x y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (*.f64 x y))
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 x 1/2))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 x 1/2))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 x 1/2))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (*.f64 x y))
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (*.f64 x y))
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 x 1/2))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x 1/2))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x 1/2))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x 1/2))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x 1/2))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x y))
(fma.f64 (*.f64 1/2 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x y))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 1/2 y)))) 1)
(-.f64 (/.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 x (-.f64 1/2 y))) (/.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (-.f64 1/2 y))))
(*.f64 x (+.f64 1/2 y))
(*.f64 (+.f64 1/2 y) x)
(*.f64 (*.f64 x (+.f64 1/2 y)) 1)
(*.f64 (*.f64 x (+.f64 1/2 y)) (log.f64 (exp.f64 1)))
(*.f64 1 (*.f64 x (+.f64 1/2 y)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 1/2 y)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1/2 y)) 2) (*.f64 (cbrt.f64 (+.f64 1/2 y)) x))
(*.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 2) (cbrt.f64 (*.f64 x (+.f64 1/2 y))))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 1/2 y)))
(*.f64 (sqrt.f64 (+.f64 1/2 y)) (*.f64 (sqrt.f64 (+.f64 1/2 y)) x))
(*.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) (sqrt.f64 (*.f64 x (+.f64 1/2 y))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(*.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (/.f64 1 (*.f64 x (-.f64 1/2 y))))
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 1/2 y)) 2)) (cbrt.f64 (+.f64 1/2 y)))
(*.f64 (*.f64 x (sqrt.f64 (+.f64 1/2 y))) (sqrt.f64 (+.f64 1/2 y)))
(*.f64 (*.f64 (+.f64 1/2 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (+.f64 1/2 y) (sqrt.f64 x)) (sqrt.f64 x))
(/.f64 1 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))))
(/.f64 1 (/.f64 (*.f64 x (-.f64 1/2 y)) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 x (*.f64 1/2 (*.f64 x y))))))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) (neg.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))) (neg.f64 (*.f64 x (-.f64 1/2 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (-.f64 (*.f64 x y) (*.f64 x 1/2)))
(/.f64 (*.f64 x (+.f64 1/8 (pow.f64 y 3))) (fma.f64 y (-.f64 y 1/2) 1/4))
(/.f64 (*.f64 x (-.f64 1/4 (pow.f64 y 2))) (-.f64 1/2 y))
(/.f64 (*.f64 (+.f64 1/8 (pow.f64 y 3)) x) (fma.f64 y (-.f64 y 1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(pow.f64 (*.f64 x (+.f64 1/2 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 3)
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) -1)
(pow.f64 (/.f64 (*.f64 x (-.f64 1/2 y)) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))) -1)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 1/2 y)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) 1/2) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (pow.f64 (exp.f64 y) x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (pow.f64 (exp.f64 x) 1/2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 1/2 y))))
(exp.f64 (log.f64 (*.f64 x (+.f64 1/2 y))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (+.f64 1/2 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (+.f64 1/2 y))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (+.f64 1/2 y)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y)))) 2))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 1/2 y))))
(fma.f64 x 1/2 (*.f64 x y))
(fma.f64 x y (*.f64 x 1/2))
(fma.f64 1/2 x (*.f64 x y))
(fma.f64 y x (*.f64 x 1/2))
(fma.f64 (*.f64 x 1/2) 1 (*.f64 x y))
(fma.f64 (*.f64 x y) 1 (*.f64 x 1/2))
(fma.f64 1 (*.f64 x 1/2) (*.f64 x y))
(fma.f64 1 (*.f64 x y) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (*.f64 x y))
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (*.f64 x y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (*.f64 x y))
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 x 1/2))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 x 1/2))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 x 1/2))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (*.f64 x y))
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (*.f64 x y))
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 x 1/2))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x 1/2))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x 1/2))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x 1/2))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x 1/2))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x y))
(fma.f64 (*.f64 1/2 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x y))

simplify98.0ms (2.7%)

Algorithm
egg-herbie
Rules
1170×fma-def
1066×times-frac
1032×fma-neg
710×log-prod
634×distribute-lft-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02275253
15735106
214704640
370814640
Stop Event
node limit
Counts
180 → 100
Calls
Call 1
Inputs
(*.f64 1/2 x)
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(*.f64 x y)
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(*.f64 x y)
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x (+.f64 1/2 y))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(*.f64 1/2 x)
(*.f64 x y)
(*.f64 x y)
(+.f64 (*.f64 x 1/2) (*.f64 x y))
(+.f64 (*.f64 x y) (*.f64 x 1/2))
(+.f64 0 (*.f64 x (+.f64 1/2 y)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))) (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 1/2 y)))) 1)
(-.f64 (/.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 x (-.f64 1/2 y))) (/.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (-.f64 1/2 y))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))))
(/.f64 1 (/.f64 (*.f64 x (-.f64 1/2 y)) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 x (*.f64 1/2 (*.f64 x y))))))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) (neg.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))) (neg.f64 (*.f64 x (-.f64 1/2 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (-.f64 (*.f64 x y) (*.f64 x 1/2)))
(/.f64 (*.f64 x (+.f64 1/8 (pow.f64 y 3))) (fma.f64 y (-.f64 y 1/2) 1/4))
(/.f64 (*.f64 x (-.f64 1/4 (pow.f64 y 2))) (-.f64 1/2 y))
(/.f64 (*.f64 (+.f64 1/8 (pow.f64 y 3)) x) (fma.f64 y (-.f64 y 1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(pow.f64 (*.f64 x (+.f64 1/2 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 3)
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) -1)
(pow.f64 (/.f64 (*.f64 x (-.f64 1/2 y)) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))) -1)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 1/2 y)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) 1/2) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (pow.f64 (exp.f64 y) x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (pow.f64 (exp.f64 x) 1/2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 1/2 y))))
(exp.f64 (log.f64 (*.f64 x (+.f64 1/2 y))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (+.f64 1/2 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (+.f64 1/2 y))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (+.f64 1/2 y)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y)))) 2))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 1/2 y))))
(fma.f64 x 1/2 (*.f64 x y))
(fma.f64 x y (*.f64 x 1/2))
(fma.f64 1/2 x (*.f64 x y))
(fma.f64 y x (*.f64 x 1/2))
(fma.f64 (*.f64 x 1/2) 1 (*.f64 x y))
(fma.f64 (*.f64 x y) 1 (*.f64 x 1/2))
(fma.f64 1 (*.f64 x 1/2) (*.f64 x y))
(fma.f64 1 (*.f64 x y) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (*.f64 x y))
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (*.f64 x y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (*.f64 x y))
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 x 1/2))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 x 1/2))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 x 1/2))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (*.f64 x y))
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (*.f64 x y))
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 x 1/2))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x 1/2))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x 1/2))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x 1/2))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x 1/2))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x y))
(fma.f64 (*.f64 1/2 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x y))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 1/2 y)))) 1)
(-.f64 (/.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 x (-.f64 1/2 y))) (/.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (-.f64 1/2 y))))
(*.f64 x (+.f64 1/2 y))
(*.f64 (+.f64 1/2 y) x)
(*.f64 (*.f64 x (+.f64 1/2 y)) 1)
(*.f64 (*.f64 x (+.f64 1/2 y)) (log.f64 (exp.f64 1)))
(*.f64 1 (*.f64 x (+.f64 1/2 y)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 1/2 y)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1/2 y)) 2) (*.f64 (cbrt.f64 (+.f64 1/2 y)) x))
(*.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 2) (cbrt.f64 (*.f64 x (+.f64 1/2 y))))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 1/2 y)))
(*.f64 (sqrt.f64 (+.f64 1/2 y)) (*.f64 (sqrt.f64 (+.f64 1/2 y)) x))
(*.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) (sqrt.f64 (*.f64 x (+.f64 1/2 y))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(*.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (/.f64 1 (*.f64 x (-.f64 1/2 y))))
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 1/2 y)) 2)) (cbrt.f64 (+.f64 1/2 y)))
(*.f64 (*.f64 x (sqrt.f64 (+.f64 1/2 y))) (sqrt.f64 (+.f64 1/2 y)))
(*.f64 (*.f64 (+.f64 1/2 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (+.f64 1/2 y) (sqrt.f64 x)) (sqrt.f64 x))
(/.f64 1 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))))
(/.f64 1 (/.f64 (*.f64 x (-.f64 1/2 y)) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 x (*.f64 1/2 (*.f64 x y))))))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) (neg.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))) (neg.f64 (*.f64 x (-.f64 1/2 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (-.f64 (*.f64 x y) (*.f64 x 1/2)))
(/.f64 (*.f64 x (+.f64 1/8 (pow.f64 y 3))) (fma.f64 y (-.f64 y 1/2) 1/4))
(/.f64 (*.f64 x (-.f64 1/4 (pow.f64 y 2))) (-.f64 1/2 y))
(/.f64 (*.f64 (+.f64 1/8 (pow.f64 y 3)) x) (fma.f64 y (-.f64 y 1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(pow.f64 (*.f64 x (+.f64 1/2 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 3)
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) -1)
(pow.f64 (/.f64 (*.f64 x (-.f64 1/2 y)) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))) -1)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 1/2 y)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) 1/2) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (pow.f64 (exp.f64 y) x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (pow.f64 (exp.f64 x) 1/2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 1/2 y))))
(exp.f64 (log.f64 (*.f64 x (+.f64 1/2 y))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (+.f64 1/2 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (+.f64 1/2 y))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (+.f64 1/2 y)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y)))) 2))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 1/2 y))))
(fma.f64 x 1/2 (*.f64 x y))
(fma.f64 x y (*.f64 x 1/2))
(fma.f64 1/2 x (*.f64 x y))
(fma.f64 y x (*.f64 x 1/2))
(fma.f64 (*.f64 x 1/2) 1 (*.f64 x y))
(fma.f64 (*.f64 x y) 1 (*.f64 x 1/2))
(fma.f64 1 (*.f64 x 1/2) (*.f64 x y))
(fma.f64 1 (*.f64 x y) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (*.f64 x y))
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (*.f64 x y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (*.f64 x y))
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 x 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 x 1/2))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 x 1/2))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 x 1/2))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (*.f64 x y))
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (*.f64 x y))
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 x 1/2))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x 1/2))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x 1/2))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x 1/2))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x 1/2))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x y))
(fma.f64 (*.f64 1/2 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x y))
Outputs
(*.f64 1/2 x)
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x y)
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x y)
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x (+.f64 1/2 y))
(*.f64 x (+.f64 1/2 y))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(*.f64 x (+.f64 1/2 y))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(*.f64 x (+.f64 1/2 y))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(*.f64 x (+.f64 1/2 y))
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))
(*.f64 x (+.f64 1/2 y))
(*.f64 1/2 x)
(*.f64 x y)
(*.f64 x y)
(+.f64 (*.f64 x 1/2) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(+.f64 (*.f64 x y) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(+.f64 0 (*.f64 x (+.f64 1/2 y)))
(*.f64 x (+.f64 1/2 y))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))) (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))))
(*.f64 x (+.f64 1/2 y))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 1/2 y)))) 1)
(*.f64 x (+.f64 1/2 y))
(-.f64 (/.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 x (-.f64 1/2 y))) (/.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (-.f64 1/2 y))))
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(/.f64 1 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (*.f64 x (+.f64 (*.f64 x 1/4) (*.f64 y (*.f64 x (+.f64 y -1/2))))))
(/.f64 1 (/.f64 (*.f64 x (-.f64 1/2 y)) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (*.f64 x (+.f64 (*.f64 x 1/4) (*.f64 y (*.f64 x (+.f64 y -1/2))))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 x (*.f64 1/2 (*.f64 x y))))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (*.f64 x (+.f64 (*.f64 x 1/4) (*.f64 y (*.f64 x (+.f64 y -1/2))))))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) (neg.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (*.f64 x (+.f64 (*.f64 x 1/4) (*.f64 y (*.f64 x (+.f64 y -1/2))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))) (neg.f64 (*.f64 x (-.f64 1/2 y))))
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (-.f64 (*.f64 x y) (*.f64 x 1/2)))
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(/.f64 (*.f64 x (+.f64 1/8 (pow.f64 y 3))) (fma.f64 y (-.f64 y 1/2) 1/4))
(/.f64 x (/.f64 (fma.f64 y (+.f64 y -1/2) 1/4) (+.f64 1/8 (pow.f64 y 3))))
(/.f64 (*.f64 x (-.f64 1/4 (pow.f64 y 2))) (-.f64 1/2 y))
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(/.f64 (*.f64 (+.f64 1/8 (pow.f64 y 3)) x) (fma.f64 y (-.f64 y 1/2) 1/4))
(/.f64 x (/.f64 (fma.f64 y (+.f64 y -1/2) 1/4) (+.f64 1/8 (pow.f64 y 3))))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(pow.f64 (*.f64 x (+.f64 1/2 y)) 1)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 3)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2) 1/2)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) 1/3)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) 2)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) -1)
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (*.f64 x (+.f64 (*.f64 x 1/4) (*.f64 y (*.f64 x (+.f64 y -1/2))))))
(pow.f64 (/.f64 (*.f64 x (-.f64 1/2 y)) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))) -1)
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2))
(*.f64 x (+.f64 1/2 y))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))
(*.f64 x (+.f64 1/2 y))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 1/2 y)))))
(*.f64 x (+.f64 1/2 y))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) 1/2) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(*.f64 x (+.f64 1/2 y))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (pow.f64 (exp.f64 y) x)))
(*.f64 x (+.f64 1/2 y))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(*.f64 x (+.f64 1/2 y))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(*.f64 x (+.f64 1/2 y))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (pow.f64 (exp.f64 x) 1/2)))
(*.f64 x (+.f64 1/2 y))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(*.f64 x (+.f64 1/2 y))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3))
(*.f64 x (+.f64 1/2 y))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 1/2 y))))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (log.f64 (*.f64 x (+.f64 1/2 y))))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (*.f64 (log.f64 (*.f64 x (+.f64 1/2 y))) 1))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (+.f64 1/2 y))) 1) 1))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) 3))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (+.f64 1/2 y)))) 1/3))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y)))) 2))
(*.f64 x (+.f64 1/2 y))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 1/2 y))))
(*.f64 x (+.f64 1/2 y))
(fma.f64 x 1/2 (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 x y (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 1/2 x (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 y x (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 x 1/2) 1 (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 x y) 1 (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 1 (*.f64 x 1/2) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 1 (*.f64 x y) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 1/2 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 1/2 y)))) 1)
(*.f64 x (+.f64 1/2 y))
(-.f64 (/.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 x (-.f64 1/2 y))) (/.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (-.f64 1/2 y))))
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(*.f64 x (+.f64 1/2 y))
(*.f64 (+.f64 1/2 y) x)
(*.f64 x (+.f64 1/2 y))
(*.f64 (*.f64 x (+.f64 1/2 y)) 1)
(*.f64 x (+.f64 1/2 y))
(*.f64 (*.f64 x (+.f64 1/2 y)) (log.f64 (exp.f64 1)))
(*.f64 x (+.f64 1/2 y))
(*.f64 1 (*.f64 x (+.f64 1/2 y)))
(*.f64 x (+.f64 1/2 y))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 1/2 y)))
(*.f64 x (+.f64 1/2 y))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1/2 y)) 2) (*.f64 (cbrt.f64 (+.f64 1/2 y)) x))
(*.f64 x (+.f64 1/2 y))
(*.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 2))
(*.f64 x (+.f64 1/2 y))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 2) (cbrt.f64 (*.f64 x (+.f64 1/2 y))))
(*.f64 x (+.f64 1/2 y))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 1/2 y)))
(*.f64 x (+.f64 1/2 y))
(*.f64 (sqrt.f64 (+.f64 1/2 y)) (*.f64 (sqrt.f64 (+.f64 1/2 y)) x))
(*.f64 x (+.f64 1/2 y))
(*.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) (sqrt.f64 (*.f64 x (+.f64 1/2 y))))
(*.f64 x (+.f64 1/2 y))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (*.f64 x (+.f64 (*.f64 x 1/4) (*.f64 y (*.f64 x (+.f64 y -1/2))))))
(*.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (/.f64 1 (*.f64 x (-.f64 1/2 y))))
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 1/2 y)) 2)) (cbrt.f64 (+.f64 1/2 y)))
(*.f64 x (+.f64 1/2 y))
(*.f64 (*.f64 x (sqrt.f64 (+.f64 1/2 y))) (sqrt.f64 (+.f64 1/2 y)))
(*.f64 x (+.f64 1/2 y))
(*.f64 (*.f64 (+.f64 1/2 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 x (+.f64 1/2 y))
(*.f64 (*.f64 (+.f64 1/2 y) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 x (+.f64 1/2 y))
(/.f64 1 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (*.f64 x (+.f64 (*.f64 x 1/4) (*.f64 y (*.f64 x (+.f64 y -1/2))))))
(/.f64 1 (/.f64 (*.f64 x (-.f64 1/2 y)) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))))
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (*.f64 x (+.f64 (*.f64 x 1/4) (*.f64 y (*.f64 x (+.f64 y -1/2))))))
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 x (*.f64 1/2 (*.f64 x y))))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (*.f64 x (+.f64 (*.f64 x 1/4) (*.f64 y (*.f64 x (+.f64 y -1/2))))))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) (neg.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (*.f64 x (+.f64 (*.f64 x 1/4) (*.f64 y (*.f64 x (+.f64 y -1/2))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))) (neg.f64 (*.f64 x (-.f64 1/2 y))))
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (-.f64 (*.f64 x y) (*.f64 x 1/2)))
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(/.f64 (*.f64 x (+.f64 1/8 (pow.f64 y 3))) (fma.f64 y (-.f64 y 1/2) 1/4))
(/.f64 x (/.f64 (fma.f64 y (+.f64 y -1/2) 1/4) (+.f64 1/8 (pow.f64 y 3))))
(/.f64 (*.f64 x (-.f64 1/4 (pow.f64 y 2))) (-.f64 1/2 y))
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(/.f64 (*.f64 (+.f64 1/8 (pow.f64 y 3)) x) (fma.f64 y (-.f64 y 1/2) 1/4))
(/.f64 x (/.f64 (fma.f64 y (+.f64 y -1/2) 1/4) (+.f64 1/8 (pow.f64 y 3))))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y))
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(pow.f64 (*.f64 x (+.f64 1/2 y)) 1)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 3)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2) 1/2)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) 1/3)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) 2)
(*.f64 x (+.f64 1/2 y))
(pow.f64 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) -1)
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4)))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (*.f64 x (+.f64 (*.f64 x 1/4) (*.f64 y (*.f64 x (+.f64 y -1/2))))))
(pow.f64 (/.f64 (*.f64 x (-.f64 1/2 y)) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2))) -1)
(/.f64 (fma.f64 (pow.f64 x 2) 1/4 (neg.f64 (pow.f64 (*.f64 x y) 2))) (*.f64 x (-.f64 1/2 y)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1/2 y)))
(*.f64 x (/.f64 (-.f64 1/4 (pow.f64 y 2)) (-.f64 1/2 y)))
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2))
(*.f64 x (+.f64 1/2 y))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))
(*.f64 x (+.f64 1/2 y))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 1/2 y)))))
(*.f64 x (+.f64 1/2 y))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) 1/2) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(*.f64 x (+.f64 1/2 y))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (pow.f64 (exp.f64 y) x)))
(*.f64 x (+.f64 1/2 y))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 1/2))) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(*.f64 x (+.f64 1/2 y))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(*.f64 x (+.f64 1/2 y))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (pow.f64 (exp.f64 x) 1/2)))
(*.f64 x (+.f64 1/2 y))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 x 1/2)))))
(*.f64 x (+.f64 1/2 y))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3))
(*.f64 x (+.f64 1/2 y))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 1/2 y))))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (log.f64 (*.f64 x (+.f64 1/2 y))))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (*.f64 (log.f64 (*.f64 x (+.f64 1/2 y))) 1))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (+.f64 1/2 y))) 1) 1))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) 3))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (+.f64 1/2 y)))) 1/3))
(*.f64 x (+.f64 1/2 y))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y)))) 2))
(*.f64 x (+.f64 1/2 y))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 1/2 y))))
(*.f64 x (+.f64 1/2 y))
(fma.f64 x 1/2 (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 x y (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 1/2 x (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 y x (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 x 1/2) 1 (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 x y) 1 (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 1 (*.f64 x 1/2) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 1 (*.f64 x y) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x 1/2))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))
(fma.f64 (*.f64 1/2 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x y))
(*.f64 x (+.f64 1/2 y))

eval28.0ms (0.8%)

Compiler

Compiled 1253 to 779 computations (37.8% saved)

prune18.0ms (0.5%)

Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New991100
Fresh011
Picked055
Done011
Total998107
Accuracy
100.0%
Counts
107 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 z (*.f64 x (-.f64 -1/2 y)))
71.5%
(-.f64 z (*.f64 x (neg.f64 y)))
69.1%
(-.f64 z (*.f64 x -1/2))
59.0%
(+.f64 (*.f64 1/2 x) (*.f64 x y))
59.0%
(*.f64 x (+.f64 1/2 y))
32.2%
(*.f64 x y)
29.2%
(*.f64 1/2 x)
41.6%
z
100.0%
(-.f64 z (*.f64 x (-.f64 -1/2 y)))
71.5%
(-.f64 z (*.f64 x (neg.f64 y)))
69.1%
(-.f64 z (*.f64 x -1/2))
59.0%
(+.f64 (*.f64 1/2 x) (*.f64 x y))
59.0%
(*.f64 x (+.f64 1/2 y))
32.2%
(*.f64 x y)
29.2%
(*.f64 1/2 x)
41.6%
z
Compiler

Compiled 122 to 88 computations (27.9% saved)

localize18.0ms (0.5%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune5.0ms (0.1%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done066
Total088
Accuracy
100.0%
Counts
8 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 z (*.f64 x (-.f64 -1/2 y)))
71.5%
(-.f64 z (*.f64 x (neg.f64 y)))
69.1%
(-.f64 z (*.f64 x -1/2))
59.0%
(+.f64 (*.f64 1/2 x) (*.f64 x y))
59.0%
(*.f64 x (+.f64 1/2 y))
32.2%
(*.f64 x y)
29.2%
(*.f64 1/2 x)
41.6%
z
100.0%
(-.f64 z (*.f64 x (-.f64 -1/2 y)))
71.5%
(-.f64 z (*.f64 x (neg.f64 y)))
69.1%
(-.f64 z (*.f64 x -1/2))
59.0%
(+.f64 (*.f64 1/2 x) (*.f64 x y))
59.0%
(*.f64 x (+.f64 1/2 y))
32.2%
(*.f64 x y)
29.2%
(*.f64 1/2 x)
41.6%
z
Compiler

Compiled 122 to 88 computations (27.9% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune8.0ms (0.2%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done077
Total088
Accuracy
100.0%
Counts
8 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 z (*.f64 x (-.f64 -1/2 y)))
71.5%
(-.f64 z (*.f64 x (neg.f64 y)))
69.1%
(-.f64 z (*.f64 x -1/2))
59.0%
(+.f64 (*.f64 1/2 x) (*.f64 x y))
59.0%
(*.f64 x (+.f64 1/2 y))
32.2%
(*.f64 x y)
29.2%
(*.f64 1/2 x)
41.6%
z
Compiler

Compiled 119 to 75 computations (37% saved)

regimes70.0ms (1.9%)

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

5 calls:

44.0ms
y
7.0ms
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
6.0ms
z
6.0ms
x
6.0ms
(+.f64 (/.f64 x 2) (*.f64 y x))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1z
100.0%1(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
100.0%1(+.f64 (/.f64 x 2) (*.f64 y x))
Compiler

Compiled 92 to 55 computations (40.2% saved)

regimes93.0ms (2.5%)

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

3 calls:

50.0ms
x
36.0ms
z
5.0ms
y
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1z
Compiler

Compiled 52 to 31 computations (40.4% saved)

regimes100.0ms (2.7%)

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

3 calls:

51.0ms
y
24.0ms
x
24.0ms
z
Results
AccuracySegmentsBranch
88.7%5x
98.7%3y
87.7%5z
Compiler

Compiled 45 to 27 computations (40% saved)

regimes14.0ms (0.4%)

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

1 calls:

13.0ms
y
Results
AccuracySegmentsBranch
86.4%3y
Compiler

Compiled 24 to 15 computations (37.5% saved)

regimes46.0ms (1.3%)

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

3 calls:

22.0ms
y
11.0ms
z
11.0ms
x
Results
AccuracySegmentsBranch
75.6%3z
76.5%3x
66.5%5y
Compiler

Compiled 27 to 18 computations (33.3% saved)

regimes84.0ms (2.3%)

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

3 calls:

38.0ms
z
25.0ms
y
20.0ms
x
Results
AccuracySegmentsBranch
67.5%8y
66.0%12z
63.7%6x
Compiler

Compiled 22 to 15 computations (31.8% saved)

regimes35.0ms (1%)

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

2 calls:

20.0ms
y
14.0ms
x
Results
AccuracySegmentsBranch
58.7%5x
51.6%7y
Compiler

Compiled 15 to 11 computations (26.7% saved)

regimes9.0ms (0.2%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
z
Outputs
z
Calls

3 calls:

3.0ms
x
3.0ms
z
3.0ms
y
Results
AccuracySegmentsBranch
41.6%1y
41.6%1z
41.6%1x
Compiler

Compiled 16 to 12 computations (25% saved)

bsearch28.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
17.0ms
0.0023958687890175264
19939727500.100464
11.0ms
-24.004796779857728
-3.6386156202858437
Results
25.0ms256×body256valid
Compiler

Compiled 322 to 237 computations (26.4% saved)

bsearch20.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
6.327435895508336e+26
1.567694065250503e+27
11.0ms
-24.004796779857728
-3.6386156202858437
Results
16.0ms171×body256valid
0.0msbody256infinite
Compiler

Compiled 206 to 157 computations (23.8% saved)

bsearch28.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
2.2527452500478744e-143
2.5890191877027788e-142
17.0ms
-5.181548066000732e-30
-7.500740985876574e-38
Results
25.0ms240×body256valid
Compiler

Compiled 228 to 178 computations (21.9% saved)

bsearch153.0ms (4.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
7.732790408060151e+19
3.446461733246273e+26
14.0ms
7.566508716668677e-40
7.44272718790995e-37
16.0ms
5.564470908423497e-64
7.693077952551887e-56
69.0ms
9.047502703330261e-214
5.291215842565125e-212
8.0ms
7.827360333669465e-305
1.1358794624374446e-304
16.0ms
-8.406758569313836e-118
-4.410849284672968e-127
14.0ms
-3.6386156202858437
-0.008769910350753857
Results
141.0ms858×body256valid
1.0msbody256infinite
Compiler

Compiled 682 to 552 computations (19.1% saved)

bsearch61.0ms (1.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
1.4052538253478056e+82
6.606721634445603e+84
14.0ms
4.3791244142835956e-35
2.4476365392305037e-33
12.0ms
4.066501381154738e-114
1.8076782323404455e-113
18.0ms
-1.4438410488938396e+108
-4.972091057627678e+96
Results
52.0ms469×body256valid
3.0ms27×body256infinite
Compiler

Compiled 390 to 323 computations (17.2% saved)

simplify69.0ms (1.9%)

Algorithm
egg-herbie
Rules
140×distribute-lft-neg-in
138×unsub-neg
96×neg-mul-1
72×cancel-sign-sub
66×neg-sub0
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
081509
1121505
2158505
3203501
4255501
5303501
6393501
7482501
8523501
9556501
10588501
11593501
12603501
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(-.f64 z (*.f64 x (-.f64 -1/2 y)))
(if (<=.f64 y -4165829655317709/1125899906842624) (-.f64 z (*.f64 x (neg.f64 y))) (if (<=.f64 y 1/2) (-.f64 z (*.f64 x -1/2)) (-.f64 z (*.f64 x (neg.f64 y)))))
(if (<=.f64 y -12) (*.f64 x (+.f64 1/2 y)) (if (<=.f64 y 760000000000000043083890688) (-.f64 z (*.f64 x -1/2)) (*.f64 x y)))
(if (<=.f64 x -7901930132589739/23945242826029513411849172299223580994042798784118784) (*.f64 x (+.f64 1/2 y)) (if (<=.f64 x 4942654315294039/27459190640522438859927603196325572869077741200573221637577853836742172733590624208490238562645818219909185245565923432148487951998866575250296113164460228608) z (*.f64 x (+.f64 1/2 y))))
(if (<=.f64 y -1/2) (*.f64 x y) (if (<=.f64 y -526958075114315/181709681073901722637330951972001133588410340171829515070372549795159822028349480831547762678440891390190630401566544483383650407153664) (*.f64 1/2 x) (if (<=.f64 y 5188534325504789/49414612623855131433714684257548170666395666446323759364477870612165610246092613987295015552108672972457782681717971658054152523775828485563235693344906862773807964911271084317496803647971976645810490155877135026504396358257981615873560389562783094809768080203212590222737650052546509407272052614415528872877858335227904) z (if (<=.f64 y 2880648804073581/758065474756205534740712640850831325809026375545262017157740252942407691741394964028749223060862538061761587254458531838950966818415436714572405896016201728127175281260180617944465471499803928137335448825056869507271897877839872) (*.f64 1/2 x) (if (<=.f64 y 3957737425103581/28269553036454149273332760011886696253239742350009903329945699220681916416) z (if (<=.f64 y 7355978596156267/1532495540865888858358347027150309183618739122183602176) (*.f64 1/2 x) (if (<=.f64 y 124999999999999997902848) z (*.f64 x y))))))))
(if (<=.f64 x -17999999999999998288945585156100823803977682462171130609881858203465164502887052146653277747937280) (*.f64 1/2 x) (if (<=.f64 x 6238506811771833/346583711765101857447301773017885462929554634421977071896309947576827663475703202879996800763017447262173901370175446478621769728) z (if (<=.f64 x 8231177221447645/187072209578355573530071658587684226515959365500928) (*.f64 1/2 x) (if (<=.f64 x 370000000000000023530441395674932963475150043987114184617247043200089362074550927360) z (*.f64 1/2 x)))))
z
Outputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 x y)) z)
(-.f64 z (*.f64 x (-.f64 -1/2 y)))
(+.f64 z (*.f64 x (-.f64 y -1/2)))
(if (<=.f64 y -4165829655317709/1125899906842624) (-.f64 z (*.f64 x (neg.f64 y))) (if (<=.f64 y 1/2) (-.f64 z (*.f64 x -1/2)) (-.f64 z (*.f64 x (neg.f64 y)))))
(if (or (<=.f64 y -4165829655317709/1125899906842624) (not (<=.f64 y 1/2))) (-.f64 z (*.f64 x (neg.f64 y))) (-.f64 z (*.f64 x -1/2)))
(if (or (<=.f64 y -4165829655317709/1125899906842624) (not (<=.f64 y 1/2))) (+.f64 z (*.f64 x y)) (-.f64 z (*.f64 x -1/2)))
(if (<=.f64 y -12) (*.f64 x (+.f64 1/2 y)) (if (<=.f64 y 760000000000000043083890688) (-.f64 z (*.f64 x -1/2)) (*.f64 x y)))
(if (<=.f64 y -12) (*.f64 x (+.f64 y 1/2)) (if (<=.f64 y 760000000000000043083890688) (-.f64 z (*.f64 x -1/2)) (*.f64 x y)))
(if (<=.f64 x -7901930132589739/23945242826029513411849172299223580994042798784118784) (*.f64 x (+.f64 1/2 y)) (if (<=.f64 x 4942654315294039/27459190640522438859927603196325572869077741200573221637577853836742172733590624208490238562645818219909185245565923432148487951998866575250296113164460228608) z (*.f64 x (+.f64 1/2 y))))
(if (or (<=.f64 x -7901930132589739/23945242826029513411849172299223580994042798784118784) (not (<=.f64 x 4942654315294039/27459190640522438859927603196325572869077741200573221637577853836742172733590624208490238562645818219909185245565923432148487951998866575250296113164460228608))) (*.f64 x (+.f64 y 1/2)) z)
(if (<=.f64 y -1/2) (*.f64 x y) (if (<=.f64 y -526958075114315/181709681073901722637330951972001133588410340171829515070372549795159822028349480831547762678440891390190630401566544483383650407153664) (*.f64 1/2 x) (if (<=.f64 y 5188534325504789/49414612623855131433714684257548170666395666446323759364477870612165610246092613987295015552108672972457782681717971658054152523775828485563235693344906862773807964911271084317496803647971976645810490155877135026504396358257981615873560389562783094809768080203212590222737650052546509407272052614415528872877858335227904) z (if (<=.f64 y 2880648804073581/758065474756205534740712640850831325809026375545262017157740252942407691741394964028749223060862538061761587254458531838950966818415436714572405896016201728127175281260180617944465471499803928137335448825056869507271897877839872) (*.f64 1/2 x) (if (<=.f64 y 3957737425103581/28269553036454149273332760011886696253239742350009903329945699220681916416) z (if (<=.f64 y 7355978596156267/1532495540865888858358347027150309183618739122183602176) (*.f64 1/2 x) (if (<=.f64 y 124999999999999997902848) z (*.f64 x y))))))))
(if (<=.f64 y -1/2) (*.f64 x y) (if (<=.f64 y -526958075114315/181709681073901722637330951972001133588410340171829515070372549795159822028349480831547762678440891390190630401566544483383650407153664) (*.f64 x 1/2) (if (<=.f64 y 5188534325504789/49414612623855131433714684257548170666395666446323759364477870612165610246092613987295015552108672972457782681717971658054152523775828485563235693344906862773807964911271084317496803647971976645810490155877135026504396358257981615873560389562783094809768080203212590222737650052546509407272052614415528872877858335227904) z (if (<=.f64 y 2880648804073581/758065474756205534740712640850831325809026375545262017157740252942407691741394964028749223060862538061761587254458531838950966818415436714572405896016201728127175281260180617944465471499803928137335448825056869507271897877839872) (*.f64 x 1/2) (if (<=.f64 y 3957737425103581/28269553036454149273332760011886696253239742350009903329945699220681916416) z (if (<=.f64 y 7355978596156267/1532495540865888858358347027150309183618739122183602176) (*.f64 x 1/2) (if (<=.f64 y 124999999999999997902848) z (*.f64 x y))))))))
(if (<=.f64 x -17999999999999998288945585156100823803977682462171130609881858203465164502887052146653277747937280) (*.f64 1/2 x) (if (<=.f64 x 6238506811771833/346583711765101857447301773017885462929554634421977071896309947576827663475703202879996800763017447262173901370175446478621769728) z (if (<=.f64 x 8231177221447645/187072209578355573530071658587684226515959365500928) (*.f64 1/2 x) (if (<=.f64 x 370000000000000023530441395674932963475150043987114184617247043200089362074550927360) z (*.f64 1/2 x)))))
(if (<=.f64 x -17999999999999998288945585156100823803977682462171130609881858203465164502887052146653277747937280) (*.f64 x 1/2) (if (<=.f64 x 6238506811771833/346583711765101857447301773017885462929554634421977071896309947576827663475703202879996800763017447262173901370175446478621769728) z (if (or (<=.f64 x 8231177221447645/187072209578355573530071658587684226515959365500928) (not (<=.f64 x 370000000000000023530441395674932963475150043987114184617247043200089362074550927360))) (*.f64 x 1/2) z)))
(if (or (<=.f64 x -17999999999999998288945585156100823803977682462171130609881858203465164502887052146653277747937280) (not (or (<=.f64 x 6238506811771833/346583711765101857447301773017885462929554634421977071896309947576827663475703202879996800763017447262173901370175446478621769728) (and (not (<=.f64 x 8231177221447645/187072209578355573530071658587684226515959365500928)) (<=.f64 x 370000000000000023530441395674932963475150043987114184617247043200089362074550927360))))) (*.f64 x 1/2) z)
z
Compiler

Compiled 164 to 112 computations (31.7% saved)

soundness778.0ms (21.3%)

Rules
2916×fma-def
2916×fma-def
1864×fma-def
1864×fma-def
1210×distribute-lft-in
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
040435
199375
2274371
3801323
41689297
52820297
63289292
73453292
83561292
93594292
103602276
114160276
124160276
134160276
040435
199375
2274371
3801323
41689297
52820297
63289292
73453292
83561292
93594292
103602276
114160276
124160276
134160276
03046491
17466291
222456188
03046491
17466291
222456188
Stop Event
node limit
node limit
saturated
saturated
Compiler

Compiled 214 to 115 computations (46.3% saved)

end0.0ms (0%)

preprocess115.0ms (3.1%)

Compiler

Compiled 310 to 192 computations (38.1% saved)

Profiling

Loading profile data...