Data.Colour.SRGB:transferFunction from colour-2.3.3

Time bar (total: 2.0s)

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 10 to 7 computations (30% saved)

sample707.0ms (34.6%)

Results
609.0ms7199×body256valid
88.0ms1055×body256infinite
0.0msbody1024valid
0.0msbody512valid
Bogosity

preprocess66.0ms (3.2%)

Algorithm
egg-herbie
Rules
1832×fma-def
164×distribute-rgt-in
152×cancel-sign-sub-inv
124×unsub-neg
116×fma-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01138
12538
24830
312630
427730
554930
6107030
7176830
8194030
9195830
10195830
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(-.f64 (*.f64 (+.f64 x 1) y) x)
(-.f64 (*.f64 (+.f64 y 1) x) y)
Outputs
(-.f64 (*.f64 (+.f64 x 1) y) x)
(-.f64 (fma.f64 x y y) x)
(-.f64 (*.f64 (+.f64 y 1) x) y)
(fma.f64 (+.f64 1 y) x (neg.f64 y))
(fma.f64 x (+.f64 1 y) (neg.f64 y))
(-.f64 (fma.f64 x y x) y)
(fma.f64 y (+.f64 x -1) x)
Compiler

Compiled 11 to 8 computations (27.3% saved)

simplify42.0ms (2%)

Algorithm
egg-herbie
Rules
1274×fma-def
140×fma-neg
132×cancel-sign-sub-inv
88×distribute-rgt-in
70×sub-neg
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0819
11719
23015
36915
414115
526515
648615
792315
8128515
9133415
10134315
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(-.f64 (*.f64 (+.f64 x 1) y) x)
Outputs
(-.f64 (*.f64 (+.f64 x 1) y) x)
(-.f64 (fma.f64 x y y) x)

eval0.0ms (0%)

Compiler

Compiled 15 to 8 computations (46.7% saved)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Accurracy
100.0%
Counts
3 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 (+.f64 x 1) y) x)
100.0%
(-.f64 (*.f64 (+.f64 x 1) y) x)
Compiler

Compiled 18 to 12 computations (33.3% saved)

localize27.0ms (1.3%)

Local Accuracy

Found 1 expressions with local accuracy:

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

Compiled 21 to 13 computations (38.1% saved)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite59.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
1896×pow1
1756×log1p-expm1-u
1756×expm1-log1p-u
1754×add-exp-log
1722×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
117419
2238419
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(-.f64 (*.f64 (+.f64 x 1) y) x)
Outputs
(+.f64 (+.f64 y (*.f64 y x)) (neg.f64 x))
(+.f64 (+.f64 y (*.f64 y x)) (*.f64 (neg.f64 x) 1))
(+.f64 (-.f64 (+.f64 y (*.f64 y x)) x) (fma.f64 (neg.f64 x) 1 x))
(+.f64 (-.f64 (+.f64 y (*.f64 y x)) x) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x))
(+.f64 (-.f64 (+.f64 y (*.f64 y x)) x) (fma.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x) x))
(+.f64 (neg.f64 x) (+.f64 y (*.f64 y x)))
(*.f64 1 (-.f64 (+.f64 y (*.f64 y x)) x))
(*.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 1)
(*.f64 (cbrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)) (cbrt.f64 (pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 2)))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 2)) (cbrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(*.f64 (sqrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)) (sqrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 x 1) y x)))))
(*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x)) (/.f64 1 (fma.f64 (+.f64 x 1) y x)))
(*.f64 (+.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) (sqrt.f64 x)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 x 1) y x))) (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (fma.f64 (+.f64 x 1) y x) (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 x 1) y x))))
(/.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x)) (fma.f64 (+.f64 x 1) y x))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 x 1) y x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x))) (neg.f64 (fma.f64 (+.f64 x 1) y x)))
(/.f64 (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 (neg.f64 x) 3)) (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (+.f64 y (*.f64 y x)) (neg.f64 x)))))
(/.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 (neg.f64 x) (neg.f64 x))) (-.f64 (+.f64 y (*.f64 y x)) (neg.f64 x)))
(pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 1)
(pow.f64 (cbrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)) 3)
(pow.f64 (pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 3) 1/3)
(pow.f64 (sqrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)) 2)
(sqrt.f64 (pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 2))
(log.f64 (exp.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(cbrt.f64 (pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 3))
(expm1.f64 (log1p.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(exp.f64 (log.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(log1p.f64 (expm1.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(fma.f64 1 (+.f64 y (*.f64 y x)) (neg.f64 x))
(fma.f64 (+.f64 x 1) y (neg.f64 x))
(fma.f64 y (+.f64 x 1) (neg.f64 x))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 y (*.f64 y x))) 2) (cbrt.f64 (+.f64 y (*.f64 y x))) (neg.f64 x))
(fma.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) (sqrt.f64 (+.f64 y (*.f64 y x))) (neg.f64 x))

simplify71.0ms (3.5%)

Algorithm
egg-herbie
Rules
1962×div-sub
1164×fma-neg
1062×fma-def
656×distribute-rgt-in
644×distribute-lft-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01131497
12931341
211231341
353731341
Stop Event
node limit
Counts
61 → 59
Calls
Call 1
Inputs
y
(+.f64 (*.f64 (-.f64 y 1) x) y)
(+.f64 (*.f64 (-.f64 y 1) x) y)
(+.f64 (*.f64 (-.f64 y 1) x) y)
(*.f64 (-.f64 y 1) x)
(+.f64 (*.f64 (-.f64 y 1) x) y)
(+.f64 (*.f64 (-.f64 y 1) x) y)
(+.f64 (*.f64 (-.f64 y 1) x) y)
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 y (*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x)))
(+.f64 y (*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x)))
(+.f64 y (*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x)))
(*.f64 -1 x)
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(*.f64 (+.f64 1 x) y)
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(*.f64 (+.f64 1 x) y)
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(+.f64 (+.f64 y (*.f64 y x)) (neg.f64 x))
(+.f64 (+.f64 y (*.f64 y x)) (*.f64 (neg.f64 x) 1))
(+.f64 (-.f64 (+.f64 y (*.f64 y x)) x) (fma.f64 (neg.f64 x) 1 x))
(+.f64 (-.f64 (+.f64 y (*.f64 y x)) x) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x))
(+.f64 (-.f64 (+.f64 y (*.f64 y x)) x) (fma.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x) x))
(+.f64 (neg.f64 x) (+.f64 y (*.f64 y x)))
(*.f64 1 (-.f64 (+.f64 y (*.f64 y x)) x))
(*.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 1)
(*.f64 (cbrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)) (cbrt.f64 (pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 2)))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 2)) (cbrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(*.f64 (sqrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)) (sqrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 x 1) y x)))))
(*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x)) (/.f64 1 (fma.f64 (+.f64 x 1) y x)))
(*.f64 (+.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) (sqrt.f64 x)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 x 1) y x))) (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (fma.f64 (+.f64 x 1) y x) (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 x 1) y x))))
(/.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x)) (fma.f64 (+.f64 x 1) y x))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 x 1) y x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x))) (neg.f64 (fma.f64 (+.f64 x 1) y x)))
(/.f64 (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 (neg.f64 x) 3)) (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (+.f64 y (*.f64 y x)) (neg.f64 x)))))
(/.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 (neg.f64 x) (neg.f64 x))) (-.f64 (+.f64 y (*.f64 y x)) (neg.f64 x)))
(pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 1)
(pow.f64 (cbrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)) 3)
(pow.f64 (pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 3) 1/3)
(pow.f64 (sqrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)) 2)
(sqrt.f64 (pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 2))
(log.f64 (exp.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(cbrt.f64 (pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 3))
(expm1.f64 (log1p.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(exp.f64 (log.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(log1p.f64 (expm1.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(fma.f64 1 (+.f64 y (*.f64 y x)) (neg.f64 x))
(fma.f64 (+.f64 x 1) y (neg.f64 x))
(fma.f64 y (+.f64 x 1) (neg.f64 x))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 y (*.f64 y x))) 2) (cbrt.f64 (+.f64 y (*.f64 y x))) (neg.f64 x))
(fma.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) (sqrt.f64 (+.f64 y (*.f64 y x))) (neg.f64 x))
Outputs
y
(+.f64 (*.f64 (-.f64 y 1) x) y)
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (*.f64 (-.f64 y 1) x) y)
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (*.f64 (-.f64 y 1) x) y)
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(*.f64 (-.f64 y 1) x)
(*.f64 (+.f64 y -1) x)
(-.f64 (*.f64 y x) x)
(+.f64 (*.f64 (-.f64 y 1) x) y)
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (*.f64 (-.f64 y 1) x) y)
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (*.f64 (-.f64 y 1) x) y)
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(*.f64 (+.f64 y -1) x)
(-.f64 (*.f64 y x) x)
(+.f64 y (*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x)))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 y (*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x)))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 y (*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x)))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(fma.f64 y x y)
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(fma.f64 y x y)
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (*.f64 (+.f64 1 x) y) (*.f64 -1 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (+.f64 y (*.f64 y x)) (neg.f64 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (+.f64 y (*.f64 y x)) (*.f64 (neg.f64 x) 1))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (-.f64 (+.f64 y (*.f64 y x)) x) (fma.f64 (neg.f64 x) 1 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (-.f64 (+.f64 y (*.f64 y x)) x) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (-.f64 (+.f64 y (*.f64 y x)) x) (fma.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x) x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(+.f64 (neg.f64 x) (+.f64 y (*.f64 y x)))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(*.f64 1 (-.f64 (+.f64 y (*.f64 y x)) x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(*.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 1)
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(*.f64 (cbrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)) (cbrt.f64 (pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 2)))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(*.f64 (cbrt.f64 (pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 2)) (cbrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(*.f64 (sqrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)) (sqrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 x 1) y x)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) 1) (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 1 x) y x))))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 x (+.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x y) 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 y x y) (+.f64 y (fma.f64 y x x)))))
(*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x)) (/.f64 1 (fma.f64 (+.f64 x 1) y x)))
(*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x)) (/.f64 1 (fma.f64 (+.f64 1 x) y x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (+.f64 y (fma.f64 y x x)))
(*.f64 (+.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) (sqrt.f64 x)))
(*.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 y (*.f64 y x)))) (-.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) (sqrt.f64 x)))
(*.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 y x y))) (-.f64 (sqrt.f64 (fma.f64 y x y)) (sqrt.f64 x)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 x 1) y x))) (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3))))
(/.f64 (*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) 1) (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 1 x) y x))))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 x (+.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x y) 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 y x y) (+.f64 y (fma.f64 y x x)))))
(/.f64 1 (/.f64 (fma.f64 (+.f64 x 1) y x) (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x))))
(*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x)) (/.f64 1 (fma.f64 (+.f64 1 x) y x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (+.f64 y (fma.f64 y x x)))
(/.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 x 1) y x))))
(/.f64 (*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) 1) (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 1 x) y x))))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 x (+.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x y) 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 y x y) (+.f64 y (fma.f64 y x x)))))
(/.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x)) (fma.f64 (+.f64 x 1) y x))
(*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x)) (/.f64 1 (fma.f64 (+.f64 1 x) y x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (+.f64 y (fma.f64 y x x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 x 1) y x)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) 1) (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 1 x) y x))))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 x (+.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x y) 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 y x y) (+.f64 y (fma.f64 y x x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x))) (neg.f64 (fma.f64 (+.f64 x 1) y x)))
(*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x)) (/.f64 1 (fma.f64 (+.f64 1 x) y x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (+.f64 y (fma.f64 y x x)))
(/.f64 (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 (neg.f64 x) 3)) (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (+.f64 y (*.f64 y x)) (neg.f64 x)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) (pow.f64 x 3)) 1) (+.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x (fma.f64 (+.f64 1 x) y x))))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 x (+.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x y) 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 y x y) (+.f64 y (fma.f64 y x x)))))
(/.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 (neg.f64 x) (neg.f64 x))) (-.f64 (+.f64 y (*.f64 y x)) (neg.f64 x)))
(*.f64 (-.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2) (*.f64 x x)) (/.f64 1 (fma.f64 (+.f64 1 x) y x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (+.f64 y (fma.f64 y x x)))
(pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 1)
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(pow.f64 (cbrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)) 3)
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(pow.f64 (pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 3) 1/3)
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(pow.f64 (sqrt.f64 (-.f64 (+.f64 y (*.f64 y x)) x)) 2)
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(sqrt.f64 (pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 2))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(log.f64 (exp.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(cbrt.f64 (pow.f64 (-.f64 (+.f64 y (*.f64 y x)) x) 3))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(expm1.f64 (log1p.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(exp.f64 (log.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(log1p.f64 (expm1.f64 (-.f64 (+.f64 y (*.f64 y x)) x)))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(fma.f64 1 (+.f64 y (*.f64 y x)) (neg.f64 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(fma.f64 (+.f64 x 1) y (neg.f64 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(fma.f64 y (+.f64 x 1) (neg.f64 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 y (*.f64 y x))) 2) (cbrt.f64 (+.f64 y (*.f64 y x))) (neg.f64 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)
(fma.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) (sqrt.f64 (+.f64 y (*.f64 y x))) (neg.f64 x))
(fma.f64 (+.f64 y -1) x y)
(-.f64 (fma.f64 y x y) x)

eval10.0ms (0.5%)

Compiler

Compiled 805 to 288 computations (64.2% saved)

prune12.0ms (0.6%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New54559
Fresh000
Picked011
Done000
Total54660
Accurracy
100.0%
Counts
60 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 (+.f64 x 1) y) x)
60.2%
(-.f64 (*.f64 y x) x)
60.2%
(*.f64 (-.f64 y 1) x)
60.6%
(*.f64 (+.f64 1 x) y)
40.4%
(neg.f64 x)
41.3%
y
100.0%
(-.f64 (*.f64 (+.f64 x 1) y) x)
60.2%
(-.f64 (*.f64 y x) x)
60.2%
(*.f64 (-.f64 y 1) x)
60.6%
(*.f64 (+.f64 1 x) y)
40.4%
(neg.f64 x)
41.3%
y
Compiler

Compiled 74 to 50 computations (32.4% saved)

localize46.0ms (2.3%)

Local Accuracy

Found 2 expressions with local accuracy:

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

Compiled 38 to 18 computations (52.6% saved)

series3.0ms (0.2%)

Counts
2 → 36
Calls

12 calls:

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

rewrite65.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
1964×pow1
1822×add-exp-log
1820×log1p-expm1-u
1820×expm1-log1p-u
208×add-sqr-sqrt
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
119726
2272526
Stop Event
node limit
Counts
2 → 96
Calls
Call 1
Inputs
(*.f64 (-.f64 y 1) x)
(-.f64 (*.f64 y x) x)
Outputs
(+.f64 (*.f64 y x) (neg.f64 x))
(+.f64 (*.f64 y x) (*.f64 x -1))
(+.f64 (*.f64 y x) (*.f64 (neg.f64 x) 1))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 x) 1 x))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) x))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x) x))
(+.f64 (neg.f64 x) (*.f64 y x))
(-.f64 (*.f64 y x) x)
(-.f64 (+.f64 1 (-.f64 (*.f64 y x) x)) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 3) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x)))) (/.f64 (pow.f64 x 3) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x)))))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (fma.f64 y x x)) (/.f64 (*.f64 x x) (fma.f64 y x x)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x))) (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (fma.f64 y x x) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x))) (neg.f64 (fma.f64 y x x)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (neg.f64 x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (*.f64 y x) (neg.f64 x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (neg.f64 x) (neg.f64 x))) (-.f64 (*.f64 y x) (neg.f64 x)))
(/.f64 (*.f64 x (+.f64 (pow.f64 y 3) -1)) (fma.f64 y y (+.f64 y 1)))
(/.f64 (*.f64 x (fma.f64 y y -1)) (+.f64 y 1))
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) -1) x) (fma.f64 y y (+.f64 y 1)))
(/.f64 (*.f64 (fma.f64 y y -1) x) (+.f64 y 1))
(pow.f64 (-.f64 (*.f64 y x) x) 1)
(pow.f64 (cbrt.f64 (-.f64 (*.f64 y x) x)) 3)
(pow.f64 (pow.f64 (-.f64 (*.f64 y x) x) 3) 1/3)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 y x) x)) 2)
(sqrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y -1)))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 3))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 y -1) 3) (pow.f64 x 3)))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (+.f64 y -1) 3)))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 y x) x)))
(exp.f64 (log.f64 (-.f64 (*.f64 y x) x)))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 y x) x)) 1))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 y x) x)))
(fma.f64 y x (neg.f64 x))
(fma.f64 1 (*.f64 y x) (neg.f64 x))
(fma.f64 x y (neg.f64 x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (neg.f64 x))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (neg.f64 x))
(+.f64 (*.f64 y x) (neg.f64 x))
(+.f64 (*.f64 y x) (*.f64 x -1))
(+.f64 (*.f64 y x) (*.f64 (neg.f64 x) 1))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 x) 1 x))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) x))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x) x))
(+.f64 (neg.f64 x) (*.f64 y x))
(*.f64 1 (-.f64 (*.f64 y x) x))
(*.f64 (+.f64 y -1) x)
(*.f64 x (+.f64 y -1))
(*.f64 (-.f64 (*.f64 y x) x) 1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y -1)) 2) (*.f64 (cbrt.f64 (+.f64 y -1)) x))
(*.f64 (cbrt.f64 (-.f64 (*.f64 y x) x)) (cbrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 2)))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 2)) (cbrt.f64 (-.f64 (*.f64 y x) x)))
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (+.f64 y -1)))
(*.f64 (sqrt.f64 (+.f64 y -1)) (*.f64 (sqrt.f64 (+.f64 y -1)) x))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 y -1)))
(*.f64 (sqrt.f64 (-.f64 (*.f64 y x) x)) (sqrt.f64 (-.f64 (*.f64 y x) x)))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x)))))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (/.f64 1 (fma.f64 y x x)))
(*.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 x)))
(*.f64 (*.f64 (+.f64 y -1) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x))
(*.f64 (*.f64 (+.f64 y -1) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 y -1)) 2)) (cbrt.f64 (+.f64 y -1)))
(*.f64 (*.f64 x (sqrt.f64 (+.f64 y -1))) (sqrt.f64 (+.f64 y -1)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x))) (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (fma.f64 y x x) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x))) (neg.f64 (fma.f64 y x x)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (neg.f64 x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (*.f64 y x) (neg.f64 x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (neg.f64 x) (neg.f64 x))) (-.f64 (*.f64 y x) (neg.f64 x)))
(/.f64 (*.f64 x (+.f64 (pow.f64 y 3) -1)) (fma.f64 y y (+.f64 y 1)))
(/.f64 (*.f64 x (fma.f64 y y -1)) (+.f64 y 1))
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) -1) x) (fma.f64 y y (+.f64 y 1)))
(/.f64 (*.f64 (fma.f64 y y -1) x) (+.f64 y 1))
(pow.f64 (-.f64 (*.f64 y x) x) 1)
(pow.f64 (cbrt.f64 (-.f64 (*.f64 y x) x)) 3)
(pow.f64 (pow.f64 (-.f64 (*.f64 y x) x) 3) 1/3)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 y x) x)) 2)
(sqrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y -1)))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 3))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 y -1) 3) (pow.f64 x 3)))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (+.f64 y -1) 3)))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 y x) x)))
(exp.f64 (log.f64 (-.f64 (*.f64 y x) x)))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 y x) x)) 1))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 y x) x)))
(fma.f64 y x (neg.f64 x))
(fma.f64 1 (*.f64 y x) (neg.f64 x))
(fma.f64 x y (neg.f64 x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (neg.f64 x))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (neg.f64 x))

simplify86.0ms (4.2%)

Algorithm
egg-herbie
Rules
1374×fma-def
652×log-prod
500×sub-neg
500×distribute-lft-in
494×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01602700
13982652
213262596
361592404
Stop Event
node limit
Counts
132 → 87
Calls
Call 1
Inputs
(*.f64 -1 x)
(+.f64 (*.f64 y x) (*.f64 -1 x))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 x))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 x))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(*.f64 -1 x)
(+.f64 (*.f64 y x) (*.f64 -1 x))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 x))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 x))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(*.f64 (-.f64 y 1) x)
(*.f64 (-.f64 y 1) x)
(*.f64 (-.f64 y 1) x)
(*.f64 (-.f64 y 1) x)
(*.f64 (-.f64 y 1) x)
(*.f64 (-.f64 y 1) x)
(*.f64 (-.f64 y 1) x)
(*.f64 (-.f64 y 1) x)
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y x) (neg.f64 x))
(+.f64 (*.f64 y x) (*.f64 x -1))
(+.f64 (*.f64 y x) (*.f64 (neg.f64 x) 1))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 x) 1 x))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) x))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x) x))
(+.f64 (neg.f64 x) (*.f64 y x))
(-.f64 (*.f64 y x) x)
(-.f64 (+.f64 1 (-.f64 (*.f64 y x) x)) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 3) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x)))) (/.f64 (pow.f64 x 3) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x)))))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (fma.f64 y x x)) (/.f64 (*.f64 x x) (fma.f64 y x x)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x))) (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (fma.f64 y x x) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x))) (neg.f64 (fma.f64 y x x)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (neg.f64 x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (*.f64 y x) (neg.f64 x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (neg.f64 x) (neg.f64 x))) (-.f64 (*.f64 y x) (neg.f64 x)))
(/.f64 (*.f64 x (+.f64 (pow.f64 y 3) -1)) (fma.f64 y y (+.f64 y 1)))
(/.f64 (*.f64 x (fma.f64 y y -1)) (+.f64 y 1))
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) -1) x) (fma.f64 y y (+.f64 y 1)))
(/.f64 (*.f64 (fma.f64 y y -1) x) (+.f64 y 1))
(pow.f64 (-.f64 (*.f64 y x) x) 1)
(pow.f64 (cbrt.f64 (-.f64 (*.f64 y x) x)) 3)
(pow.f64 (pow.f64 (-.f64 (*.f64 y x) x) 3) 1/3)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 y x) x)) 2)
(sqrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y -1)))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 3))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 y -1) 3) (pow.f64 x 3)))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (+.f64 y -1) 3)))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 y x) x)))
(exp.f64 (log.f64 (-.f64 (*.f64 y x) x)))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 y x) x)) 1))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 y x) x)))
(fma.f64 y x (neg.f64 x))
(fma.f64 1 (*.f64 y x) (neg.f64 x))
(fma.f64 x y (neg.f64 x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (neg.f64 x))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (neg.f64 x))
(+.f64 (*.f64 y x) (neg.f64 x))
(+.f64 (*.f64 y x) (*.f64 x -1))
(+.f64 (*.f64 y x) (*.f64 (neg.f64 x) 1))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 x) 1 x))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) x))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x) x))
(+.f64 (neg.f64 x) (*.f64 y x))
(*.f64 1 (-.f64 (*.f64 y x) x))
(*.f64 (+.f64 y -1) x)
(*.f64 x (+.f64 y -1))
(*.f64 (-.f64 (*.f64 y x) x) 1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y -1)) 2) (*.f64 (cbrt.f64 (+.f64 y -1)) x))
(*.f64 (cbrt.f64 (-.f64 (*.f64 y x) x)) (cbrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 2)))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 2)) (cbrt.f64 (-.f64 (*.f64 y x) x)))
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (+.f64 y -1)))
(*.f64 (sqrt.f64 (+.f64 y -1)) (*.f64 (sqrt.f64 (+.f64 y -1)) x))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 y -1)))
(*.f64 (sqrt.f64 (-.f64 (*.f64 y x) x)) (sqrt.f64 (-.f64 (*.f64 y x) x)))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x)))))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (/.f64 1 (fma.f64 y x x)))
(*.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 x)))
(*.f64 (*.f64 (+.f64 y -1) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x))
(*.f64 (*.f64 (+.f64 y -1) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 y -1)) 2)) (cbrt.f64 (+.f64 y -1)))
(*.f64 (*.f64 x (sqrt.f64 (+.f64 y -1))) (sqrt.f64 (+.f64 y -1)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x))) (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (fma.f64 y x x) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x))) (neg.f64 (fma.f64 y x x)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (neg.f64 x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (*.f64 y x) (neg.f64 x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (neg.f64 x) (neg.f64 x))) (-.f64 (*.f64 y x) (neg.f64 x)))
(/.f64 (*.f64 x (+.f64 (pow.f64 y 3) -1)) (fma.f64 y y (+.f64 y 1)))
(/.f64 (*.f64 x (fma.f64 y y -1)) (+.f64 y 1))
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) -1) x) (fma.f64 y y (+.f64 y 1)))
(/.f64 (*.f64 (fma.f64 y y -1) x) (+.f64 y 1))
(pow.f64 (-.f64 (*.f64 y x) x) 1)
(pow.f64 (cbrt.f64 (-.f64 (*.f64 y x) x)) 3)
(pow.f64 (pow.f64 (-.f64 (*.f64 y x) x) 3) 1/3)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 y x) x)) 2)
(sqrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y -1)))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 3))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 y -1) 3) (pow.f64 x 3)))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (+.f64 y -1) 3)))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 y x) x)))
(exp.f64 (log.f64 (-.f64 (*.f64 y x) x)))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 y x) x)) 1))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 y x) x)))
(fma.f64 y x (neg.f64 x))
(fma.f64 1 (*.f64 y x) (neg.f64 x))
(fma.f64 x y (neg.f64 x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (neg.f64 x))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (neg.f64 x))
Outputs
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 -1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (-.f64 y 1) x)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (-.f64 y 1) x)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (-.f64 y 1) x)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (-.f64 y 1) x)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (-.f64 y 1) x)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (-.f64 y 1) x)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (-.f64 y 1) x)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (-.f64 y 1) x)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (neg.f64 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 x -1))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 (neg.f64 x) 1))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 x) 1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) x))
(+.f64 (-.f64 (*.f64 x y) x) (fma.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) x))
(fma.f64 x (+.f64 -1 y) (fma.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) x))
(fma.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (*.f64 x y))
(-.f64 (*.f64 x y) (*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x x))))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x) x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (neg.f64 x) (*.f64 y x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(-.f64 (*.f64 y x) x)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(-.f64 (+.f64 1 (-.f64 (*.f64 y x) x)) 1)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 3) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x)))) (/.f64 (pow.f64 x 3) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (fma.f64 y x x))))
(/.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 x (*.f64 y (*.f64 x (fma.f64 x y x)))))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (fma.f64 y x x)) (/.f64 (*.f64 x x) (fma.f64 y x x)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 x y x))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1)) (fma.f64 x y x))
(/.f64 (*.f64 x (+.f64 -1 y)) 1)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x))) (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (fma.f64 y x x))))
(/.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 x (*.f64 y (*.f64 x (fma.f64 x y x)))))
(/.f64 1 (/.f64 (fma.f64 y x x) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 x y x))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1)) (fma.f64 x y x))
(/.f64 (*.f64 x (+.f64 -1 y)) 1)
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (fma.f64 y x x))))
(/.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 x (*.f64 y (*.f64 x (fma.f64 x y x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 x y x))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1)) (fma.f64 x y x))
(/.f64 (*.f64 x (+.f64 -1 y)) 1)
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (fma.f64 y x x))))
(/.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 x (*.f64 y (*.f64 x (fma.f64 x y x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x))) (neg.f64 (fma.f64 y x x)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 x y x))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1)) (fma.f64 x y x))
(/.f64 (*.f64 x (+.f64 -1 y)) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (neg.f64 x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (*.f64 y x) (neg.f64 x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (fma.f64 y x x))))
(/.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 x (*.f64 y (*.f64 x (fma.f64 x y x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (neg.f64 x) (neg.f64 x))) (-.f64 (*.f64 y x) (neg.f64 x)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 x y x))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1)) (fma.f64 x y x))
(/.f64 (*.f64 x (+.f64 -1 y)) 1)
(/.f64 (*.f64 x (+.f64 (pow.f64 y 3) -1)) (fma.f64 y y (+.f64 y 1)))
(/.f64 (+.f64 -1 (pow.f64 y 3)) (/.f64 (fma.f64 y y (+.f64 y 1)) x))
(*.f64 x (/.f64 (+.f64 -1 (pow.f64 y 3)) (+.f64 y (fma.f64 y y 1))))
(/.f64 (*.f64 x (fma.f64 y y -1)) (+.f64 y 1))
(/.f64 x (/.f64 (+.f64 y 1) (fma.f64 y y -1)))
(*.f64 (/.f64 x (+.f64 y 1)) (fma.f64 y y -1))
(/.f64 (fma.f64 y y -1) (/.f64 (+.f64 y 1) x))
(/.f64 x (/.f64 1 (+.f64 -1 y)))
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) -1) x) (fma.f64 y y (+.f64 y 1)))
(/.f64 (+.f64 -1 (pow.f64 y 3)) (/.f64 (fma.f64 y y (+.f64 y 1)) x))
(*.f64 x (/.f64 (+.f64 -1 (pow.f64 y 3)) (+.f64 y (fma.f64 y y 1))))
(/.f64 (*.f64 (fma.f64 y y -1) x) (+.f64 y 1))
(/.f64 x (/.f64 (+.f64 y 1) (fma.f64 y y -1)))
(*.f64 (/.f64 x (+.f64 y 1)) (fma.f64 y y -1))
(/.f64 (fma.f64 y y -1) (/.f64 (+.f64 y 1) x))
(/.f64 x (/.f64 1 (+.f64 -1 y)))
(pow.f64 (-.f64 (*.f64 y x) x) 1)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(pow.f64 (cbrt.f64 (-.f64 (*.f64 y x) x)) 3)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(pow.f64 (pow.f64 (-.f64 (*.f64 y x) x) 3) 1/3)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(pow.f64 (sqrt.f64 (-.f64 (*.f64 y x) x)) 2)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(sqrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 2))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y -1)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 3))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 y -1) 3) (pow.f64 x 3)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (+.f64 y -1) 3)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 y x) x)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(exp.f64 (log.f64 (-.f64 (*.f64 y x) x)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 y x) x)) 1))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 y x) x)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(fma.f64 y x (neg.f64 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(fma.f64 1 (*.f64 y x) (neg.f64 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(fma.f64 x y (neg.f64 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (neg.f64 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (neg.f64 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (neg.f64 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 x -1))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (*.f64 y x) (*.f64 (neg.f64 x) 1))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 x) 1 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) x))
(+.f64 (-.f64 (*.f64 x y) x) (fma.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) x))
(fma.f64 x (+.f64 -1 y) (fma.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) x))
(fma.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (*.f64 x y))
(-.f64 (*.f64 x y) (*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x x))))
(+.f64 (-.f64 (*.f64 y x) x) (fma.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x) x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(+.f64 (neg.f64 x) (*.f64 y x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 1 (-.f64 (*.f64 y x) x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (+.f64 y -1) x)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 x (+.f64 y -1))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (-.f64 (*.f64 y x) x) 1)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y -1)) 2) (*.f64 (cbrt.f64 (+.f64 y -1)) x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (cbrt.f64 (-.f64 (*.f64 y x) x)) (cbrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 2)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 2)) (cbrt.f64 (-.f64 (*.f64 y x) x)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (+.f64 y -1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (+.f64 -1 y)))
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 -1 y)))
(*.f64 (sqrt.f64 (+.f64 y -1)) (*.f64 (sqrt.f64 (+.f64 y -1)) x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 y -1)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (sqrt.f64 (-.f64 (*.f64 y x) x)) (sqrt.f64 (-.f64 (*.f64 y x) x)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (fma.f64 y x x))))
(/.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 x (*.f64 y (*.f64 x (fma.f64 x y x)))))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (/.f64 1 (fma.f64 y x x)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 x y x))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1)) (fma.f64 x y x))
(/.f64 (*.f64 x (+.f64 -1 y)) 1)
(*.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 x)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (*.f64 (+.f64 y -1) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x))
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (+.f64 -1 y)))
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 -1 y)))
(*.f64 (*.f64 (+.f64 y -1) (sqrt.f64 x)) (sqrt.f64 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 y -1)) 2)) (cbrt.f64 (+.f64 y -1)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(*.f64 (*.f64 x (sqrt.f64 (+.f64 y -1))) (sqrt.f64 (+.f64 y -1)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x))) (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (fma.f64 y x x))))
(/.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 x (*.f64 y (*.f64 x (fma.f64 x y x)))))
(/.f64 1 (/.f64 (fma.f64 y x x) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 x y x))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1)) (fma.f64 x y x))
(/.f64 (*.f64 x (+.f64 -1 y)) 1)
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (fma.f64 y x x))))
(/.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 x (*.f64 y (*.f64 x (fma.f64 x y x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 x y x))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1)) (fma.f64 x y x))
(/.f64 (*.f64 x (+.f64 -1 y)) 1)
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (fma.f64 y x x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (fma.f64 y x x))))
(/.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 x (*.f64 y (*.f64 x (fma.f64 x y x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x))) (neg.f64 (fma.f64 y x x)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 x y x))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1)) (fma.f64 x y x))
(/.f64 (*.f64 x (+.f64 -1 y)) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (neg.f64 x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (*.f64 y x) (neg.f64 x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (fma.f64 y x x))))
(/.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 x (*.f64 y (*.f64 x (fma.f64 x y x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (neg.f64 x) (neg.f64 x))) (-.f64 (*.f64 y x) (neg.f64 x)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 y x x))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 x y x))
(/.f64 (*.f64 (*.f64 x x) (fma.f64 y y -1)) (fma.f64 x y x))
(/.f64 (*.f64 x (+.f64 -1 y)) 1)
(/.f64 (*.f64 x (+.f64 (pow.f64 y 3) -1)) (fma.f64 y y (+.f64 y 1)))
(/.f64 (+.f64 -1 (pow.f64 y 3)) (/.f64 (fma.f64 y y (+.f64 y 1)) x))
(*.f64 x (/.f64 (+.f64 -1 (pow.f64 y 3)) (+.f64 y (fma.f64 y y 1))))
(/.f64 (*.f64 x (fma.f64 y y -1)) (+.f64 y 1))
(/.f64 x (/.f64 (+.f64 y 1) (fma.f64 y y -1)))
(*.f64 (/.f64 x (+.f64 y 1)) (fma.f64 y y -1))
(/.f64 (fma.f64 y y -1) (/.f64 (+.f64 y 1) x))
(/.f64 x (/.f64 1 (+.f64 -1 y)))
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) -1) x) (fma.f64 y y (+.f64 y 1)))
(/.f64 (+.f64 -1 (pow.f64 y 3)) (/.f64 (fma.f64 y y (+.f64 y 1)) x))
(*.f64 x (/.f64 (+.f64 -1 (pow.f64 y 3)) (+.f64 y (fma.f64 y y 1))))
(/.f64 (*.f64 (fma.f64 y y -1) x) (+.f64 y 1))
(/.f64 x (/.f64 (+.f64 y 1) (fma.f64 y y -1)))
(*.f64 (/.f64 x (+.f64 y 1)) (fma.f64 y y -1))
(/.f64 (fma.f64 y y -1) (/.f64 (+.f64 y 1) x))
(/.f64 x (/.f64 1 (+.f64 -1 y)))
(pow.f64 (-.f64 (*.f64 y x) x) 1)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(pow.f64 (cbrt.f64 (-.f64 (*.f64 y x) x)) 3)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(pow.f64 (pow.f64 (-.f64 (*.f64 y x) x) 3) 1/3)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(pow.f64 (sqrt.f64 (-.f64 (*.f64 y x) x)) 2)
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(sqrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 2))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y -1)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 y x) x) 3))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 y -1) 3) (pow.f64 x 3)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (+.f64 y -1) 3)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 y x) x)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(exp.f64 (log.f64 (-.f64 (*.f64 y x) x)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 y x) x)) 1))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 y x) x)))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(fma.f64 y x (neg.f64 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(fma.f64 1 (*.f64 y x) (neg.f64 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(fma.f64 x y (neg.f64 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (neg.f64 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (neg.f64 x))
(-.f64 (*.f64 x y) x)
(*.f64 x (+.f64 -1 y))

eval16.0ms (0.8%)

Compiler

Compiled 995 to 416 computations (58.2% saved)

prune15.0ms (0.7%)

Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New86187
Fresh011
Picked044
Done011
Total86793
Accurracy
100.0%
Counts
93 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 (+.f64 x 1) y) x)
60.2%
(-.f64 (*.f64 y x) x)
60.2%
(*.f64 (-.f64 y 1) x)
60.6%
(*.f64 (+.f64 1 x) y)
21.8%
(*.f64 y x)
40.4%
(neg.f64 x)
41.3%
y
100.0%
(-.f64 (*.f64 (+.f64 x 1) y) x)
60.2%
(-.f64 (*.f64 y x) x)
60.2%
(*.f64 (-.f64 y 1) x)
60.6%
(*.f64 (+.f64 1 x) y)
21.8%
(*.f64 y x)
40.4%
(neg.f64 x)
41.3%
y
Compiler

Compiled 84 to 56 computations (33.3% saved)

localize16.0ms (0.8%)

Compiler

Compiled 8 to 4 computations (50% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune5.0ms (0.3%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done055
Total077
Accurracy
100.0%
Counts
7 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 (+.f64 x 1) y) x)
60.2%
(-.f64 (*.f64 y x) x)
60.2%
(*.f64 (-.f64 y 1) x)
60.6%
(*.f64 (+.f64 1 x) y)
21.8%
(*.f64 y x)
40.4%
(neg.f64 x)
41.3%
y
100.0%
(-.f64 (*.f64 (+.f64 x 1) y) x)
60.2%
(-.f64 (*.f64 y x) x)
60.2%
(*.f64 (-.f64 y 1) x)
60.6%
(*.f64 (+.f64 1 x) y)
21.8%
(*.f64 y x)
40.4%
(neg.f64 x)
41.3%
y
Compiler

Compiled 84 to 56 computations (33.3% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune3.0ms (0.2%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done066
Total077
Accurracy
100.0%
Counts
7 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 (+.f64 x 1) y) x)
60.2%
(-.f64 (*.f64 y x) x)
60.2%
(*.f64 (-.f64 y 1) x)
60.6%
(*.f64 (+.f64 1 x) y)
21.8%
(*.f64 y x)
40.4%
(neg.f64 x)
41.3%
y
Compiler

Compiled 72 to 43 computations (40.3% saved)

regimes16.0ms (0.8%)

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

3 calls:

6.0ms
(-.f64 (*.f64 (+.f64 x 1) y) x)
5.0ms
y
4.0ms
x
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(-.f64 (*.f64 (+.f64 x 1) y) x)
Compiler

Compiled 45 to 25 computations (44.4% saved)

regimes51.0ms (2.5%)

Counts
6 → 3
Calls
Call 1
Inputs
y
(neg.f64 x)
(*.f64 y x)
(*.f64 (+.f64 1 x) y)
(*.f64 (-.f64 y 1) x)
(-.f64 (*.f64 y x) x)
Outputs
(-.f64 (*.f64 y x) x)
(*.f64 (+.f64 1 x) y)
(*.f64 (-.f64 y 1) x)
Calls

2 calls:

37.0ms
x
13.0ms
y
Results
AccuracySegmentsBranch
88.0%3x
86.1%3y
Compiler

Compiled 29 to 15 computations (48.3% saved)

regimes27.0ms (1.3%)

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

1 calls:

26.0ms
x
Results
AccuracySegmentsBranch
88.0%3x
Compiler

Compiled 21 to 12 computations (42.9% saved)

regimes55.0ms (2.7%)

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

2 calls:

42.0ms
x
12.0ms
y
Results
AccuracySegmentsBranch
86.0%3y
72.2%7x
Compiler

Compiled 19 to 11 computations (42.1% saved)

regimes38.0ms (1.9%)

Counts
3 → 7
Calls
Call 1
Inputs
y
(neg.f64 x)
(*.f64 y x)
Outputs
(neg.f64 x)
y
(neg.f64 x)
(*.f64 y x)
(neg.f64 x)
(*.f64 y x)
(neg.f64 x)
Calls

2 calls:

21.0ms
x
17.0ms
y
Results
AccuracySegmentsBranch
71.9%7x
68.8%5y
Compiler

Compiled 14 to 8 computations (42.9% saved)

regimes13.0ms (0.6%)

Counts
2 → 3
Calls
Call 1
Inputs
y
(neg.f64 x)
Outputs
(neg.f64 x)
y
(neg.f64 x)
Calls

1 calls:

12.0ms
x
Results
AccuracySegmentsBranch
67.7%3x
Compiler

Compiled 8 to 5 computations (37.5% saved)

regimes5.0ms (0.3%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
y
Outputs
y
Calls

2 calls:

2.0ms
x
2.0ms
y
Results
AccuracySegmentsBranch
41.3%1y
41.3%1x
Compiler

Compiled 9 to 6 computations (33.3% saved)

bsearch25.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
9.55621337890759e-111
5.586046815938278e-110
16.0ms
-352431.69252895744
-0.26453319088993277
Results
22.0ms240×body256valid
Compiler

Compiled 254 to 181 computations (28.7% saved)

bsearch59.0ms (2.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
9.55621337890759e-111
5.586046815938278e-110
50.0ms
-352431.69252895744
-0.26453319088993277
Results
56.0ms239×body256valid
0.0msbody512valid
Compiler

Compiled 254 to 190 computations (25.2% saved)

bsearch14.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
3.0ms
1.5213099579584564e-12
1.6686463756811235e-12
10.0ms
-1.3005558360455292e-82
-2.9938459468165904e-84
Results
12.0ms144×body256valid
Compiler

Compiled 131 to 100 computations (23.7% saved)

bsearch137.0ms (6.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
3.493998567025828e+247
3.3606373598053065e+249
17.0ms
1.7923653899650868e+217
1.8759616982208264e+231
15.0ms
3.2399458687724667e+106
2.3643810983096663e+116
12.0ms
5.308736721458937e+44
8.075324181903271e+45
7.0ms
1.984637892333714e-85
5.747785661200441e-85
72.0ms
-352431.69252895744
-0.26453319088993277
Results
116.0ms628×body256valid
13.0ms124×body256infinite
Compiler

Compiled 503 to 372 computations (26% saved)

bsearch23.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
1.984637892333714e-85
5.747785661200441e-85
13.0ms
-352431.69252895744
-0.26453319088993277
Results
20.0ms224×body256valid
Compiler

Compiled 140 to 108 computations (22.9% saved)

simplify19.0ms (0.9%)

Algorithm
egg-herbie
Rules
16×unsub-neg
12×+-commutative
12×if-if-or-not
12×*-commutative
10×sub-neg
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054289
182289
292289
3104287
4115287
5132287
6133287
7134287
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 (+.f64 x 1) y) x)
(if (<=.f64 x -390) (-.f64 (*.f64 y x) x) (if (<=.f64 x 2326917010141675/42307582002575910332922579714097346549017899709713998034217522897561970639123926132812109468141778230245837569601494931472384) (*.f64 (+.f64 1 x) y) (*.f64 (-.f64 y 1) x)))
(if (<=.f64 x -3242591731706757/9007199254740992) (*.f64 (-.f64 y 1) x) (if (<=.f64 x 2326917010141675/42307582002575910332922579714097346549017899709713998034217522897561970639123926132812109468141778230245837569601494931472384) (*.f64 (+.f64 1 x) y) (*.f64 (-.f64 y 1) x)))
(if (<=.f64 y -3588458220347129/34175792574734561318320347298712833833643272357706444319152665725155515612490248800367393390985216) (*.f64 (+.f64 1 x) y) (if (<=.f64 y 3961408125713217/2475880078570760549798248448) (neg.f64 x) (*.f64 (+.f64 1 x) y)))
(if (<=.f64 x -607985949695017/2251799813685248) (neg.f64 x) (if (<=.f64 x 3849561275618101/8749002899132047697490008908470485461412677723572849745703082425639811996797503692894052708092215296) y (if (<=.f64 x 1600000000000000141141782484902762251229855744) (neg.f64 x) (if (<=.f64 x 12500000000000000294617093927128197915619159938211023289123906740853520855827021657478867019905618878278926336) (*.f64 y x) (if (<=.f64 x 4800000000000000223688674439139348328344411887757008934820706198489677350350814237949285018628139419140963087660730351353522855996833110838530986067964688514819664611363117865117538588296265143967006731703489165364903804928) (neg.f64 x) (if (<=.f64 x 419999999999999976796785685674712301126166689297609693304464252809031641188785155483506011144436946570257107910299436491558477461649603761437925107950618353436423703780623941019024906468754900289601068120294451370024042433082630836156917072636411904) (*.f64 y x) (neg.f64 x)))))))
(if (<=.f64 x -607985949695017/2251799813685248) (neg.f64 x) (if (<=.f64 x 3849561275618101/8749002899132047697490008908470485461412677723572849745703082425639811996797503692894052708092215296) y (neg.f64 x)))
y
Outputs
(-.f64 (*.f64 (+.f64 x 1) y) x)
(if (<=.f64 x -390) (-.f64 (*.f64 y x) x) (if (<=.f64 x 2326917010141675/42307582002575910332922579714097346549017899709713998034217522897561970639123926132812109468141778230245837569601494931472384) (*.f64 (+.f64 1 x) y) (*.f64 (-.f64 y 1) x)))
(if (<=.f64 x -390) (-.f64 (*.f64 x y) x) (if (<=.f64 x 2326917010141675/42307582002575910332922579714097346549017899709713998034217522897561970639123926132812109468141778230245837569601494931472384) (*.f64 (+.f64 x 1) y) (*.f64 x (-.f64 y 1))))
(if (<=.f64 x -390) (-.f64 (*.f64 x y) x) (if (<=.f64 x 2326917010141675/42307582002575910332922579714097346549017899709713998034217522897561970639123926132812109468141778230245837569601494931472384) (*.f64 (+.f64 x 1) y) (*.f64 x (+.f64 y -1))))
(if (<=.f64 x -3242591731706757/9007199254740992) (*.f64 (-.f64 y 1) x) (if (<=.f64 x 2326917010141675/42307582002575910332922579714097346549017899709713998034217522897561970639123926132812109468141778230245837569601494931472384) (*.f64 (+.f64 1 x) y) (*.f64 (-.f64 y 1) x)))
(if (or (<=.f64 x -3242591731706757/9007199254740992) (not (<=.f64 x 2326917010141675/42307582002575910332922579714097346549017899709713998034217522897561970639123926132812109468141778230245837569601494931472384))) (*.f64 x (-.f64 y 1)) (*.f64 (+.f64 x 1) y))
(if (or (<=.f64 x -3242591731706757/9007199254740992) (not (<=.f64 x 2326917010141675/42307582002575910332922579714097346549017899709713998034217522897561970639123926132812109468141778230245837569601494931472384))) (*.f64 x (+.f64 y -1)) (*.f64 (+.f64 x 1) y))
(if (<=.f64 y -3588458220347129/34175792574734561318320347298712833833643272357706444319152665725155515612490248800367393390985216) (*.f64 (+.f64 1 x) y) (if (<=.f64 y 3961408125713217/2475880078570760549798248448) (neg.f64 x) (*.f64 (+.f64 1 x) y)))
(if (or (<=.f64 y -3588458220347129/34175792574734561318320347298712833833643272357706444319152665725155515612490248800367393390985216) (not (<=.f64 y 3961408125713217/2475880078570760549798248448))) (*.f64 (+.f64 x 1) y) (neg.f64 x))
(if (<=.f64 x -607985949695017/2251799813685248) (neg.f64 x) (if (<=.f64 x 3849561275618101/8749002899132047697490008908470485461412677723572849745703082425639811996797503692894052708092215296) y (if (<=.f64 x 1600000000000000141141782484902762251229855744) (neg.f64 x) (if (<=.f64 x 12500000000000000294617093927128197915619159938211023289123906740853520855827021657478867019905618878278926336) (*.f64 y x) (if (<=.f64 x 4800000000000000223688674439139348328344411887757008934820706198489677350350814237949285018628139419140963087660730351353522855996833110838530986067964688514819664611363117865117538588296265143967006731703489165364903804928) (neg.f64 x) (if (<=.f64 x 419999999999999976796785685674712301126166689297609693304464252809031641188785155483506011144436946570257107910299436491558477461649603761437925107950618353436423703780623941019024906468754900289601068120294451370024042433082630836156917072636411904) (*.f64 y x) (neg.f64 x)))))))
(if (<=.f64 x -607985949695017/2251799813685248) (neg.f64 x) (if (<=.f64 x 3849561275618101/8749002899132047697490008908470485461412677723572849745703082425639811996797503692894052708092215296) y (if (<=.f64 x 1600000000000000141141782484902762251229855744) (neg.f64 x) (if (<=.f64 x 12500000000000000294617093927128197915619159938211023289123906740853520855827021657478867019905618878278926336) (*.f64 x y) (if (<=.f64 x 4800000000000000223688674439139348328344411887757008934820706198489677350350814237949285018628139419140963087660730351353522855996833110838530986067964688514819664611363117865117538588296265143967006731703489165364903804928) (neg.f64 x) (if (<=.f64 x 419999999999999976796785685674712301126166689297609693304464252809031641188785155483506011144436946570257107910299436491558477461649603761437925107950618353436423703780623941019024906468754900289601068120294451370024042433082630836156917072636411904) (*.f64 x y) (neg.f64 x)))))))
(if (<=.f64 x -607985949695017/2251799813685248) (neg.f64 x) (if (<=.f64 x 3849561275618101/8749002899132047697490008908470485461412677723572849745703082425639811996797503692894052708092215296) y (if (<=.f64 x 1600000000000000141141782484902762251229855744) (neg.f64 x) (if (or (<=.f64 x 12500000000000000294617093927128197915619159938211023289123906740853520855827021657478867019905618878278926336) (and (not (<=.f64 x 4800000000000000223688674439139348328344411887757008934820706198489677350350814237949285018628139419140963087660730351353522855996833110838530986067964688514819664611363117865117538588296265143967006731703489165364903804928)) (<=.f64 x 419999999999999976796785685674712301126166689297609693304464252809031641188785155483506011144436946570257107910299436491558477461649603761437925107950618353436423703780623941019024906468754900289601068120294451370024042433082630836156917072636411904))) (*.f64 x y) (neg.f64 x)))))
(if (<=.f64 x -607985949695017/2251799813685248) (neg.f64 x) (if (<=.f64 x 3849561275618101/8749002899132047697490008908470485461412677723572849745703082425639811996797503692894052708092215296) y (neg.f64 x)))
y
Compiler

Compiled 128 to 84 computations (34.4% saved)

soundness187.0ms (9.1%)

Rules
1962×div-sub
1962×div-sub
1164×fma-neg
1164×fma-neg
1062×fma-def
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01131497
12931341
211231341
353731341
01131497
12931341
211231341
353731341
Stop Event
node limit
node limit
Compiler

Compiled 52 to 27 computations (48.1% saved)

end123.0ms (6%)

Compiler

Compiled 250 to 150 computations (40% saved)

Profiling

Loading profile data...