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

Time bar (total: 2.5s)

analyze0.0ms (0%)

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

Compiled 14 to 11 computations (21.4% saved)

sample861.0ms (33.9%)

Results
747.0ms7205×body256valid
103.0ms1051×body256infinite
Bogosity

preprocess483.0ms (19%)

Algorithm
egg-herbie
Rules
1961×fma-def
471×+-commutative
448×fma-neg
376×associate-+l-
352×associate-+l+
Problems
256×No Errors
Iterations

Useful iterations: 12 (0.0ms)

IterNodesCost
031208
182186
2206164
3545160
41893152
54339152
65379152
75612152
85658152
95662152
105664152
115694152
125694150
137321150
147321150
157321150
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(+.f64 (-.f64 (*.f64 (neg.f64 x) (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(+.f64 (-.f64 (*.f64 x (-.f64 (neg.f64 y) 1)) (*.f64 (neg.f64 y) 1/2)) 918938533204673/1000000000000000)
(+.f64 (-.f64 (*.f64 y (-.f64 x 1)) (*.f64 x 1/2)) 918938533204673/1000000000000000)
Outputs
(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(-.f64 (*.f64 x (+.f64 y -1)) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
(+.f64 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)) 918938533204673/1000000000000000)
(fma.f64 x (+.f64 y -1) (fma.f64 y -1/2 918938533204673/1000000000000000))
(-.f64 918938533204673/1000000000000000 (fma.f64 y (-.f64 1/2 x) x))
(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(-.f64 (*.f64 x (+.f64 y -1)) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
(+.f64 (fma.f64 x (+.f64 y -1) (*.f64 y -1/2)) 918938533204673/1000000000000000)
(fma.f64 x (+.f64 y -1) (fma.f64 y -1/2 918938533204673/1000000000000000))
(-.f64 918938533204673/1000000000000000 (fma.f64 y (-.f64 1/2 x) x))
(+.f64 (-.f64 (*.f64 (neg.f64 x) (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(+.f64 918938533204673/1000000000000000 (-.f64 (*.f64 (+.f64 y -1) (neg.f64 x)) (*.f64 y 1/2)))
(+.f64 918938533204673/1000000000000000 (fma.f64 (+.f64 y -1) (neg.f64 x) (*.f64 y -1/2)))
(-.f64 918938533204673/1000000000000000 (fma.f64 x (+.f64 y -1) (*.f64 y 1/2)))
(fma.f64 x (-.f64 1 y) (fma.f64 y -1/2 918938533204673/1000000000000000))
(+.f64 918938533204673/1000000000000000 (fma.f64 y (-.f64 -1/2 x) x))
(-.f64 x (fma.f64 y (+.f64 x 1/2) -918938533204673/1000000000000000))
(+.f64 (-.f64 (*.f64 x (-.f64 (neg.f64 y) 1)) (*.f64 (neg.f64 y) 1/2)) 918938533204673/1000000000000000)
(+.f64 918938533204673/1000000000000000 (+.f64 (*.f64 x (+.f64 (neg.f64 y) -1)) (*.f64 y 1/2)))
(+.f64 918938533204673/1000000000000000 (fma.f64 x (fma.f64 -1 y -1) (*.f64 y 1/2)))
(fma.f64 x (-.f64 -1 y) (fma.f64 y 1/2 918938533204673/1000000000000000))
(-.f64 918938533204673/1000000000000000 (fma.f64 y (+.f64 x -1/2) x))
(+.f64 (-.f64 (*.f64 y (-.f64 x 1)) (*.f64 x 1/2)) 918938533204673/1000000000000000)
(+.f64 918938533204673/1000000000000000 (-.f64 (*.f64 y (+.f64 x -1)) (*.f64 x 1/2)))
(+.f64 918938533204673/1000000000000000 (fma.f64 y (+.f64 x -1) (*.f64 x -1/2)))
(fma.f64 y (+.f64 x -1) (fma.f64 x -1/2 918938533204673/1000000000000000))
(fma.f64 x -1/2 (fma.f64 y (+.f64 x -1) 918938533204673/1000000000000000))
(-.f64 (fma.f64 x (+.f64 y -1/2) 918938533204673/1000000000000000) y)
Compiler

Compiled 52 to 37 computations (28.8% saved)

eval25.0ms (1%)

Compiler

Compiled 40 to 28 computations (30% saved)

prune2.0ms (0.1%)

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

Compiled 26 to 20 computations (23.1% saved)

localize40.0ms (1.6%)

Localize:

Found 1 expressions with local error:

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

Compiled 35 to 25 computations (28.6% saved)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite160.0ms (6.3%)

Algorithm
batch-egg-rewrite
Rules
445×*-un-lft-identity
359×add-sqr-sqrt
347×frac-times
272×associate-*r/
257×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01019
110419
2132018
Stop Event
node limit
Counts
1 → 63
Calls
Call 1
Inputs
(*.f64 x (+.f64 y -1))
Outputs
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 x y) x)
(+.f64 (*.f64 x y) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 2)) (*.f64 -1 (cbrt.f64 x))))
(+.f64 (*.f64 x y) (*.f64 (neg.f64 (neg.f64 (sqrt.f64 x))) (sqrt.f64 x)))
(+.f64 (*.f64 x y) (*.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 2))) (cbrt.f64 x)))
(+.f64 (*.f64 x y) (*.f64 (neg.f64 (sqrt.f64 x)) (neg.f64 (sqrt.f64 x))))
(+.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) -1)
(-.f64 (*.f64 x y) x)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (fma.f64 x y x)) (/.f64 (pow.f64 x 2) (fma.f64 x y x)))
(/.f64 x (/.f64 -1 (+.f64 y -1)))
(/.f64 1 (/.f64 (+.f64 y -1) (*.f64 x (fma.f64 y y -1))))
(/.f64 1 (/.f64 (+.f64 (fma.f64 y y -1) y) (*.f64 x (+.f64 -1 (pow.f64 y 3)))))
(/.f64 1 (/.f64 (fma.f64 x y x) (pow.f64 (fma.f64 x y x) 2)))
(/.f64 1 (/.f64 (+.f64 (*.f64 x (fma.f64 x y x)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3))))
(/.f64 (+.f64 -1 (pow.f64 y 3)) (/.f64 (+.f64 (fma.f64 y y -1) y) x))
(/.f64 (pow.f64 (fma.f64 x y x) 2) (fma.f64 x y x))
(/.f64 (fma.f64 y y -1) (/.f64 (+.f64 y -1) x))
(/.f64 (*.f64 x (fma.f64 y y -1)) (+.f64 y -1))
(/.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3))) (+.f64 (fma.f64 y y -1) y))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (+.f64 (*.f64 x (fma.f64 x y x)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 x 2) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 x y)))))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (neg.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (*.f64 (*.f64 x (sqrt.f64 (+.f64 y -1))) (+.f64 y -1)) (sqrt.f64 (+.f64 y -1)))
(/.f64 (*.f64 (*.f64 x (sqrt.f64 (+.f64 y -1))) (sqrt.f64 (+.f64 -1 (pow.f64 y 3)))) (sqrt.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (*.f64 (*.f64 x (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (+.f64 y -1)))
(/.f64 (*.f64 (*.f64 x (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (+.f64 -1 (pow.f64 y 3)))) (cbrt.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) x) (neg.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (*.f64 (*.f64 x (fma.f64 y y -1)) 1) (+.f64 y -1))
(/.f64 (*.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3))) 1) (+.f64 (fma.f64 y y -1) y))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) 1) (+.f64 (*.f64 x (fma.f64 x y x)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (*.f64 (+.f64 y -1) (*.f64 x (sqrt.f64 (+.f64 y -1)))) (sqrt.f64 (+.f64 y -1)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 -1 (pow.f64 y 3))) (*.f64 x (sqrt.f64 (+.f64 y -1)))) (sqrt.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (/.f64 (*.f64 x (fma.f64 y y -1)) 1) (+.f64 y -1))
(/.f64 (/.f64 (*.f64 x (fma.f64 y y -1)) (sqrt.f64 (+.f64 y -1))) (sqrt.f64 (+.f64 y -1)))
(/.f64 (/.f64 (*.f64 x (fma.f64 y y -1)) (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (+.f64 y -1)))
(/.f64 (/.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3))) 1) (+.f64 (fma.f64 y y -1) y))
(/.f64 (/.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3))) (sqrt.f64 (+.f64 (fma.f64 y y -1) y))) (sqrt.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (/.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3))) (*.f64 (cbrt.f64 (+.f64 (fma.f64 y y -1) y)) (cbrt.f64 (+.f64 (fma.f64 y y -1) y)))) (cbrt.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (*.f64 x (fma.f64 x y x)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 x y) 2)) (-.f64 x (*.f64 x y)))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) (exp.f64 (log1p.f64 (fma.f64 x y x)))) 1) (+.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 1))
(/.f64 (-.f64 (pow.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 3) 1) (+.f64 (*.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) (exp.f64 (log1p.f64 (fma.f64 x y x)))) (+.f64 1 (*.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 1))))
(/.f64 (neg.f64 (*.f64 x (fma.f64 y y -1))) (+.f64 y -1))
(/.f64 (neg.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3)))) (neg.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (neg.f64 (pow.f64 (fma.f64 x y x) 2)) (neg.f64 (fma.f64 x y x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3))) (neg.f64 (+.f64 (*.f64 x (fma.f64 x y x)) (pow.f64 (*.f64 x y) 2))))
(pow.f64 (fma.f64 x y x) 1)
(pow.f64 (sqrt.f64 (fma.f64 x y x)) 2)
(pow.f64 (cbrt.f64 (fma.f64 x y x)) 3)
(pow.f64 (pow.f64 (fma.f64 x y x) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x y x) 3) 1/3)
(sqrt.f64 (pow.f64 (fma.f64 x y x) 2))
(fabs.f64 (fma.f64 x y x))
(log.f64 (exp.f64 (fma.f64 x y x)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x))))
(cbrt.f64 (pow.f64 (fma.f64 x y x) 3))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (+.f64 y -1) 3)))
(expm1.f64 (log1p.f64 (fma.f64 x y x)))
(exp.f64 (+.f64 (log.f64 x) (log1p.f64 y)))
(log1p.f64 (expm1.f64 (fma.f64 x y x)))
(fma.f64 x y x)
(fma.f64 y x x)

simplify57.0ms (2.3%)

Algorithm
egg-herbie
Rules
834×associate-/r*
373×fma-def
344×*-commutative
315×unswap-sqr
289×distribute-lft-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01813167
15023015
219892975
Stop Event
node limit
Counts
87 → 104
Calls
Call 1
Inputs
(*.f64 x (-.f64 y 1))
(*.f64 x (-.f64 y 1))
(*.f64 x (-.f64 y 1))
(*.f64 x (-.f64 y 1))
(*.f64 x (-.f64 y 1))
(*.f64 x (-.f64 y 1))
(*.f64 x (-.f64 y 1))
(*.f64 x (-.f64 y 1))
(*.f64 x (-.f64 y 1))
(*.f64 x (-.f64 y 1))
(*.f64 x (-.f64 y 1))
(*.f64 x (-.f64 y 1))
(*.f64 -1 x)
(+.f64 (*.f64 -1 x) (*.f64 x y))
(+.f64 (*.f64 -1 x) (*.f64 x y))
(+.f64 (*.f64 -1 x) (*.f64 x y))
(*.f64 x y)
(+.f64 (*.f64 -1 x) (*.f64 x y))
(+.f64 (*.f64 -1 x) (*.f64 x y))
(+.f64 (*.f64 -1 x) (*.f64 x y))
(*.f64 x y)
(+.f64 (*.f64 -1 x) (*.f64 x y))
(+.f64 (*.f64 -1 x) (*.f64 x y))
(+.f64 (*.f64 -1 x) (*.f64 x y))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 x y) x)
(+.f64 (*.f64 x y) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 2)) (*.f64 -1 (cbrt.f64 x))))
(+.f64 (*.f64 x y) (*.f64 (neg.f64 (neg.f64 (sqrt.f64 x))) (sqrt.f64 x)))
(+.f64 (*.f64 x y) (*.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 2))) (cbrt.f64 x)))
(+.f64 (*.f64 x y) (*.f64 (neg.f64 (sqrt.f64 x)) (neg.f64 (sqrt.f64 x))))
(+.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) -1)
(-.f64 (*.f64 x y) x)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (fma.f64 x y x)) (/.f64 (pow.f64 x 2) (fma.f64 x y x)))
(/.f64 x (/.f64 -1 (+.f64 y -1)))
(/.f64 1 (/.f64 (+.f64 y -1) (*.f64 x (fma.f64 y y -1))))
(/.f64 1 (/.f64 (+.f64 (fma.f64 y y -1) y) (*.f64 x (+.f64 -1 (pow.f64 y 3)))))
(/.f64 1 (/.f64 (fma.f64 x y x) (pow.f64 (fma.f64 x y x) 2)))
(/.f64 1 (/.f64 (+.f64 (*.f64 x (fma.f64 x y x)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3))))
(/.f64 (+.f64 -1 (pow.f64 y 3)) (/.f64 (+.f64 (fma.f64 y y -1) y) x))
(/.f64 (pow.f64 (fma.f64 x y x) 2) (fma.f64 x y x))
(/.f64 (fma.f64 y y -1) (/.f64 (+.f64 y -1) x))
(/.f64 (*.f64 x (fma.f64 y y -1)) (+.f64 y -1))
(/.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3))) (+.f64 (fma.f64 y y -1) y))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (+.f64 (*.f64 x (fma.f64 x y x)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 x 2) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 x y)))))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (neg.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (*.f64 (*.f64 x (sqrt.f64 (+.f64 y -1))) (+.f64 y -1)) (sqrt.f64 (+.f64 y -1)))
(/.f64 (*.f64 (*.f64 x (sqrt.f64 (+.f64 y -1))) (sqrt.f64 (+.f64 -1 (pow.f64 y 3)))) (sqrt.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (*.f64 (*.f64 x (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (+.f64 y -1)))
(/.f64 (*.f64 (*.f64 x (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (+.f64 -1 (pow.f64 y 3)))) (cbrt.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) x) (neg.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (*.f64 (*.f64 x (fma.f64 y y -1)) 1) (+.f64 y -1))
(/.f64 (*.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3))) 1) (+.f64 (fma.f64 y y -1) y))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) 1) (+.f64 (*.f64 x (fma.f64 x y x)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (*.f64 (+.f64 y -1) (*.f64 x (sqrt.f64 (+.f64 y -1)))) (sqrt.f64 (+.f64 y -1)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 -1 (pow.f64 y 3))) (*.f64 x (sqrt.f64 (+.f64 y -1)))) (sqrt.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (/.f64 (*.f64 x (fma.f64 y y -1)) 1) (+.f64 y -1))
(/.f64 (/.f64 (*.f64 x (fma.f64 y y -1)) (sqrt.f64 (+.f64 y -1))) (sqrt.f64 (+.f64 y -1)))
(/.f64 (/.f64 (*.f64 x (fma.f64 y y -1)) (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (+.f64 y -1)))
(/.f64 (/.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3))) 1) (+.f64 (fma.f64 y y -1) y))
(/.f64 (/.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3))) (sqrt.f64 (+.f64 (fma.f64 y y -1) y))) (sqrt.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (/.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3))) (*.f64 (cbrt.f64 (+.f64 (fma.f64 y y -1) y)) (cbrt.f64 (+.f64 (fma.f64 y y -1) y)))) (cbrt.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (*.f64 x (fma.f64 x y x)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 x y) 2)) (-.f64 x (*.f64 x y)))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) (exp.f64 (log1p.f64 (fma.f64 x y x)))) 1) (+.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 1))
(/.f64 (-.f64 (pow.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 3) 1) (+.f64 (*.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) (exp.f64 (log1p.f64 (fma.f64 x y x)))) (+.f64 1 (*.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 1))))
(/.f64 (neg.f64 (*.f64 x (fma.f64 y y -1))) (+.f64 y -1))
(/.f64 (neg.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3)))) (neg.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (neg.f64 (pow.f64 (fma.f64 x y x) 2)) (neg.f64 (fma.f64 x y x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3))) (neg.f64 (+.f64 (*.f64 x (fma.f64 x y x)) (pow.f64 (*.f64 x y) 2))))
(pow.f64 (fma.f64 x y x) 1)
(pow.f64 (sqrt.f64 (fma.f64 x y x)) 2)
(pow.f64 (cbrt.f64 (fma.f64 x y x)) 3)
(pow.f64 (pow.f64 (fma.f64 x y x) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x y x) 3) 1/3)
(sqrt.f64 (pow.f64 (fma.f64 x y x) 2))
(fabs.f64 (fma.f64 x y x))
(log.f64 (exp.f64 (fma.f64 x y x)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x))))
(cbrt.f64 (pow.f64 (fma.f64 x y x) 3))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (+.f64 y -1) 3)))
(expm1.f64 (log1p.f64 (fma.f64 x y x)))
(exp.f64 (+.f64 (log.f64 x) (log1p.f64 y)))
(log1p.f64 (expm1.f64 (fma.f64 x y x)))
(fma.f64 x y x)
(fma.f64 y x x)
Outputs
(*.f64 x (-.f64 y 1))
(*.f64 x (+.f64 y -1))
(*.f64 x (-.f64 y 1))
(*.f64 x (+.f64 y -1))
(*.f64 x (-.f64 y 1))
(*.f64 x (+.f64 y -1))
(*.f64 x (-.f64 y 1))
(*.f64 x (+.f64 y -1))
(*.f64 x (-.f64 y 1))
(*.f64 x (+.f64 y -1))
(*.f64 x (-.f64 y 1))
(*.f64 x (+.f64 y -1))
(*.f64 x (-.f64 y 1))
(*.f64 x (+.f64 y -1))
(*.f64 x (-.f64 y 1))
(*.f64 x (+.f64 y -1))
(*.f64 x (-.f64 y 1))
(*.f64 x (+.f64 y -1))
(*.f64 x (-.f64 y 1))
(*.f64 x (+.f64 y -1))
(*.f64 x (-.f64 y 1))
(*.f64 x (+.f64 y -1))
(*.f64 x (-.f64 y 1))
(*.f64 x (+.f64 y -1))
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 -1 x) (*.f64 x y))
(*.f64 x (+.f64 y -1))
(+.f64 (*.f64 -1 x) (*.f64 x y))
(*.f64 x (+.f64 y -1))
(+.f64 (*.f64 -1 x) (*.f64 x y))
(*.f64 x (+.f64 y -1))
(*.f64 x y)
(+.f64 (*.f64 -1 x) (*.f64 x y))
(*.f64 x (+.f64 y -1))
(+.f64 (*.f64 -1 x) (*.f64 x y))
(*.f64 x (+.f64 y -1))
(+.f64 (*.f64 -1 x) (*.f64 x y))
(*.f64 x (+.f64 y -1))
(*.f64 x y)
(+.f64 (*.f64 -1 x) (*.f64 x y))
(*.f64 x (+.f64 y -1))
(+.f64 (*.f64 -1 x) (*.f64 x y))
(*.f64 x (+.f64 y -1))
(+.f64 (*.f64 -1 x) (*.f64 x y))
(*.f64 x (+.f64 y -1))
(+.f64 x (*.f64 x y))
(fma.f64 x y x)
(+.f64 (*.f64 x y) x)
(fma.f64 x y x)
(+.f64 (*.f64 x y) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 2)) (*.f64 -1 (cbrt.f64 x))))
(fma.f64 x y x)
(+.f64 (*.f64 x y) (*.f64 (neg.f64 (neg.f64 (sqrt.f64 x))) (sqrt.f64 x)))
(fma.f64 x y x)
(+.f64 (*.f64 x y) (*.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 2))) (cbrt.f64 x)))
(fma.f64 x y x)
(+.f64 (*.f64 x y) (*.f64 (neg.f64 (sqrt.f64 x)) (neg.f64 (sqrt.f64 x))))
(fma.f64 x y x)
(+.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) -1)
(fma.f64 x y x)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 y -1))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 1)
(fma.f64 x y x)
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (fma.f64 x y x)) (/.f64 (pow.f64 x 2) (fma.f64 x y x)))
(/.f64 x (/.f64 -1 (+.f64 y -1)))
(/.f64 (*.f64 x (+.f64 y -1)) -1)
(*.f64 (+.f64 y -1) (/.f64 x -1))
(/.f64 1 (/.f64 (+.f64 y -1) (*.f64 x (fma.f64 y y -1))))
(*.f64 (/.f64 1 (+.f64 y -1)) (*.f64 x (fma.f64 y y -1)))
(*.f64 (/.f64 x (+.f64 y -1)) (fma.f64 y y -1))
(*.f64 x (/.f64 (fma.f64 y y -1) (+.f64 y -1)))
(/.f64 1 (/.f64 (+.f64 (fma.f64 y y -1) y) (*.f64 x (+.f64 -1 (pow.f64 y 3)))))
(*.f64 (/.f64 1 (+.f64 y (fma.f64 y y -1))) (*.f64 x (+.f64 -1 (pow.f64 y 3))))
(*.f64 x (/.f64 (+.f64 -1 (pow.f64 y 3)) (+.f64 y (fma.f64 y y -1))))
(/.f64 1 (/.f64 (fma.f64 x y x) (pow.f64 (fma.f64 x y x) 2)))
(fma.f64 x y x)
(/.f64 1 (/.f64 (+.f64 (*.f64 x (fma.f64 x y x)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3))))
(/.f64 1 (/.f64 (fma.f64 x (fma.f64 x y x) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 x (fma.f64 x y x) (pow.f64 (*.f64 x y) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) 1) (pow.f64 x 3)) (fma.f64 x (fma.f64 x y x) (pow.f64 (*.f64 x y) 2)))
(/.f64 (+.f64 -1 (pow.f64 y 3)) (/.f64 (+.f64 (fma.f64 y y -1) y) x))
(*.f64 (/.f64 1 (+.f64 y (fma.f64 y y -1))) (*.f64 x (+.f64 -1 (pow.f64 y 3))))
(*.f64 x (/.f64 (+.f64 -1 (pow.f64 y 3)) (+.f64 y (fma.f64 y y -1))))
(/.f64 (pow.f64 (fma.f64 x y x) 2) (fma.f64 x y x))
(fma.f64 x y x)
(/.f64 (fma.f64 y y -1) (/.f64 (+.f64 y -1) x))
(*.f64 (/.f64 1 (+.f64 y -1)) (*.f64 x (fma.f64 y y -1)))
(*.f64 (/.f64 x (+.f64 y -1)) (fma.f64 y y -1))
(*.f64 x (/.f64 (fma.f64 y y -1) (+.f64 y -1)))
(/.f64 (*.f64 x (fma.f64 y y -1)) (+.f64 y -1))
(*.f64 (/.f64 1 (+.f64 y -1)) (*.f64 x (fma.f64 y y -1)))
(*.f64 (/.f64 x (+.f64 y -1)) (fma.f64 y y -1))
(*.f64 x (/.f64 (fma.f64 y y -1) (+.f64 y -1)))
(/.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3))) (+.f64 (fma.f64 y y -1) y))
(*.f64 (/.f64 1 (+.f64 y (fma.f64 y y -1))) (*.f64 x (+.f64 -1 (pow.f64 y 3))))
(*.f64 x (/.f64 (+.f64 -1 (pow.f64 y 3)) (+.f64 y (fma.f64 y y -1))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (+.f64 (*.f64 x (fma.f64 x y x)) (pow.f64 (*.f64 x y) 2)))
(/.f64 1 (/.f64 (fma.f64 x (fma.f64 x y x) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 x (fma.f64 x y x) (pow.f64 (*.f64 x y) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) 1) (pow.f64 x 3)) (fma.f64 x (fma.f64 x y x) (pow.f64 (*.f64 x y) 2)))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 x 2) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 x y)))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 x 2) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) y))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 x x (*.f64 (*.f64 x y) (*.f64 x (+.f64 y -1)))))
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) 1) (pow.f64 x 3)) (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1)) (pow.f64 x 2)))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (neg.f64 (+.f64 (fma.f64 y y -1) y)))
(*.f64 (/.f64 1 (+.f64 y (fma.f64 y y -1))) (*.f64 x (+.f64 -1 (pow.f64 y 3))))
(*.f64 x (/.f64 (+.f64 -1 (pow.f64 y 3)) (+.f64 y (fma.f64 y y -1))))
(/.f64 (*.f64 (*.f64 x (sqrt.f64 (+.f64 y -1))) (+.f64 y -1)) (sqrt.f64 (+.f64 y -1)))
(*.f64 x (+.f64 y -1))
(/.f64 (*.f64 (*.f64 x (sqrt.f64 (+.f64 y -1))) (sqrt.f64 (+.f64 -1 (pow.f64 y 3)))) (sqrt.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (*.f64 x (sqrt.f64 (+.f64 y -1))) (/.f64 (sqrt.f64 (+.f64 y (fma.f64 y y -1))) (sqrt.f64 (+.f64 -1 (pow.f64 y 3)))))
(/.f64 (sqrt.f64 (+.f64 -1 (pow.f64 y 3))) (/.f64 (/.f64 (sqrt.f64 (+.f64 y (fma.f64 y y -1))) x) (sqrt.f64 (+.f64 y -1))))
(*.f64 (/.f64 x (hypot.f64 y (sqrt.f64 (+.f64 y -1)))) (*.f64 (sqrt.f64 (+.f64 y -1)) (sqrt.f64 (+.f64 -1 (pow.f64 y 3)))))
(/.f64 (*.f64 (*.f64 x (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (+.f64 y -1)))
(/.f64 (*.f64 x (cbrt.f64 (fma.f64 y y -1))) (/.f64 (cbrt.f64 (+.f64 y -1)) (cbrt.f64 (fma.f64 y y -1))))
(*.f64 (/.f64 (*.f64 x (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (+.f64 y -1))) (cbrt.f64 (fma.f64 y y -1)))
(/.f64 x (/.f64 (/.f64 (cbrt.f64 (+.f64 y -1)) (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (fma.f64 y y -1))))
(/.f64 (*.f64 (*.f64 x (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (+.f64 -1 (pow.f64 y 3)))) (cbrt.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (*.f64 (*.f64 x (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (+.f64 -1 (pow.f64 y 3)))) (cbrt.f64 (+.f64 y (fma.f64 y y -1))))
(*.f64 (/.f64 (*.f64 x (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (+.f64 y (fma.f64 y y -1)))) (cbrt.f64 (+.f64 -1 (pow.f64 y 3))))
(*.f64 (cbrt.f64 (+.f64 -1 (pow.f64 y 3))) (/.f64 (*.f64 x (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (+.f64 y (fma.f64 y y -1)))))
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) x) (neg.f64 (+.f64 (fma.f64 y y -1) y)))
(*.f64 (/.f64 1 (+.f64 y (fma.f64 y y -1))) (*.f64 x (+.f64 -1 (pow.f64 y 3))))
(*.f64 x (/.f64 (+.f64 -1 (pow.f64 y 3)) (+.f64 y (fma.f64 y y -1))))
(/.f64 (*.f64 (*.f64 x (fma.f64 y y -1)) 1) (+.f64 y -1))
(*.f64 (/.f64 1 (+.f64 y -1)) (*.f64 x (fma.f64 y y -1)))
(*.f64 (/.f64 x (+.f64 y -1)) (fma.f64 y y -1))
(*.f64 x (/.f64 (fma.f64 y y -1) (+.f64 y -1)))
(/.f64 (*.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3))) 1) (+.f64 (fma.f64 y y -1) y))
(*.f64 (/.f64 1 (+.f64 y (fma.f64 y y -1))) (*.f64 x (+.f64 -1 (pow.f64 y 3))))
(*.f64 x (/.f64 (+.f64 -1 (pow.f64 y 3)) (+.f64 y (fma.f64 y y -1))))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) 1) (+.f64 (*.f64 x (fma.f64 x y x)) (pow.f64 (*.f64 x y) 2)))
(/.f64 1 (/.f64 (fma.f64 x (fma.f64 x y x) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 x (fma.f64 x y x) (pow.f64 (*.f64 x y) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) 1) (pow.f64 x 3)) (fma.f64 x (fma.f64 x y x) (pow.f64 (*.f64 x y) 2)))
(/.f64 (*.f64 (+.f64 y -1) (*.f64 x (sqrt.f64 (+.f64 y -1)))) (sqrt.f64 (+.f64 y -1)))
(*.f64 x (+.f64 y -1))
(/.f64 (*.f64 (sqrt.f64 (+.f64 -1 (pow.f64 y 3))) (*.f64 x (sqrt.f64 (+.f64 y -1)))) (sqrt.f64 (+.f64 (fma.f64 y y -1) y)))
(/.f64 (*.f64 x (sqrt.f64 (+.f64 y -1))) (/.f64 (sqrt.f64 (+.f64 y (fma.f64 y y -1))) (sqrt.f64 (+.f64 -1 (pow.f64 y 3)))))
(/.f64 (sqrt.f64 (+.f64 -1 (pow.f64 y 3))) (/.f64 (/.f64 (sqrt.f64 (+.f64 y (fma.f64 y y -1))) x) (sqrt.f64 (+.f64 y -1))))
(*.f64 (/.f64 x (hypot.f64 y (sqrt.f64 (+.f64 y -1)))) (*.f64 (sqrt.f64 (+.f64 y -1)) (sqrt.f64 (+.f64 -1 (pow.f64 y 3)))))
(/.f64 (/.f64 (*.f64 x (fma.f64 y y -1)) 1) (+.f64 y -1))
(*.f64 (/.f64 1 (+.f64 y -1)) (*.f64 x (fma.f64 y y -1)))
(*.f64 (/.f64 x (+.f64 y -1)) (fma.f64 y y -1))
(*.f64 x (/.f64 (fma.f64 y y -1) (+.f64 y -1)))
(/.f64 (/.f64 (*.f64 x (fma.f64 y y -1)) (sqrt.f64 (+.f64 y -1))) (sqrt.f64 (+.f64 y -1)))
(*.f64 (/.f64 1 (+.f64 y -1)) (*.f64 x (fma.f64 y y -1)))
(*.f64 (/.f64 x (+.f64 y -1)) (fma.f64 y y -1))
(*.f64 x (/.f64 (fma.f64 y y -1) (+.f64 y -1)))
(/.f64 (/.f64 (*.f64 x (fma.f64 y y -1)) (cbrt.f64 (fma.f64 y y -1))) (cbrt.f64 (+.f64 y -1)))
(/.f64 (*.f64 x (fma.f64 y y -1)) (*.f64 (cbrt.f64 (+.f64 y -1)) (cbrt.f64 (fma.f64 y y -1))))
(*.f64 (/.f64 (fma.f64 y y -1) (cbrt.f64 (+.f64 y -1))) (/.f64 x (cbrt.f64 (fma.f64 y y -1))))
(/.f64 (/.f64 (*.f64 x (fma.f64 y y -1)) (cbrt.f64 (+.f64 y -1))) (cbrt.f64 (fma.f64 y y -1)))
(/.f64 (/.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3))) 1) (+.f64 (fma.f64 y y -1) y))
(*.f64 (/.f64 1 (+.f64 y (fma.f64 y y -1))) (*.f64 x (+.f64 -1 (pow.f64 y 3))))
(*.f64 x (/.f64 (+.f64 -1 (pow.f64 y 3)) (+.f64 y (fma.f64 y y -1))))
(/.f64 (/.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3))) (sqrt.f64 (+.f64 (fma.f64 y y -1) y))) (sqrt.f64 (+.f64 (fma.f64 y y -1) y)))
(*.f64 (/.f64 1 (+.f64 y (fma.f64 y y -1))) (*.f64 x (+.f64 -1 (pow.f64 y 3))))
(*.f64 x (/.f64 (+.f64 -1 (pow.f64 y 3)) (+.f64 y (fma.f64 y y -1))))
(/.f64 (/.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3))) (*.f64 (cbrt.f64 (+.f64 (fma.f64 y y -1) y)) (cbrt.f64 (+.f64 (fma.f64 y y -1) y)))) (cbrt.f64 (+.f64 (fma.f64 y y -1) y)))
(*.f64 (/.f64 1 (+.f64 y (fma.f64 y y -1))) (*.f64 x (+.f64 -1 (pow.f64 y 3))))
(*.f64 x (/.f64 (+.f64 -1 (pow.f64 y 3)) (+.f64 y (fma.f64 y y -1))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (*.f64 x (fma.f64 x y x)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 x y x) (pow.f64 (*.f64 x y) 2)))
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 -1 (pow.f64 y 3))) (fma.f64 x (fma.f64 x y x) (pow.f64 (*.f64 x y) 2)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 x y) 2)) (-.f64 x (*.f64 x y)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 x y) 2)) (*.f64 x (-.f64 1 y)))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) (exp.f64 (log1p.f64 (fma.f64 x y x)))) 1) (+.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 1))
(fma.f64 x y x)
(/.f64 (-.f64 (pow.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 3) 1) (+.f64 (*.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) (exp.f64 (log1p.f64 (fma.f64 x y x)))) (+.f64 1 (*.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 1))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 3) -1) (+.f64 (exp.f64 (+.f64 (log1p.f64 (fma.f64 x y x)) (log1p.f64 (fma.f64 x y x)))) (+.f64 1 (exp.f64 (log1p.f64 (fma.f64 x y x))))))
(/.f64 (+.f64 -1 (pow.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 3)) (+.f64 (exp.f64 (*.f64 2 (log1p.f64 (fma.f64 x y x)))) (+.f64 1 (exp.f64 (log1p.f64 (fma.f64 x y x))))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (fma.f64 x y x)))) (+.f64 1 (+.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) (pow.f64 (exp.f64 2) (log1p.f64 (fma.f64 x y x))))))
(/.f64 (neg.f64 (*.f64 x (fma.f64 y y -1))) (+.f64 y -1))
(/.f64 (*.f64 (neg.f64 x) (fma.f64 y y -1)) (+.f64 y -1))
(/.f64 (neg.f64 x) (/.f64 (+.f64 y -1) (fma.f64 y y -1)))
(*.f64 x (neg.f64 (/.f64 (fma.f64 y y -1) (+.f64 y -1))))
(/.f64 (neg.f64 (*.f64 x (+.f64 -1 (pow.f64 y 3)))) (neg.f64 (+.f64 (fma.f64 y y -1) y)))
(*.f64 (/.f64 1 (+.f64 y (fma.f64 y y -1))) (*.f64 x (+.f64 -1 (pow.f64 y 3))))
(*.f64 x (/.f64 (+.f64 -1 (pow.f64 y 3)) (+.f64 y (fma.f64 y y -1))))
(/.f64 (neg.f64 (pow.f64 (fma.f64 x y x) 2)) (neg.f64 (fma.f64 x y x)))
(fma.f64 x y x)
(/.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3))) (neg.f64 (+.f64 (*.f64 x (fma.f64 x y x)) (pow.f64 (*.f64 x y) 2))))
(/.f64 1 (/.f64 (fma.f64 x (fma.f64 x y x) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 x (fma.f64 x y x) (pow.f64 (*.f64 x y) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) 1) (pow.f64 x 3)) (fma.f64 x (fma.f64 x y x) (pow.f64 (*.f64 x y) 2)))
(pow.f64 (fma.f64 x y x) 1)
(fma.f64 x y x)
(pow.f64 (sqrt.f64 (fma.f64 x y x)) 2)
(fma.f64 x y x)
(pow.f64 (cbrt.f64 (fma.f64 x y x)) 3)
(fma.f64 x y x)
(pow.f64 (pow.f64 (fma.f64 x y x) 2) 1/2)
(fma.f64 x y x)
(pow.f64 (pow.f64 (fma.f64 x y x) 3) 1/3)
(fma.f64 x y x)
(sqrt.f64 (pow.f64 (fma.f64 x y x) 2))
(fma.f64 x y x)
(fabs.f64 (fma.f64 x y x))
(fma.f64 x y x)
(log.f64 (exp.f64 (fma.f64 x y x)))
(fma.f64 x y x)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x))))
(fma.f64 x y x)
(cbrt.f64 (pow.f64 (fma.f64 x y x) 3))
(fma.f64 x y x)
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (+.f64 y -1) 3)))
(expm1.f64 (log1p.f64 (fma.f64 x y x)))
(fma.f64 x y x)
(exp.f64 (+.f64 (log.f64 x) (log1p.f64 y)))
(*.f64 x (exp.f64 (log1p.f64 y)))
(log1p.f64 (expm1.f64 (fma.f64 x y x)))
(fma.f64 x y x)
(fma.f64 x y x)
(fma.f64 y x x)
(fma.f64 x y x)

eval76.0ms (3%)

Compiler

Compiled 2126 to 1345 computations (36.7% saved)

prune16.0ms (0.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1022104
Fresh000
Picked011
Done000
Total1023105
Accuracy
100.0%
Counts
105 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x (+.f64 y -1)) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
78.4%
(-.f64 (*.f64 x y) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
72.0%
(-.f64 (neg.f64 x) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
100.0%
(-.f64 (*.f64 x (+.f64 y -1)) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
78.4%
(-.f64 (*.f64 x y) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
72.0%
(-.f64 (neg.f64 x) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
Compiler

Compiled 68 to 52 computations (23.5% saved)

localize51.0ms (2%)

Compiler

Compiled 49 to 31 computations (36.7% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune3.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked022
Done011
Total033
Accuracy
100.0%
Counts
3 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x (+.f64 y -1)) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
78.4%
(-.f64 (*.f64 x y) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
72.0%
(-.f64 (neg.f64 x) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
Compiler

Compiled 75 to 56 computations (25.3% saved)

regimes15.0ms (0.6%)

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

4 calls:

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

Compiled 71 to 52 computations (26.8% saved)

regimes19.0ms (0.7%)

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

2 calls:

9.0ms
y
9.0ms
x
Results
AccuracySegmentsBranch
81.3%2x
99.0%3y
Compiler

Compiled 25 to 18 computations (28% saved)

regimes6.0ms (0.2%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

2 calls:

3.0ms
y
3.0ms
x
Results
AccuracySegmentsBranch
72.0%1x
72.0%1y
Compiler

Compiled 16 to 12 computations (25% saved)

bsearch33.0ms (1.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
8.081443116602228e-9
5.657140748450083e-6
18.0ms
-2.4494100112784456e+26
-3624809886199.9478
Results
27.0ms280×body256valid
1.0msbody256infinite
Compiler

Compiled 432 to 338 computations (21.8% saved)

simplify11.0ms (0.4%)

Algorithm
egg-herbie
Rules
42×distribute-neg-out
26×+-commutative
25×*-commutative
20×distribute-lft-neg-out
19×unsub-neg
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
030163
159163
285163
3112155
4158155
5196155
6204155
7243155
8328155
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(if (<=.f64 y -3700000000000) (-.f64 (*.f64 x y) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000)) (if (<=.f64 y 6611313076017503/1180591620717411303424) (-.f64 (neg.f64 x) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000)) (-.f64 (*.f64 x y) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))))
(-.f64 (neg.f64 x) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
Outputs
(+.f64 (-.f64 (*.f64 x (-.f64 y 1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(+.f64 (-.f64 (*.f64 x (+.f64 y -1)) (*.f64 y 1/2)) 918938533204673/1000000000000000)
(if (<=.f64 y -3700000000000) (-.f64 (*.f64 x y) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000)) (if (<=.f64 y 6611313076017503/1180591620717411303424) (-.f64 (neg.f64 x) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000)) (-.f64 (*.f64 x y) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))))
(if (or (<=.f64 y -3700000000000) (not (<=.f64 y 6611313076017503/1180591620717411303424))) (-.f64 (*.f64 x y) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000)) (-.f64 (neg.f64 x) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000)))
(if (or (<=.f64 y -3700000000000) (not (<=.f64 y 6611313076017503/1180591620717411303424))) (+.f64 (*.f64 x y) (-.f64 918938533204673/1000000000000000 (*.f64 y 1/2))) (-.f64 (-.f64 918938533204673/1000000000000000 (*.f64 y 1/2)) x))
(-.f64 (neg.f64 x) (-.f64 (*.f64 y 1/2) 918938533204673/1000000000000000))
(-.f64 (-.f64 918938533204673/1000000000000000 (*.f64 y 1/2)) x)
Compiler

Compiled 49 to 37 computations (24.5% saved)

soundness640.0ms (25.2%)

Rules
1961×fma-def
834×associate-/r*
471×+-commutative
448×fma-neg
376×associate-+l-
Iterations

Useful iterations: 12 (0.0ms)

IterNodesCost
031208
182186
2206164
3545160
41893152
54339152
65379152
75612152
85658152
95662152
105664152
115694152
125694150
137321150
147321150
157321150
01813167
15023015
219892975
Stop Event
node limit
saturated
Compiler

Compiled 66 to 50 computations (24.2% saved)

end0.0ms (0%)

preprocess39.0ms (1.5%)

Compiler

Compiled 116 to 86 computations (25.9% saved)

Profiling

Loading profile data...