Numeric.Log:$cexpm1 from log-domain-0.10.2.1, B

Details

Time bar (total: 3.2s)

analyze0.0ms (0%)

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

Compiled 10 to 6 computations (40% saved)

sample819.0ms (25.8%)

Results
714.0ms7238×body256valid
94.0ms1017×body256infinite
0.0msbody512valid
Bogosity

preprocess18.0ms (0.6%)

Algorithm
egg-herbie
Rules
100×fma-def
14×+-commutative
10×*-commutative
10×associate-*l*
distribute-rgt-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01030
12430
23730
34630
46030
57230
69830
711330
811530
022
122
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
0
Call 2
Inputs
(+.f64 (+.f64 (*.f64 x y) x) y)
(+.f64 (+.f64 (*.f64 y x) y) x)
Outputs
(+.f64 (+.f64 (*.f64 x y) x) y)
(+.f64 y (fma.f64 x y x))
(+.f64 x (fma.f64 x y y))
(+.f64 (+.f64 (*.f64 y x) y) x)
(+.f64 y (fma.f64 x y x))
(+.f64 x (fma.f64 x y y))
Symmetry

(sort x y)

Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify16.0ms (0.5%)

Algorithm
egg-herbie
Rules
96×fma-def
12×*-commutative
12×distribute-rgt-in
12×+-commutative
associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
11415
22715
33815
44815
56115
68315
710515
811215
911315
Stop Event
saturated
Counts
1 → 3
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) x) y)
Outputs
(+.f64 (+.f64 (*.f64 x y) x) y)
(+.f64 y (fma.f64 x y x))
(+.f64 x (fma.f64 x y y))

eval1.0ms (0%)

Compiler

Compiled 21 to 9 computations (57.1% saved)

prune1.0ms (0%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New033
Fresh011
Picked000
Done000
Total044
Accurracy
100.0%
Counts
4 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (+.f64 (*.f64 x y) x) y)
100.0%
(+.f64 y (fma.f64 x y x))
100.0%
(+.f64 x (fma.f64 x y y))
Compiler

Compiled 25 to 13 computations (48% saved)

localize57.0ms (1.8%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 x (fma.f64 x y y))
Compiler

Compiled 15 to 5 computations (66.7% saved)

series6.0ms (0.2%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
4.0ms
y
@0
(+.f64 x (fma.f64 x y y))
0.0ms
x
@-inf
(+.f64 x (fma.f64 x y y))
0.0ms
y
@inf
(+.f64 x (fma.f64 x y y))
0.0ms
x
@inf
(+.f64 x (fma.f64 x y y))
0.0ms
y
@-inf
(+.f64 x (fma.f64 x y y))

rewrite55.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1654×pow1
1528×add-exp-log
1528×log1p-expm1-u
1528×expm1-log1p-u
1498×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

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

simplify68.0ms (2.1%)

Algorithm
egg-herbie
Rules
1734×fma-neg
1178×div-sub
894×associate-*r*
844×associate-*l*
578×fma-def
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01021471
12551273
28061265
351881265
Stop Event
node limit
Counts
57 → 55
Calls
Call 1
Inputs
y
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(*.f64 (+.f64 1 y) x)
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
x
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(*.f64 (+.f64 1 x) y)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(-.f64 (+.f64 1 (+.f64 x (fma.f64 x y y))) 1)
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (fma.f64 x y y))) (/.f64 (pow.f64 (fma.f64 x y y) 2) (-.f64 x (fma.f64 x y y))))
(*.f64 (+.f64 x (fma.f64 x y y)) 1)
(*.f64 1 (+.f64 x (fma.f64 x y y)))
(*.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2) (cbrt.f64 (+.f64 x (fma.f64 x y y))))
(*.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) (sqrt.f64 (+.f64 x (fma.f64 x y y))))
(*.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))))
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (/.f64 1 (-.f64 x (fma.f64 x y y))))
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))) (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (-.f64 x (fma.f64 x y y)) (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (fma.f64 x y y) 2) (-.f64 (*.f64 x x) (*.f64 x (fma.f64 x y y)))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (-.f64 x (fma.f64 x y y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2))) (neg.f64 (-.f64 x (fma.f64 x y y))))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y y) 2) (*.f64 x x)) (-.f64 (fma.f64 x y y) x))
(pow.f64 (+.f64 x (fma.f64 x y y)) 1)
(pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 3)
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) 2)
(sqrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 2))
(log.f64 (exp.f64 (+.f64 x (fma.f64 x y y))))
(cbrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3))
(expm1.f64 (log1p.f64 (+.f64 x (fma.f64 x y y))))
(exp.f64 (log.f64 (+.f64 x (fma.f64 x y y))))
(log1p.f64 (expm1.f64 (+.f64 x (fma.f64 x y y))))
(fma.f64 1 x (fma.f64 x y y))
(fma.f64 1 (fma.f64 x y y) x)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y y)) 2) (cbrt.f64 (fma.f64 x y y)) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 x y y))
(fma.f64 (sqrt.f64 (fma.f64 x y y)) (sqrt.f64 (fma.f64 x y y)) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 x y y))
Outputs
y
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 y 1) x)
(+.f64 x (*.f64 y x))
(fma.f64 y x x)
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 (+.f64 y 1) x)
(+.f64 x (*.f64 y x))
(fma.f64 y x x)
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
x
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(fma.f64 y x y)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(fma.f64 y x y)
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(-.f64 (+.f64 1 (+.f64 x (fma.f64 x y y))) 1)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (fma.f64 x y y))) (/.f64 (pow.f64 (fma.f64 x y y) 2) (-.f64 x (fma.f64 x y y))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (-.f64 x (fma.f64 x y y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (fma.f64 y x (-.f64 y x)))
(*.f64 (+.f64 x (fma.f64 x y y)) 1)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(*.f64 1 (+.f64 x (fma.f64 x y y)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(*.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2) (cbrt.f64 (+.f64 x (fma.f64 x y y))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(*.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) (sqrt.f64 (+.f64 x (fma.f64 x y y))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(*.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 y x y) (fma.f64 y x (-.f64 y x)) (*.f64 x x)))
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (/.f64 1 (-.f64 x (fma.f64 x y y))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (-.f64 x (fma.f64 x y y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (fma.f64 y x (-.f64 y x)))
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))) (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 y x y) (fma.f64 y x (-.f64 y x)) (*.f64 x x)))
(/.f64 1 (/.f64 (-.f64 x (fma.f64 x y y)) (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (-.f64 x (fma.f64 x y y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (fma.f64 y x (-.f64 y x)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 y x y) (fma.f64 y x (-.f64 y x)) (*.f64 x x)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (fma.f64 x y y) 2) (-.f64 (*.f64 x x) (*.f64 x (fma.f64 x y y)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 y x y) (fma.f64 y x (-.f64 y x)) (*.f64 x x)))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (-.f64 x (fma.f64 x y y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (fma.f64 y x (-.f64 y x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 y x y) (fma.f64 y x (-.f64 y x)) (*.f64 x x)))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2))) (neg.f64 (-.f64 x (fma.f64 x y y))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (-.f64 x (fma.f64 x y y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (fma.f64 y x (-.f64 y x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y y) 2) (*.f64 x x)) (-.f64 (fma.f64 x y y) x))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (-.f64 x (fma.f64 x y y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (fma.f64 y x (-.f64 y x)))
(pow.f64 (+.f64 x (fma.f64 x y y)) 1)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 3)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3) 1/3)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(pow.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) 2)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(sqrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 2))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(log.f64 (exp.f64 (+.f64 x (fma.f64 x y y))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(cbrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(expm1.f64 (log1p.f64 (+.f64 x (fma.f64 x y y))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(exp.f64 (log.f64 (+.f64 x (fma.f64 x y y))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(log1p.f64 (expm1.f64 (+.f64 x (fma.f64 x y y))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(fma.f64 1 x (fma.f64 x y y))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(fma.f64 1 (fma.f64 x y y) x)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y y)) 2) (cbrt.f64 (fma.f64 x y y)) x)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 x y y))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(fma.f64 (sqrt.f64 (fma.f64 x y y)) (sqrt.f64 (fma.f64 x y y)) x)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 x y y))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 x (fma.f64 x y y))
(fma.f64 y x (+.f64 y x))

localize21.0ms (0.7%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 y (fma.f64 x y x))
Compiler

Compiled 15 to 5 computations (66.7% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
y
@0
(+.f64 y (fma.f64 x y x))
0.0ms
y
@-inf
(+.f64 y (fma.f64 x y x))
0.0ms
x
@-inf
(+.f64 y (fma.f64 x y x))
0.0ms
y
@inf
(+.f64 y (fma.f64 x y x))
0.0ms
x
@inf
(+.f64 y (fma.f64 x y x))

rewrite75.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
1652×pow1
1526×add-exp-log
1526×log1p-expm1-u
1526×expm1-log1p-u
1496×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

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

simplify61.0ms (1.9%)

Algorithm
egg-herbie
Rules
1636×fma-neg
1070×div-sub
854×associate-*r*
806×associate-*l*
568×fma-def
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01021311
12551281
28061265
350481265
Stop Event
node limit
Counts
57 → 53
Calls
Call 1
Inputs
x
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(*.f64 (+.f64 1 x) y)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
y
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(*.f64 (+.f64 1 y) x)
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(-.f64 (+.f64 1 (+.f64 y (fma.f64 x y x))) 1)
(-.f64 (/.f64 (*.f64 y y) (-.f64 y (fma.f64 x y x))) (/.f64 (pow.f64 (fma.f64 x y x) 2) (-.f64 y (fma.f64 x y x))))
(*.f64 (+.f64 y (fma.f64 x y x)) 1)
(*.f64 1 (+.f64 y (fma.f64 x y x)))
(*.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) (pow.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) 2) (cbrt.f64 (+.f64 y (fma.f64 x y x))))
(*.f64 (sqrt.f64 (+.f64 y (fma.f64 x y x))) (sqrt.f64 (+.f64 y (fma.f64 x y x))))
(*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))))
(*.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (/.f64 1 (-.f64 y (fma.f64 x y x))))
(/.f64 1 (/.f64 (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))) (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))))
(/.f64 1 (/.f64 (-.f64 y (fma.f64 x y x)) (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (+.f64 (pow.f64 (fma.f64 x y x) 2) (-.f64 (*.f64 y y) (*.f64 y (fma.f64 x y x)))))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))) (neg.f64 (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))))
(/.f64 (neg.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2))) (neg.f64 (-.f64 y (fma.f64 x y x))))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (-.f64 (fma.f64 x y x) y))
(pow.f64 (+.f64 y (fma.f64 x y x)) 1)
(pow.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) 3)
(pow.f64 (pow.f64 (+.f64 y (fma.f64 x y x)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 y (fma.f64 x y x))) 2)
(sqrt.f64 (pow.f64 (+.f64 y (fma.f64 x y x)) 2))
(log.f64 (exp.f64 (+.f64 y (fma.f64 x y x))))
(cbrt.f64 (pow.f64 (+.f64 y (fma.f64 x y x)) 3))
(expm1.f64 (log1p.f64 (+.f64 y (fma.f64 x y x))))
(exp.f64 (log.f64 (+.f64 y (fma.f64 x y x))))
(log1p.f64 (expm1.f64 (+.f64 y (fma.f64 x y x))))
(fma.f64 1 y (fma.f64 x y x))
(fma.f64 1 (fma.f64 x y x) y)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x)) y)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (fma.f64 x y x))
(fma.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x)) y)
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (fma.f64 x y x))
Outputs
x
(+.f64 (*.f64 (+.f64 1 x) y) x)
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 x 1) y)
(+.f64 y (*.f64 x y))
(fma.f64 x y y)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 (+.f64 x 1) y)
(+.f64 y (*.f64 x y))
(fma.f64 x y y)
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
y
(+.f64 y (*.f64 (+.f64 1 y) x))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(fma.f64 x y x)
(+.f64 y (*.f64 (+.f64 1 y) x))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 x (+.f64 1 y))
(fma.f64 x y x)
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(-.f64 (+.f64 1 (+.f64 y (fma.f64 x y x))) 1)
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(-.f64 (/.f64 (*.f64 y y) (-.f64 y (fma.f64 x y x))) (/.f64 (pow.f64 (fma.f64 x y x) 2) (-.f64 y (fma.f64 x y x))))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (fma.f64 x y (-.f64 x y)))
(*.f64 (+.f64 y (fma.f64 x y x)) 1)
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(*.f64 1 (+.f64 y (fma.f64 x y x)))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(*.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) (pow.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) 2))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) 2) (cbrt.f64 (+.f64 y (fma.f64 x y x))))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(*.f64 (sqrt.f64 (+.f64 y (fma.f64 x y x))) (sqrt.f64 (+.f64 y (fma.f64 x y x))))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) 1) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 (fma.f64 x y x) (fma.f64 x y (-.f64 x y)) (*.f64 y y)))
(*.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (/.f64 1 (-.f64 y (fma.f64 x y x))))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (fma.f64 x y (-.f64 x y)))
(/.f64 1 (/.f64 (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))) (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) 1) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 (fma.f64 x y x) (fma.f64 x y (-.f64 x y)) (*.f64 y y)))
(/.f64 1 (/.f64 (-.f64 y (fma.f64 x y x)) (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2))))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (fma.f64 x y (-.f64 x y)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) 1) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 (fma.f64 x y x) (fma.f64 x y (-.f64 x y)) (*.f64 y y)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (+.f64 (pow.f64 (fma.f64 x y x) 2) (-.f64 (*.f64 y y) (*.f64 y (fma.f64 x y x)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) 1) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 (fma.f64 x y x) (fma.f64 x y (-.f64 x y)) (*.f64 y y)))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (fma.f64 x y (-.f64 x y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))) (neg.f64 (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) 1) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 (fma.f64 x y x) (fma.f64 x y (-.f64 x y)) (*.f64 y y)))
(/.f64 (neg.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2))) (neg.f64 (-.f64 y (fma.f64 x y x))))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (fma.f64 x y (-.f64 x y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (-.f64 (fma.f64 x y x) y))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (fma.f64 x y (-.f64 x y)))
(pow.f64 (+.f64 y (fma.f64 x y x)) 1)
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(pow.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) 3)
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(pow.f64 (pow.f64 (+.f64 y (fma.f64 x y x)) 3) 1/3)
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(pow.f64 (sqrt.f64 (+.f64 y (fma.f64 x y x))) 2)
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(sqrt.f64 (pow.f64 (+.f64 y (fma.f64 x y x)) 2))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(log.f64 (exp.f64 (+.f64 y (fma.f64 x y x))))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(cbrt.f64 (pow.f64 (+.f64 y (fma.f64 x y x)) 3))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(expm1.f64 (log1p.f64 (+.f64 y (fma.f64 x y x))))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(exp.f64 (log.f64 (+.f64 y (fma.f64 x y x))))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(log1p.f64 (expm1.f64 (+.f64 y (fma.f64 x y x))))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(fma.f64 1 y (fma.f64 x y x))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(fma.f64 1 (fma.f64 x y x) y)
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x)) y)
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (fma.f64 x y x))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(fma.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x)) y)
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (fma.f64 x y x))
(fma.f64 (+.f64 x 1) y x)
(+.f64 y (fma.f64 x y x))

localize22.0ms (0.7%)

Local Accuracy

Found 2 expressions with local accuracy:

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

Compiled 20 to 6 computations (70% saved)

series3.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite74.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
1184×fma-def
836×log-prod
764×prod-exp
670×pow-prod-down
608×exp-prod
Iterations

Useful iterations: 0 (0.0ms)

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

simplify81.0ms (2.5%)

Algorithm
egg-herbie
Rules
1124×distribute-lft-in
1098×distribute-rgt-in
1042×times-frac
898×unswap-sqr
860×cancel-sign-sub-inv
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03554221
18714131
224264131
Stop Event
node limit
Counts
219 → 217
Calls
Call 1
Inputs
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
x
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
y
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(*.f64 (+.f64 1 y) x)
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
x
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(*.f64 (+.f64 1 x) y)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (fma.f64 x y (neg.f64 x))) (/.f64 (*.f64 x x) (fma.f64 x y (neg.f64 x))))
(*.f64 x (+.f64 1 y))
(*.f64 x (+.f64 y 1))
(*.f64 (fma.f64 x y x) 1)
(*.f64 1 (fma.f64 x y x))
(*.f64 (cbrt.f64 (fma.f64 x y x)) (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x)))
(*.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x)))
(*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (/.f64 1 (fma.f64 x y (neg.f64 x))))
(*.f64 (+.f64 y 1) x)
(/.f64 1 (/.f64 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (fma.f64 x y (neg.f64 x)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x))))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 x y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x))) (neg.f64 (fma.f64 x y (neg.f64 x))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (-.f64 x (*.f64 x y)))
(pow.f64 (fma.f64 x y x) 1)
(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)
(pow.f64 (sqrt.f64 (fma.f64 x y x)) 2)
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 x y x)))
(pow.f64 (/.f64 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))) -1)
(pow.f64 (/.f64 (fma.f64 x y (neg.f64 x)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x))) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x y x))) 2)) (cbrt.f64 (log.f64 (fma.f64 x y x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x y x)))) (sqrt.f64 (log.f64 (fma.f64 x y x))))
(sqrt.f64 (pow.f64 (fma.f64 x y x) 2))
(log.f64 (exp.f64 (fma.f64 x y x)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x))))
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 x) y)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 x))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 x))))
(cbrt.f64 (pow.f64 (fma.f64 x y x) 3))
(expm1.f64 (log1p.f64 (fma.f64 x y x)))
(exp.f64 (log.f64 (fma.f64 x y x)))
(exp.f64 (*.f64 (log.f64 (fma.f64 x y x)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x y x)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x y x))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x y x))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x y x)) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x y x))) 2))
(log1p.f64 (expm1.f64 (fma.f64 x y x)))
(fma.f64 x y x)
(fma.f64 x 1 (*.f64 x y))
(fma.f64 y x x)
(fma.f64 (*.f64 x y) 1 x)
(fma.f64 1 x (*.f64 x y))
(fma.f64 1 (*.f64 x y) x)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) x)
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) x)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x y))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) x)
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) x)
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) x)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) x)
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) x)
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) x)
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) x)
(-.f64 (exp.f64 (log1p.f64 (+.f64 x (fma.f64 x y y)))) 1)
(-.f64 (/.f64 (pow.f64 (fma.f64 x y x) 2) (-.f64 (fma.f64 x y x) y)) (/.f64 (*.f64 y y) (-.f64 (fma.f64 x y x) y)))
(*.f64 (+.f64 x (fma.f64 x y y)) 1)
(*.f64 1 (+.f64 x (fma.f64 x y y)))
(*.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2) (cbrt.f64 (+.f64 x (fma.f64 x y y))))
(*.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) (sqrt.f64 (+.f64 x (fma.f64 x y y))))
(*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2))))
(*.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (/.f64 1 (-.f64 (fma.f64 x y x) y)))
(/.f64 1 (/.f64 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)) (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))))
(/.f64 1 (/.f64 (-.f64 (fma.f64 x y x) y) (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y (fma.f64 x y x)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (-.f64 (fma.f64 x y x) y))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))) (neg.f64 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y))) (neg.f64 (-.f64 (fma.f64 x y x) y)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (+.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (*.f64 x y) (+.f64 x y)))))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (+.f64 x y) 2)) (-.f64 (*.f64 x y) (+.f64 x y)))
(pow.f64 (+.f64 x (fma.f64 x y y)) 1)
(pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 3)
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) 2)
(pow.f64 (exp.f64 1) (log.f64 (+.f64 x (fma.f64 x y y))))
(pow.f64 (/.f64 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)) (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))) -1)
(pow.f64 (/.f64 (-.f64 (fma.f64 x y x) y) (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y))) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 x (fma.f64 x y y)))) 2)) (cbrt.f64 (log.f64 (+.f64 x (fma.f64 x y y)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 x (fma.f64 x y y))))) (sqrt.f64 (log.f64 (+.f64 x (fma.f64 x y y)))))
(sqrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 2))
(log.f64 (exp.f64 (+.f64 x (fma.f64 x y y))))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 x (fma.f64 x y y)))))
(log.f64 (*.f64 (exp.f64 y) (+.f64 1 (expm1.f64 (fma.f64 x y x)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (exp.f64 (fma.f64 x y x))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (+.f64 1 (expm1.f64 (fma.f64 x y x)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 (+.f64 x y))))
(log.f64 (*.f64 (exp.f64 (fma.f64 x y x)) (+.f64 1 (expm1.f64 y))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x))) (exp.f64 y)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x))) (+.f64 1 (expm1.f64 y))))
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(cbrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3))
(expm1.f64 (log1p.f64 (+.f64 x (fma.f64 x y y))))
(exp.f64 (log.f64 (+.f64 x (fma.f64 x y y))))
(exp.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x y y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x y y))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y)))) 2))
(log1p.f64 (expm1.f64 (+.f64 x (fma.f64 x y y))))
(fma.f64 x y (+.f64 x y))
(fma.f64 x y (*.f64 (+.f64 x y) 1))
(fma.f64 x 1 (fma.f64 x y y))
(fma.f64 x (+.f64 1 y) y)
(fma.f64 x (+.f64 y 1) y)
(fma.f64 y x (+.f64 x y))
(fma.f64 y x (*.f64 (+.f64 x y) 1))
(fma.f64 y 1 (fma.f64 x y x))
(fma.f64 (*.f64 x y) 1 (+.f64 x y))
(fma.f64 (*.f64 x y) 1 (*.f64 (+.f64 x y) 1))
(fma.f64 (fma.f64 x y x) 1 y)
(fma.f64 1 x (fma.f64 x y y))
(fma.f64 1 y (fma.f64 x y x))
(fma.f64 1 (*.f64 x y) (+.f64 x y))
(fma.f64 1 (*.f64 x y) (*.f64 (+.f64 x y) 1))
(fma.f64 1 (fma.f64 x y x) y)
(fma.f64 1 (+.f64 x y) (*.f64 x y))
(fma.f64 (cbrt.f64 (fma.f64 x y x)) (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) y)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x)) y)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (fma.f64 x y y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 x y y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (+.f64 x y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 (+.f64 x y) 1))
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (+.f64 x y))
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 (+.f64 x y) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (+.f64 x y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 (+.f64 x y) 1))
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (fma.f64 x y x))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (fma.f64 x y x))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (+.f64 x y))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 (+.f64 x y) 1))
(fma.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x)) y)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 x y y))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (+.f64 x y))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 (+.f64 x y) 1))
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (+.f64 x y))
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 (+.f64 x y) 1))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (fma.f64 x y x))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (+.f64 x y))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 (+.f64 x y) 1))
(fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) y)
(fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (/.f64 1 (fma.f64 x y (neg.f64 x))) y)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 x y))
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 x y))
(fma.f64 (+.f64 y 1) x y)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (+.f64 x y))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 (+.f64 x y) 1))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (+.f64 x y))
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (+.f64 x y) 1))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 x y))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (+.f64 x y) 1))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (+.f64 x y))
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (+.f64 x y) 1))
Outputs
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(fma.f64 y x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(fma.f64 y x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(fma.f64 y x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(fma.f64 y x x)
x
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
y
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(fma.f64 y x x)
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
x
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(fma.f64 y x y)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 y (+.f64 1 x))
(fma.f64 y x y)
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 1)
(fma.f64 y x x)
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (fma.f64 x y (neg.f64 x))) (/.f64 (*.f64 x x) (fma.f64 x y (neg.f64 x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1)))
(*.f64 x (+.f64 1 y))
(fma.f64 y x x)
(*.f64 x (+.f64 y 1))
(fma.f64 y x x)
(*.f64 (fma.f64 x y x) 1)
(fma.f64 y x x)
(*.f64 1 (fma.f64 x y x))
(fma.f64 y x x)
(*.f64 (cbrt.f64 (fma.f64 x y x)) (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2))
(fma.f64 y x x)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x)))
(fma.f64 y x x)
(*.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x)))
(fma.f64 y x x)
(*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 x (neg.f64 y) x) (pow.f64 (*.f64 y x) 2)))
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (/.f64 1 (fma.f64 x y (neg.f64 x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1)))
(*.f64 (+.f64 y 1) x)
(fma.f64 y x x)
(/.f64 1 (/.f64 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 x (neg.f64 y) x) (pow.f64 (*.f64 y x) 2)))
(/.f64 1 (/.f64 (fma.f64 x y (neg.f64 x)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 x (neg.f64 y) x) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 x y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x x) y))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) x))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 y x) (*.f64 x (+.f64 y -1)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 x (neg.f64 y) x) (pow.f64 (*.f64 y x) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x))) (neg.f64 (fma.f64 x y (neg.f64 x))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1)))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (-.f64 x (*.f64 x y)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1)))
(pow.f64 (fma.f64 x y x) 1)
(fma.f64 y x x)
(pow.f64 (cbrt.f64 (fma.f64 x y x)) 3)
(fma.f64 y x x)
(pow.f64 (pow.f64 (fma.f64 x y x) 2) 1/2)
(fma.f64 y x x)
(pow.f64 (pow.f64 (fma.f64 x y x) 3) 1/3)
(fma.f64 y x x)
(pow.f64 (sqrt.f64 (fma.f64 x y x)) 2)
(fma.f64 y x x)
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 x y x)))
(fma.f64 y x x)
(pow.f64 (/.f64 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))) -1)
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 x (neg.f64 y) x) (pow.f64 (*.f64 y x) 2)))
(pow.f64 (/.f64 (fma.f64 x y (neg.f64 x)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x))) -1)
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x y x))) 2)) (cbrt.f64 (log.f64 (fma.f64 x y x))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 y x x))) 2)) (cbrt.f64 (log.f64 (fma.f64 y x x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x y x)))) (sqrt.f64 (log.f64 (fma.f64 x y x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 y x x)))) (sqrt.f64 (log.f64 (fma.f64 y x x))))
(sqrt.f64 (pow.f64 (fma.f64 x y x) 2))
(fma.f64 y x x)
(log.f64 (exp.f64 (fma.f64 x y x)))
(fma.f64 y x x)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x))))
(fma.f64 y x x)
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(fma.f64 y x x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 x) y)))
(fma.f64 y x x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(fma.f64 y x x)
(log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 x))))
(fma.f64 y x x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 x)))
(fma.f64 y x x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 x))))
(fma.f64 y x x)
(cbrt.f64 (pow.f64 (fma.f64 x y x) 3))
(fma.f64 y x x)
(expm1.f64 (log1p.f64 (fma.f64 x y x)))
(fma.f64 y x x)
(exp.f64 (log.f64 (fma.f64 x y x)))
(fma.f64 y x x)
(exp.f64 (*.f64 (log.f64 (fma.f64 x y x)) 1))
(fma.f64 y x x)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x y x)) 1) 1))
(fma.f64 y x x)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x y x))) 3))
(fma.f64 y x x)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x y x))) 1/3))
(fma.f64 y x x)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x y x)) 3) 1/3))
(fma.f64 y x x)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x y x))) 2))
(fma.f64 y x x)
(log1p.f64 (expm1.f64 (fma.f64 x y x)))
(fma.f64 y x x)
(fma.f64 x y x)
(fma.f64 y x x)
(fma.f64 x 1 (*.f64 x y))
(fma.f64 y x x)
(fma.f64 y x x)
(fma.f64 (*.f64 x y) 1 x)
(fma.f64 y x x)
(fma.f64 1 x (*.f64 x y))
(fma.f64 y x x)
(fma.f64 1 (*.f64 x y) x)
(fma.f64 y x x)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x y))
(fma.f64 y x x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x y))
(fma.f64 y x x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) x)
(fma.f64 y x x)
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) x)
(fma.f64 y x x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) x)
(fma.f64 y x x)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) x)
(fma.f64 y x x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x y))
(fma.f64 y x x)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) x)
(fma.f64 y x x)
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) x)
(fma.f64 y x x)
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) x)
(fma.f64 y x x)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) x)
(fma.f64 y x x)
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) x)
(fma.f64 y x x)
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) x)
(fma.f64 y x x)
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) x)
(fma.f64 y x x)
(-.f64 (exp.f64 (log1p.f64 (+.f64 x (fma.f64 x y y)))) 1)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(-.f64 (/.f64 (pow.f64 (fma.f64 x y x) 2) (-.f64 (fma.f64 x y x) y)) (/.f64 (*.f64 y y) (-.f64 (fma.f64 x y x) y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y y)) (-.f64 (fma.f64 y x x) y))
(*.f64 (+.f64 x (fma.f64 x y y)) 1)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(*.f64 1 (+.f64 x (fma.f64 x y y)))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(*.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2) (cbrt.f64 (+.f64 x (fma.f64 x y y))))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(*.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) (sqrt.f64 (+.f64 x (fma.f64 x y y))))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) 1) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2)))
(*.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (/.f64 1 (-.f64 (fma.f64 x y x) y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y y)) (-.f64 (fma.f64 y x x) y))
(/.f64 1 (/.f64 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)) (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) 1) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2)))
(/.f64 1 (/.f64 (-.f64 (fma.f64 x y x) y) (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y))))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y y)) (-.f64 (fma.f64 y x x) y))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) 1) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y (fma.f64 x y x)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) (fma.f64 y y (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y (fma.f64 y x x)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 (fma.f64 y x x) (-.f64 (fma.f64 y x x) y))))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (-.f64 (fma.f64 x y x) y))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y y)) (-.f64 (fma.f64 y x x) y))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))) (neg.f64 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) 1) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y))) (neg.f64 (-.f64 (fma.f64 x y x) y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y y)) (-.f64 (fma.f64 y x x) y))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (+.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (*.f64 x y) (+.f64 x y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (pow.f64 (+.f64 y x) 2) (*.f64 x (*.f64 y (+.f64 y x))))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (+.f64 y x) (-.f64 (+.f64 y x) (*.f64 y x)))))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y y)) (-.f64 (fma.f64 y x x) y))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (+.f64 x y) 2)) (-.f64 (*.f64 x y) (+.f64 x y)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (+.f64 y x) 2)) (-.f64 (*.f64 y x) (+.f64 y x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (+.f64 y x) 2)) (-.f64 (fma.f64 y x (neg.f64 y)) x))
(pow.f64 (+.f64 x (fma.f64 x y y)) 1)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 3)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 2) 1/2)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3) 1/3)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(pow.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) 2)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(pow.f64 (exp.f64 1) (log.f64 (+.f64 x (fma.f64 x y y))))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(pow.f64 (/.f64 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)) (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))) -1)
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) 1) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2)))
(pow.f64 (/.f64 (-.f64 (fma.f64 x y x) y) (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y))) -1)
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y y)) (-.f64 (fma.f64 y x x) y))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 x (fma.f64 x y y)))) 2)) (cbrt.f64 (log.f64 (+.f64 x (fma.f64 x y y)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 y (+.f64 1 x) x))) 2)) (cbrt.f64 (log.f64 (fma.f64 y (+.f64 1 x) x))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 y (fma.f64 y x x)))) 2)) (cbrt.f64 (log.f64 (+.f64 y (fma.f64 y x x)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 x (fma.f64 x y y))))) (sqrt.f64 (log.f64 (+.f64 x (fma.f64 x y y)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 y (+.f64 1 x) x)))) (sqrt.f64 (log.f64 (fma.f64 y (+.f64 1 x) x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 y (fma.f64 y x x))))) (sqrt.f64 (log.f64 (+.f64 y (fma.f64 y x x)))))
(sqrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 2))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(log.f64 (exp.f64 (+.f64 x (fma.f64 x y y))))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 x (fma.f64 x y y)))))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(log.f64 (*.f64 (exp.f64 y) (+.f64 1 (expm1.f64 (fma.f64 x y x)))))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (exp.f64 (fma.f64 x y x))))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (+.f64 1 (expm1.f64 (fma.f64 x y x)))))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 (+.f64 x y))))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(log.f64 (*.f64 (exp.f64 (fma.f64 x y x)) (+.f64 1 (expm1.f64 y))))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x))) (exp.f64 y)))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x))) (+.f64 1 (expm1.f64 y))))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (+.f64 1 (expm1.f64 (*.f64 x y)))))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(cbrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(expm1.f64 (log1p.f64 (+.f64 x (fma.f64 x y y))))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(exp.f64 (log.f64 (+.f64 x (fma.f64 x y y))))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(exp.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x y y))) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x y y))) 1) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y)))) 3))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3)) 1/3))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y)))) 2))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(log1p.f64 (expm1.f64 (+.f64 x (fma.f64 x y y))))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 x y (+.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 x y (*.f64 (+.f64 x y) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 x 1 (fma.f64 x y y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 x (+.f64 1 y) y)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 x (+.f64 y 1) y)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 y x (+.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 y x (*.f64 (+.f64 x y) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 y 1 (fma.f64 x y x))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (*.f64 x y) 1 (+.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (*.f64 x y) 1 (*.f64 (+.f64 x y) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (fma.f64 x y x) 1 y)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 1 x (fma.f64 x y y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 1 y (fma.f64 x y x))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 1 (*.f64 x y) (+.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 1 (*.f64 x y) (*.f64 (+.f64 x y) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 1 (fma.f64 x y x) y)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 1 (+.f64 x y) (*.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (cbrt.f64 (fma.f64 x y x)) (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) y)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x)) y)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (fma.f64 x y y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 x y y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (+.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 (+.f64 x y) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (+.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 (+.f64 x y) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (+.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 (+.f64 x y) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (fma.f64 x y x))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (fma.f64 x y x))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (+.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 (+.f64 x y) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x)) y)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 x y y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (+.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 (+.f64 x y) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (+.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 (+.f64 x y) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (fma.f64 x y x))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (+.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 (+.f64 x y) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) y)
(fma.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) y)
(+.f64 y (/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))
(+.f64 y (/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 x (neg.f64 y) x) (pow.f64 (*.f64 y x) 2))))
(fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (/.f64 1 (fma.f64 x y (neg.f64 x))) y)
(fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (/.f64 1 (fma.f64 x y (neg.f64 x))) y)
(+.f64 y (/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x)))
(+.f64 y (/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1))))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (+.f64 y 1) x y)
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (+.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 (+.f64 x y) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (+.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (+.f64 x y) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (+.f64 x y) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (+.f64 x y))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (+.f64 x y) 1))
(+.f64 y (fma.f64 y x x))
(fma.f64 y (+.f64 1 x) x)

eval76.0ms (2.4%)

Compiler

Compiled 4232 to 1484 computations (64.9% saved)

prune41.0ms (1.3%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New3187325
Fresh000
Picked101
Done202
Total3217328
Accurracy
100.0%
Counts
328 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
64.7%
(+.f64 (*.f64 y x) y)
61.7%
(+.f64 x (*.f64 y x))
75.0%
(+.f64 x y)
61.7%
(*.f64 (+.f64 y 1) x)
64.7%
(*.f64 (+.f64 x 1) y)
39.5%
y
38.3%
x
Compiler

Compiled 72 to 46 computations (36.1% saved)

localize17.0ms (0.5%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize23.0ms (0.7%)

Local Accuracy

Found 1 expressions with local accuracy:

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

Compiled 14 to 9 computations (35.7% saved)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite53.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1388×pow1
1282×log1p-expm1-u
1282×expm1-log1p-u
1280×add-exp-log
1256×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
114213
2177313
Stop Event
node limit
Counts
1 → 19
Calls
Call 1
Inputs
(*.f64 (+.f64 x 1) y)
Outputs
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 x y))
(+.f64 (*.f64 y x) y)
(+.f64 (*.f64 x y) y)
(-.f64 (+.f64 1 (+.f64 y (*.f64 y x))) 1)
(/.f64 (*.f64 y (+.f64 1 (pow.f64 x 3))) (fma.f64 x x (-.f64 1 x)))
(/.f64 (*.f64 y (fma.f64 x x -1)) (+.f64 x -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) y) (fma.f64 x x (-.f64 1 x)))
(/.f64 (*.f64 (fma.f64 x x -1) y) (+.f64 x -1))
(pow.f64 (+.f64 y (*.f64 y x)) 1)
(pow.f64 (cbrt.f64 (+.f64 y (*.f64 y x))) 3)
(pow.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) 2)
(sqrt.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2))
(log.f64 (pow.f64 (exp.f64 y) (+.f64 x 1)))
(cbrt.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3))
(expm1.f64 (log1p.f64 (+.f64 y (*.f64 y x))))
(exp.f64 (+.f64 (log1p.f64 x) (log.f64 y)))
(log1p.f64 (expm1.f64 (+.f64 y (*.f64 y x))))

simplify70.0ms (2.2%)

Algorithm
egg-herbie
Rules
1328×fma-def
1298×div-sub
596×*-commutative
592×associate-*r*
502×associate-*l*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
057445
1128441
2365433
32030433
44190433
56606433
Stop Event
node limit
Counts
43 → 26
Calls
Call 1
Inputs
y
(+.f64 (*.f64 y x) y)
(+.f64 (*.f64 y x) y)
(+.f64 (*.f64 y x) y)
(*.f64 y x)
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
(*.f64 y x)
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 x y))
(+.f64 (*.f64 y x) y)
(+.f64 (*.f64 x y) y)
(-.f64 (+.f64 1 (+.f64 y (*.f64 y x))) 1)
(/.f64 (*.f64 y (+.f64 1 (pow.f64 x 3))) (fma.f64 x x (-.f64 1 x)))
(/.f64 (*.f64 y (fma.f64 x x -1)) (+.f64 x -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) y) (fma.f64 x x (-.f64 1 x)))
(/.f64 (*.f64 (fma.f64 x x -1) y) (+.f64 x -1))
(pow.f64 (+.f64 y (*.f64 y x)) 1)
(pow.f64 (cbrt.f64 (+.f64 y (*.f64 y x))) 3)
(pow.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) 2)
(sqrt.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2))
(log.f64 (pow.f64 (exp.f64 y) (+.f64 x 1)))
(cbrt.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3))
(expm1.f64 (log1p.f64 (+.f64 y (*.f64 y x))))
(exp.f64 (+.f64 (log1p.f64 x) (log.f64 y)))
(log1p.f64 (expm1.f64 (+.f64 y (*.f64 y x))))
Outputs
y
(+.f64 (*.f64 y x) y)
(fma.f64 y x y)
(+.f64 (*.f64 y x) y)
(fma.f64 y x y)
(+.f64 (*.f64 y x) y)
(fma.f64 y x y)
(*.f64 y x)
(+.f64 y (*.f64 y x))
(fma.f64 y x y)
(+.f64 y (*.f64 y x))
(fma.f64 y x y)
(+.f64 y (*.f64 y x))
(fma.f64 y x y)
(*.f64 y x)
(+.f64 y (*.f64 y x))
(fma.f64 y x y)
(+.f64 y (*.f64 y x))
(fma.f64 y x y)
(+.f64 y (*.f64 y x))
(fma.f64 y x y)
(*.f64 (+.f64 1 x) y)
(fma.f64 y x y)
(*.f64 (+.f64 1 x) y)
(fma.f64 y x y)
(*.f64 (+.f64 1 x) y)
(fma.f64 y x y)
(*.f64 (+.f64 1 x) y)
(fma.f64 y x y)
(*.f64 (+.f64 1 x) y)
(fma.f64 y x y)
(*.f64 (+.f64 1 x) y)
(fma.f64 y x y)
(*.f64 (+.f64 1 x) y)
(fma.f64 y x y)
(*.f64 (+.f64 1 x) y)
(fma.f64 y x y)
(*.f64 (+.f64 1 x) y)
(fma.f64 y x y)
(*.f64 (+.f64 1 x) y)
(fma.f64 y x y)
(*.f64 (+.f64 1 x) y)
(fma.f64 y x y)
(*.f64 (+.f64 1 x) y)
(fma.f64 y x y)
(+.f64 y (*.f64 y x))
(fma.f64 y x y)
(+.f64 y (*.f64 x y))
(fma.f64 y x y)
(+.f64 (*.f64 y x) y)
(fma.f64 y x y)
(+.f64 (*.f64 x y) y)
(fma.f64 y x y)
(-.f64 (+.f64 1 (+.f64 y (*.f64 y x))) 1)
(fma.f64 y x y)
(/.f64 (*.f64 y (+.f64 1 (pow.f64 x 3))) (fma.f64 x x (-.f64 1 x)))
(*.f64 (/.f64 y (fma.f64 x x (-.f64 1 x))) (+.f64 1 (pow.f64 x 3)))
(/.f64 (fma.f64 y (pow.f64 x 3) y) (-.f64 (fma.f64 x x 1) x))
(/.f64 (*.f64 y (fma.f64 x x -1)) (+.f64 x -1))
(fma.f64 y x y)
(/.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) y) (fma.f64 x x (-.f64 1 x)))
(/.f64 (*.f64 y (+.f64 1 (pow.f64 x 3))) (fma.f64 x x (-.f64 1 x)))
(*.f64 (/.f64 y (fma.f64 x x (-.f64 1 x))) (+.f64 1 (pow.f64 x 3)))
(/.f64 (fma.f64 y (pow.f64 x 3) y) (-.f64 (fma.f64 x x 1) x))
(/.f64 (*.f64 (fma.f64 x x -1) y) (+.f64 x -1))
(fma.f64 y x y)
(pow.f64 (+.f64 y (*.f64 y x)) 1)
(fma.f64 y x y)
(pow.f64 (cbrt.f64 (+.f64 y (*.f64 y x))) 3)
(fma.f64 y x y)
(pow.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) 1/3)
(fma.f64 y x y)
(pow.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) 2)
(fma.f64 y x y)
(sqrt.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2))
(fma.f64 y x y)
(log.f64 (pow.f64 (exp.f64 y) (+.f64 x 1)))
(fma.f64 y x y)
(cbrt.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3))
(fma.f64 y x y)
(expm1.f64 (log1p.f64 (+.f64 y (*.f64 y x))))
(fma.f64 y x y)
(exp.f64 (+.f64 (log1p.f64 x) (log.f64 y)))
(*.f64 y (exp.f64 (log1p.f64 x)))
(log1p.f64 (expm1.f64 (+.f64 y (*.f64 y x))))
(fma.f64 y x y)

localize23.0ms (0.7%)

Local Accuracy

Found 1 expressions with local accuracy:

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

Compiled 14 to 9 computations (35.7% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite66.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1388×pow1
1282×log1p-expm1-u
1282×expm1-log1p-u
1280×add-exp-log
1256×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
114213
2177313
Stop Event
node limit
Counts
1 → 19
Calls
Call 1
Inputs
(*.f64 (+.f64 y 1) x)
Outputs
(+.f64 x (*.f64 x y))
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 x y) x)
(+.f64 (*.f64 y x) x)
(-.f64 (+.f64 1 (+.f64 x (*.f64 x y))) 1)
(/.f64 (*.f64 x (+.f64 1 (pow.f64 y 3))) (fma.f64 y y (-.f64 1 y)))
(/.f64 (*.f64 x (fma.f64 y y -1)) (+.f64 y -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 y 3)) x) (fma.f64 y y (-.f64 1 y)))
(/.f64 (*.f64 (fma.f64 y y -1) x) (+.f64 y -1))
(pow.f64 (+.f64 x (*.f64 x y)) 1)
(pow.f64 (cbrt.f64 (+.f64 x (*.f64 x y))) 3)
(pow.f64 (pow.f64 (+.f64 x (*.f64 x y)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 x (*.f64 x y))) 2)
(sqrt.f64 (pow.f64 (+.f64 x (*.f64 x y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y 1)))
(cbrt.f64 (pow.f64 (+.f64 x (*.f64 x y)) 3))
(expm1.f64 (log1p.f64 (+.f64 x (*.f64 x y))))
(exp.f64 (+.f64 (log1p.f64 y) (log.f64 x)))
(log1p.f64 (expm1.f64 (+.f64 x (*.f64 x y))))

simplify77.0ms (2.4%)

Algorithm
egg-herbie
Rules
1328×fma-def
1278×div-sub
618×*-commutative
588×associate-*r*
500×associate-*l*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
057445
1128441
2365433
32027433
44210433
56623433
Stop Event
node limit
Counts
43 → 28
Calls
Call 1
Inputs
x
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(+.f64 x (*.f64 x y))
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 x y) x)
(+.f64 (*.f64 y x) x)
(-.f64 (+.f64 1 (+.f64 x (*.f64 x y))) 1)
(/.f64 (*.f64 x (+.f64 1 (pow.f64 y 3))) (fma.f64 y y (-.f64 1 y)))
(/.f64 (*.f64 x (fma.f64 y y -1)) (+.f64 y -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 y 3)) x) (fma.f64 y y (-.f64 1 y)))
(/.f64 (*.f64 (fma.f64 y y -1) x) (+.f64 y -1))
(pow.f64 (+.f64 x (*.f64 x y)) 1)
(pow.f64 (cbrt.f64 (+.f64 x (*.f64 x y))) 3)
(pow.f64 (pow.f64 (+.f64 x (*.f64 x y)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 x (*.f64 x y))) 2)
(sqrt.f64 (pow.f64 (+.f64 x (*.f64 x y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y 1)))
(cbrt.f64 (pow.f64 (+.f64 x (*.f64 x y)) 3))
(expm1.f64 (log1p.f64 (+.f64 x (*.f64 x y))))
(exp.f64 (+.f64 (log1p.f64 y) (log.f64 x)))
(log1p.f64 (expm1.f64 (+.f64 x (*.f64 x y))))
Outputs
x
(+.f64 (*.f64 y x) x)
(fma.f64 x y x)
(+.f64 (*.f64 y x) x)
(fma.f64 x y x)
(+.f64 (*.f64 y x) x)
(fma.f64 x y x)
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 y x) x)
(fma.f64 x y x)
(+.f64 (*.f64 y x) x)
(fma.f64 x y x)
(+.f64 (*.f64 y x) x)
(fma.f64 x y x)
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 y x) x)
(fma.f64 x y x)
(+.f64 (*.f64 y x) x)
(fma.f64 x y x)
(+.f64 (*.f64 y x) x)
(fma.f64 x y x)
(*.f64 (+.f64 1 y) x)
(fma.f64 x y x)
(*.f64 (+.f64 1 y) x)
(fma.f64 x y x)
(*.f64 (+.f64 1 y) x)
(fma.f64 x y x)
(*.f64 (+.f64 1 y) x)
(fma.f64 x y x)
(*.f64 (+.f64 1 y) x)
(fma.f64 x y x)
(*.f64 (+.f64 1 y) x)
(fma.f64 x y x)
(*.f64 (+.f64 1 y) x)
(fma.f64 x y x)
(*.f64 (+.f64 1 y) x)
(fma.f64 x y x)
(*.f64 (+.f64 1 y) x)
(fma.f64 x y x)
(*.f64 (+.f64 1 y) x)
(fma.f64 x y x)
(*.f64 (+.f64 1 y) x)
(fma.f64 x y x)
(*.f64 (+.f64 1 y) x)
(fma.f64 x y x)
(+.f64 x (*.f64 x y))
(fma.f64 x y x)
(+.f64 x (*.f64 y x))
(fma.f64 x y x)
(+.f64 (*.f64 x y) x)
(fma.f64 x y x)
(+.f64 (*.f64 y x) x)
(fma.f64 x y x)
(-.f64 (+.f64 1 (+.f64 x (*.f64 x y))) 1)
(fma.f64 x y x)
(/.f64 (*.f64 x (+.f64 1 (pow.f64 y 3))) (fma.f64 y y (-.f64 1 y)))
(/.f64 x (/.f64 (fma.f64 y y (-.f64 1 y)) (+.f64 1 (pow.f64 y 3))))
(*.f64 (/.f64 x (fma.f64 y y (-.f64 1 y))) (+.f64 1 (pow.f64 y 3)))
(/.f64 (fma.f64 x (pow.f64 y 3) x) (-.f64 (fma.f64 y y 1) y))
(/.f64 (*.f64 x (fma.f64 y y -1)) (+.f64 y -1))
(fma.f64 x y x)
(/.f64 (*.f64 (+.f64 1 (pow.f64 y 3)) x) (fma.f64 y y (-.f64 1 y)))
(/.f64 x (/.f64 (fma.f64 y y (-.f64 1 y)) (+.f64 1 (pow.f64 y 3))))
(*.f64 (/.f64 x (fma.f64 y y (-.f64 1 y))) (+.f64 1 (pow.f64 y 3)))
(/.f64 (fma.f64 x (pow.f64 y 3) x) (-.f64 (fma.f64 y y 1) y))
(/.f64 (*.f64 (fma.f64 y y -1) x) (+.f64 y -1))
(fma.f64 x y x)
(pow.f64 (+.f64 x (*.f64 x y)) 1)
(fma.f64 x y x)
(pow.f64 (cbrt.f64 (+.f64 x (*.f64 x y))) 3)
(fma.f64 x y x)
(pow.f64 (pow.f64 (+.f64 x (*.f64 x y)) 3) 1/3)
(fma.f64 x y x)
(pow.f64 (sqrt.f64 (+.f64 x (*.f64 x y))) 2)
(fma.f64 x y x)
(sqrt.f64 (pow.f64 (+.f64 x (*.f64 x y)) 2))
(fma.f64 x y x)
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y 1)))
(fma.f64 x y x)
(cbrt.f64 (pow.f64 (+.f64 x (*.f64 x y)) 3))
(fma.f64 x y x)
(expm1.f64 (log1p.f64 (+.f64 x (*.f64 x y))))
(fma.f64 x y x)
(exp.f64 (+.f64 (log1p.f64 y) (log.f64 x)))
(*.f64 x (exp.f64 (log1p.f64 y)))
(log1p.f64 (expm1.f64 (+.f64 x (*.f64 x y))))
(fma.f64 x y x)

localize27.0ms (0.8%)

Local Accuracy

Found 1 expressions with local accuracy:

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

Compiled 13 to 5 computations (61.5% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite85.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
1472×pow1
1366×add-exp-log
1364×log1p-expm1-u
1364×expm1-log1p-u
1342×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

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

simplify88.0ms (2.8%)

Algorithm
egg-herbie
Rules
980×fma-neg
946×div-sub
830×cancel-sign-sub-inv
634×fma-def
560×distribute-lft-neg-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0104864
1251824
2844824
33808824
Stop Event
node limit
Counts
64 → 48
Calls
Call 1
Inputs
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
x
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(-.f64 (+.f64 1 (fma.f64 x y x)) 1)
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 x y))) (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 x (*.f64 x y))))
(*.f64 x (+.f64 y 1))
(*.f64 (fma.f64 x y x) 1)
(*.f64 1 (fma.f64 x y x))
(*.f64 (cbrt.f64 (fma.f64 x y x)) (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x)))
(*.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x)))
(*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x)))))
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (/.f64 1 (-.f64 x (*.f64 x y))))
(*.f64 (+.f64 y 1) x)
(*.f64 (*.f64 (+.f64 y 1) 1) x)
(*.f64 (*.f64 (+.f64 y 1) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (+.f64 y 1) (sqrt.f64 x)) (sqrt.f64 x))
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (-.f64 x (*.f64 x y)) (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x))))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 x y)))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (-.f64 x (*.f64 x y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x)))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2))) (neg.f64 (-.f64 x (*.f64 x y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (-.f64 (*.f64 x y) x))
(pow.f64 (fma.f64 x y x) 1)
(pow.f64 (cbrt.f64 (fma.f64 x y x)) 3)
(pow.f64 (pow.f64 (fma.f64 x y x) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x y x)) 2)
(sqrt.f64 (pow.f64 (fma.f64 x y x) 2))
(log.f64 (exp.f64 (fma.f64 x y x)))
(cbrt.f64 (pow.f64 (fma.f64 x y x) 3))
(expm1.f64 (log1p.f64 (fma.f64 x y x)))
(exp.f64 (log.f64 (fma.f64 x y x)))
(log1p.f64 (expm1.f64 (fma.f64 x y x)))
(fma.f64 x y x)
(fma.f64 y x x)
(fma.f64 1 x (*.f64 x y))
(fma.f64 1 (*.f64 x y) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x y))
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) x)
Outputs
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 (+.f64 1 y) x)
(fma.f64 y x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(fma.f64 y x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(fma.f64 y x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(fma.f64 y x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(fma.f64 y x x)
x
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(+.f64 (*.f64 y x) x)
(fma.f64 y x x)
(-.f64 (+.f64 1 (fma.f64 x y x)) 1)
(fma.f64 y x x)
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 x y))) (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 x (*.f64 x y))))
(fma.f64 y x x)
(*.f64 x (+.f64 y 1))
(fma.f64 y x x)
(*.f64 (fma.f64 x y x) 1)
(fma.f64 y x x)
(*.f64 1 (fma.f64 x y x))
(fma.f64 y x x)
(*.f64 (cbrt.f64 (fma.f64 x y x)) (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2))
(fma.f64 y x x)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x)))
(fma.f64 y x x)
(*.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x)))
(fma.f64 y x x)
(*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 x (*.f64 y (-.f64 (*.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (-.f64 (*.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (*.f64 x (+.f64 y -1))))))
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (/.f64 1 (-.f64 x (*.f64 x y))))
(fma.f64 y x x)
(*.f64 (+.f64 y 1) x)
(fma.f64 y x x)
(*.f64 (*.f64 (+.f64 y 1) 1) x)
(fma.f64 y x x)
(*.f64 (*.f64 (+.f64 y 1) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(fma.f64 y x x)
(*.f64 (*.f64 (+.f64 y 1) (sqrt.f64 x)) (sqrt.f64 x))
(fma.f64 y x x)
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 x (*.f64 y (-.f64 (*.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (-.f64 (*.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (*.f64 x (+.f64 y -1))))))
(/.f64 1 (/.f64 (-.f64 x (*.f64 x y)) (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2))))
(fma.f64 y x x)
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 x (*.f64 y (-.f64 (*.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (-.f64 (*.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (*.f64 x (+.f64 y -1))))))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 x y)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 x (*.f64 y (-.f64 (*.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (-.f64 (*.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (*.f64 x (+.f64 y -1))))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (-.f64 x (*.f64 x y)))
(fma.f64 y x x)
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 x (*.f64 y (-.f64 (*.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (-.f64 (*.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (*.f64 x (+.f64 y -1))))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2))) (neg.f64 (-.f64 x (*.f64 x y))))
(fma.f64 y x x)
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (-.f64 (*.f64 x y) x))
(fma.f64 y x x)
(pow.f64 (fma.f64 x y x) 1)
(fma.f64 y x x)
(pow.f64 (cbrt.f64 (fma.f64 x y x)) 3)
(fma.f64 y x x)
(pow.f64 (pow.f64 (fma.f64 x y x) 3) 1/3)
(fma.f64 y x x)
(pow.f64 (sqrt.f64 (fma.f64 x y x)) 2)
(fma.f64 y x x)
(sqrt.f64 (pow.f64 (fma.f64 x y x) 2))
(fma.f64 y x x)
(log.f64 (exp.f64 (fma.f64 x y x)))
(fma.f64 y x x)
(cbrt.f64 (pow.f64 (fma.f64 x y x) 3))
(fma.f64 y x x)
(expm1.f64 (log1p.f64 (fma.f64 x y x)))
(fma.f64 y x x)
(exp.f64 (log.f64 (fma.f64 x y x)))
(fma.f64 y x x)
(log1p.f64 (expm1.f64 (fma.f64 x y x)))
(fma.f64 y x x)
(fma.f64 x y x)
(fma.f64 y x x)
(fma.f64 y x x)
(fma.f64 1 x (*.f64 x y))
(fma.f64 y x x)
(fma.f64 1 (*.f64 x y) x)
(fma.f64 y x x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x y))
(fma.f64 y x x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) x)
(fma.f64 y x x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x y))
(fma.f64 y x x)
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) x)
(fma.f64 y x x)

localize20.0ms (0.6%)

Local Accuracy

Found 1 expressions with local accuracy:

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

Compiled 13 to 5 computations (61.5% saved)

series1.0ms (0%)

Counts
1 → 21
Calls

6 calls:

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

rewrite58.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
1450×pow1
1342×add-exp-log
1342×log1p-expm1-u
1342×expm1-log1p-u
1316×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

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

simplify73.0ms (2.3%)

Algorithm
egg-herbie
Rules
1022×associate-*r*
978×div-sub
976×associate-*l*
742×distribute-lft-neg-in
596×log-prod
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0981043
1238789
2755789
35060789
Stop Event
node limit
Counts
59 → 48
Calls
Call 1
Inputs
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
y
(*.f64 y x)
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
(*.f64 y x)
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
(-.f64 (+.f64 1 (fma.f64 y x y)) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 y x) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 y x) y)))
(*.f64 y (+.f64 1 x))
(*.f64 y (+.f64 x 1))
(*.f64 (fma.f64 y x y) 1)
(*.f64 1 (fma.f64 y x y))
(*.f64 (cbrt.f64 (fma.f64 y x y)) (pow.f64 (cbrt.f64 (fma.f64 y x y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x y)) 2) (cbrt.f64 (fma.f64 y x y)))
(*.f64 (sqrt.f64 (fma.f64 y x y)) (sqrt.f64 (fma.f64 y x y)))
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x))))))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y)) (/.f64 1 (-.f64 (*.f64 y x) y)))
(*.f64 (+.f64 x 1) y)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x)))) (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 y x) y) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (+.f64 (*.f64 y y) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (*.f64 y x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y)) (-.f64 (*.f64 y x) y))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 y x) y)))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 y x) 2)) (-.f64 y (*.f64 y x)))
(pow.f64 (fma.f64 y x y) 1)
(pow.f64 (cbrt.f64 (fma.f64 y x y)) 3)
(pow.f64 (pow.f64 (fma.f64 y x y) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 y x y)) 2)
(sqrt.f64 (pow.f64 (fma.f64 y x y) 2))
(log.f64 (exp.f64 (fma.f64 y x y)))
(cbrt.f64 (pow.f64 (fma.f64 y x y) 3))
(expm1.f64 (log1p.f64 (fma.f64 y x y)))
(exp.f64 (log.f64 (fma.f64 y x y)))
(log1p.f64 (expm1.f64 (fma.f64 y x y)))
(fma.f64 y x y)
(fma.f64 x y y)
(fma.f64 1 y (*.f64 y x))
(fma.f64 1 (*.f64 y x) y)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) y)
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y x))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) y)
Outputs
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
y
(*.f64 y x)
(*.f64 x y)
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 y x)
(*.f64 x y)
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(-.f64 (+.f64 1 (fma.f64 y x y)) 1)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 y x) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 y x) y)))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 y (+.f64 x 1))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 (fma.f64 y x y) 1)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 1 (fma.f64 y x y))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 (cbrt.f64 (fma.f64 y x y)) (pow.f64 (cbrt.f64 (fma.f64 y x y)) 2))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x y)) 2) (cbrt.f64 (fma.f64 y x y)))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 (sqrt.f64 (fma.f64 y x y)) (sqrt.f64 (fma.f64 y x y)))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x))))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 y (-.f64 y (*.f64 x y)))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 (*.f64 x y) (*.f64 y (+.f64 -1 x)) (*.f64 y y)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 x (*.f64 y (*.f64 y (+.f64 -1 x))))))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y)) (/.f64 1 (-.f64 (*.f64 y x) y)))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(*.f64 (+.f64 x 1) y)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x)))) (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 y (-.f64 y (*.f64 x y)))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 (*.f64 x y) (*.f64 y (+.f64 -1 x)) (*.f64 y y)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 x (*.f64 y (*.f64 y (+.f64 -1 x))))))
(/.f64 1 (/.f64 (-.f64 (*.f64 y x) y) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y))))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x)))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 y (-.f64 y (*.f64 x y)))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 (*.f64 x y) (*.f64 y (+.f64 -1 x)) (*.f64 y y)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 x (*.f64 y (*.f64 y (+.f64 -1 x))))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (+.f64 (*.f64 y y) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (*.f64 y x)))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 y (-.f64 y (*.f64 x y)))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 (*.f64 x y) (*.f64 y (+.f64 -1 x)) (*.f64 y y)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 x (*.f64 y (*.f64 y (+.f64 -1 x))))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y)) (-.f64 (*.f64 y x) y))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x))))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 y (-.f64 y (*.f64 x y)))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 (*.f64 x y) (*.f64 y (+.f64 -1 x)) (*.f64 y y)))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 x (*.f64 y (*.f64 y (+.f64 -1 x))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 y x) y)))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 y x) 2)) (-.f64 y (*.f64 y x)))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(pow.f64 (fma.f64 y x y) 1)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(pow.f64 (cbrt.f64 (fma.f64 y x y)) 3)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(pow.f64 (pow.f64 (fma.f64 y x y) 3) 1/3)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(pow.f64 (sqrt.f64 (fma.f64 y x y)) 2)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(sqrt.f64 (pow.f64 (fma.f64 y x y) 2))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(log.f64 (exp.f64 (fma.f64 y x y)))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(cbrt.f64 (pow.f64 (fma.f64 y x y) 3))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(expm1.f64 (log1p.f64 (fma.f64 y x y)))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(exp.f64 (log.f64 (fma.f64 y x y)))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(log1p.f64 (expm1.f64 (fma.f64 y x y)))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(fma.f64 y x y)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(fma.f64 x y y)
(*.f64 y (+.f64 1 x))
(fma.f64 1 y (*.f64 y x))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(fma.f64 1 (*.f64 y x) y)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y x))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) y)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y x))
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) y)
(*.f64 y (+.f64 1 x))
(fma.f64 x y y)

eval81.0ms (2.6%)

Compiler

Compiled 1483 to 602 computations (59.4% saved)

prune19.0ms (0.6%)

Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New1491150
Fresh022
Picked011
Done044
Total1498157
Accurracy
100.0%
Counts
157 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
64.7%
(+.f64 (*.f64 y x) y)
61.7%
(+.f64 x (*.f64 y x))
75.0%
(+.f64 x y)
61.7%
(*.f64 (+.f64 y 1) x)
64.7%
(*.f64 (+.f64 x 1) y)
26.7%
(*.f64 y x)
39.5%
y
38.3%
x
Compiler

Compiled 44 to 28 computations (36.4% saved)

localize16.0ms (0.5%)

Compiler

Compiled 8 to 4 computations (50% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune3.0ms (0.1%)

Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New000
Fresh022
Picked011
Done055
Total088
Accurracy
100.0%
Counts
8 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
64.7%
(+.f64 (*.f64 y x) y)
61.7%
(+.f64 x (*.f64 y x))
75.0%
(+.f64 x y)
61.7%
(*.f64 (+.f64 y 1) x)
64.7%
(*.f64 (+.f64 x 1) y)
26.7%
(*.f64 y x)
39.5%
y
38.3%
x
Compiler

Compiled 44 to 28 computations (36.4% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune3.0ms (0.1%)

Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done066
Total088
Accurracy
100.0%
Counts
8 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
64.7%
(+.f64 (*.f64 y x) y)
61.7%
(+.f64 x (*.f64 y x))
75.0%
(+.f64 x y)
61.7%
(*.f64 (+.f64 y 1) x)
64.7%
(*.f64 (+.f64 x 1) y)
26.7%
(*.f64 y x)
39.5%
y
38.3%
x
Compiler

Compiled 44 to 28 computations (36.4% saved)

regimes22.0ms (0.7%)

Counts
11 → 1
Calls
Call 1
Inputs
x
y
(*.f64 y x)
(+.f64 x y)
(*.f64 (+.f64 x 1) y)
(*.f64 (+.f64 y 1) x)
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) y)
(+.f64 (+.f64 (*.f64 x y) x) y)
(+.f64 x (fma.f64 x y y))
(+.f64 y (fma.f64 x y x))
Outputs
(+.f64 x (fma.f64 x y y))
Calls

3 calls:

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

Compiled 64 to 28 computations (56.3% saved)

regimes19.0ms (0.6%)

Counts
9 → 1
Calls
Call 1
Inputs
x
y
(*.f64 y x)
(+.f64 x y)
(*.f64 (+.f64 x 1) y)
(*.f64 (+.f64 y 1) x)
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) y)
(+.f64 (+.f64 (*.f64 x y) x) y)
Outputs
(+.f64 (+.f64 (*.f64 x y) x) y)
Calls

3 calls:

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

Compiled 52 to 24 computations (53.8% saved)

regimes32.0ms (1%)

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

2 calls:

16.0ms
x
15.0ms
y
Results
AccuracySegmentsBranch
99.4%3x
99.5%3y
Compiler

Compiled 36 to 16 computations (55.6% saved)

bsearch77.0ms (2.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
0.012826150787851083
502.5724346652822
64.0ms
-1.153620726015071e+34
-2.543898555156076e-55
Results
73.0ms332×body256valid
0.0msbody256infinite
Compiler

Compiled 282 to 185 computations (34.4% saved)

regimes32.0ms (1%)

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

2 calls:

16.0ms
x
15.0ms
y
Results
AccuracySegmentsBranch
99.4%3x
99.5%3y
Compiler

Compiled 31 to 15 computations (51.6% saved)

bsearch75.0ms (2.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
55.0ms
0.012826150787851083
502.5724346652822
20.0ms
-1.153620726015071e+34
-2.543898555156076e-55
Results
71.0ms331×body256valid
0.0msbody256infinite
Compiler

Compiled 282 to 193 computations (31.6% saved)

regimes36.0ms (1.1%)

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

2 calls:

21.0ms
y
14.0ms
x
Results
AccuracySegmentsBranch
84.3%4x
84.7%6y
Compiler

Compiled 16 to 8 computations (50% saved)

bsearch63.0ms (2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
10.0ms
1.110130254506973e+293
2.1607035916023287e+294
9.0ms
7.289935217217896e+278
1.6825868681325677e+279
9.0ms
3.126946169131931e+137
4.993170216499502e+138
15.0ms
2.591907581260743e+78
1.7139742846028758e+85
20.0ms
-1.153620726015071e+34
-2.543898555156076e-55
Results
43.0ms495×body256valid
13.0ms145×body256infinite
Compiler

Compiled 480 to 322 computations (32.9% saved)

regimes49.0ms (1.5%)

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

2 calls:

32.0ms
y
17.0ms
x
Results
AccuracySegmentsBranch
76.3%5x
77.1%9y
Compiler

Compiled 13 to 7 computations (46.2% saved)

bsearch98.0ms (3.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
1.110130254506973e+293
2.1607035916023287e+294
8.0ms
7.289935217217896e+278
1.6825868681325677e+279
9.0ms
3.126946169131931e+137
4.993170216499502e+138
15.0ms
2.591907581260743e+78
1.7139742846028758e+85
6.0ms
2.8350758659718187e-39
4.935903191879262e-39
14.0ms
7.903403326303496e-87
2.446818331087469e-81
12.0ms
6.743421340844461e-162
2.9276862353399705e-158
24.0ms
-1.153620726015071e+34
-2.543898555156076e-55
Results
77.0ms858×body256valid
10.0ms118×body256infinite
Compiler

Compiled 582 to 415 computations (28.7% saved)

regimes24.0ms (0.7%)

Accuracy

Total -41.2b remaining (-196.2%)

Threshold costs -41.2b (-196.2%)

Counts
2 → 4
Calls
Call 1
Inputs
x
y
Outputs
x
y
x
y
Calls

2 calls:

14.0ms
y
9.0ms
x
Results
AccuracySegmentsBranch
67.2%2x
67.2%4y
Compiler

Compiled 10 to 6 computations (40% saved)

bsearch69.0ms (2.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
6.0ms
2.8350758659718187e-39
4.935903191879262e-39
50.0ms
7.903403326303496e-87
2.446818331087469e-81
13.0ms
6.743421340844461e-162
2.9276862353399705e-158
Results
65.0ms335×body256valid
0.0msbody512valid
Compiler

Compiled 182 to 135 computations (25.8% saved)

simplify17.0ms (0.5%)

Algorithm
egg-herbie
Rules
12×not-or
12×+-commutative
10×if-if-or-not
10×if-not
not-not
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
072336
192336
298336
3107336
4112336
5117336
6118336
7120336
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 x (fma.f64 x y y))
(+.f64 (+.f64 (*.f64 x y) x) y)
(if (<=.f64 y -11000000000000000352321536) (*.f64 y x) (if (<=.f64 y 1) (+.f64 x y) (+.f64 (*.f64 y x) y)))
(if (<=.f64 y -999999999999999983222784) (*.f64 y x) (if (<=.f64 y 1) (+.f64 x y) (*.f64 (+.f64 x 1) y)))
(if (<=.f64 y -147999999999999991611392) (*.f64 y x) (if (<=.f64 y 19000000000000001663724468074365473034315392242237462751242828274811556449497382912) (+.f64 x y) (if (<=.f64 y 2600000000000000085388062471932807805366232672534990408332014908272742217936848788414403420632091272978268712439238332504486075648949878784) (*.f64 y x) (if (<=.f64 y 799999999999999970805494943673428466527218198263940612258515883889773970409921646501394742966563942398702279504009632302201518028351681750335545182350305162568532196644945893271749066902064720221602682491950039826674941039005913099987008109261515451294945670608599613955882614784) (+.f64 x y) (if (<=.f64 y 640000000000000008484223346148746411563939909733533442280450014588319534521872205735422682754519199982551976868217093823239870377600449650211311251375790827898073300176337577399107724003725735525087756917290390565474485476712742241414883949500257187841839960117382091427282493703363566432681984) (*.f64 y x) y)))))
(if (<=.f64 y -1) (*.f64 y x) (if (<=.f64 y 7172581642720031/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) x (if (<=.f64 y 6124302029392433/1093625362391505962186251113558810682676584715446606218212885303204976499599687961611756588511526912) y (if (<=.f64 y 7355978596156267/1532495540865888858358347027150309183618739122183602176) x (if (<=.f64 y 8999999999999999441501622397017478535254800663079350288396599867489511762007911563264) y (if (<=.f64 y 479999999999999966184752335549719596520117929394785626715559222283107116962758592280686288777958221199104979317828405508410373627669643264) (*.f64 y x) (if (<=.f64 y 799999999999999970805494943673428466527218198263940612258515883889773970409921646501394742966563942398702279504009632302201518028351681750335545182350305162568532196644945893271749066902064720221602682491950039826674941039005913099987008109261515451294945670608599613955882614784) y (if (<=.f64 y 275000000000000014724704044650515900901901276136053994922017940556461773726837531969011714942488993707433772753682501579095349891866932440829902294387294919522876568784626648714448611376666004729672543131928851768421078897484108273216416249056123797685007938293818424840048586581694419314933760) (*.f64 y x) y))))))))
(if (<=.f64 y 7172581642720031/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) x (if (<=.f64 y 3499601159652819/279968092772225526319680285071055534765205687154331191862498637620473983897520118172609686658950889472) y (if (<=.f64 y 3601364521034839/766247770432944429179173513575154591809369561091801088) x y)))
x
Outputs
(+.f64 x (fma.f64 x y y))
(+.f64 (+.f64 (*.f64 x y) x) y)
(+.f64 y (+.f64 x (*.f64 x y)))
(if (<=.f64 y -11000000000000000352321536) (*.f64 y x) (if (<=.f64 y 1) (+.f64 x y) (+.f64 (*.f64 y x) y)))
(if (<=.f64 y -11000000000000000352321536) (*.f64 x y) (if (<=.f64 y 1) (+.f64 x y) (+.f64 y (*.f64 x y))))
(if (<=.f64 y -999999999999999983222784) (*.f64 y x) (if (<=.f64 y 1) (+.f64 x y) (*.f64 (+.f64 x 1) y)))
(if (<=.f64 y -999999999999999983222784) (*.f64 x y) (if (<=.f64 y 1) (+.f64 x y) (*.f64 y (+.f64 x 1))))
(if (<=.f64 y -147999999999999991611392) (*.f64 y x) (if (<=.f64 y 19000000000000001663724468074365473034315392242237462751242828274811556449497382912) (+.f64 x y) (if (<=.f64 y 2600000000000000085388062471932807805366232672534990408332014908272742217936848788414403420632091272978268712439238332504486075648949878784) (*.f64 y x) (if (<=.f64 y 799999999999999970805494943673428466527218198263940612258515883889773970409921646501394742966563942398702279504009632302201518028351681750335545182350305162568532196644945893271749066902064720221602682491950039826674941039005913099987008109261515451294945670608599613955882614784) (+.f64 x y) (if (<=.f64 y 640000000000000008484223346148746411563939909733533442280450014588319534521872205735422682754519199982551976868217093823239870377600449650211311251375790827898073300176337577399107724003725735525087756917290390565474485476712742241414883949500257187841839960117382091427282493703363566432681984) (*.f64 y x) y)))))
(if (<=.f64 y -147999999999999991611392) (*.f64 x y) (if (<=.f64 y 19000000000000001663724468074365473034315392242237462751242828274811556449497382912) (+.f64 x y) (if (<=.f64 y 2600000000000000085388062471932807805366232672534990408332014908272742217936848788414403420632091272978268712439238332504486075648949878784) (*.f64 x y) (if (<=.f64 y 799999999999999970805494943673428466527218198263940612258515883889773970409921646501394742966563942398702279504009632302201518028351681750335545182350305162568532196644945893271749066902064720221602682491950039826674941039005913099987008109261515451294945670608599613955882614784) (+.f64 x y) (if (<=.f64 y 640000000000000008484223346148746411563939909733533442280450014588319534521872205735422682754519199982551976868217093823239870377600449650211311251375790827898073300176337577399107724003725735525087756917290390565474485476712742241414883949500257187841839960117382091427282493703363566432681984) (*.f64 x y) y)))))
(if (<=.f64 y -1) (*.f64 y x) (if (<=.f64 y 7172581642720031/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) x (if (<=.f64 y 6124302029392433/1093625362391505962186251113558810682676584715446606218212885303204976499599687961611756588511526912) y (if (<=.f64 y 7355978596156267/1532495540865888858358347027150309183618739122183602176) x (if (<=.f64 y 8999999999999999441501622397017478535254800663079350288396599867489511762007911563264) y (if (<=.f64 y 479999999999999966184752335549719596520117929394785626715559222283107116962758592280686288777958221199104979317828405508410373627669643264) (*.f64 y x) (if (<=.f64 y 799999999999999970805494943673428466527218198263940612258515883889773970409921646501394742966563942398702279504009632302201518028351681750335545182350305162568532196644945893271749066902064720221602682491950039826674941039005913099987008109261515451294945670608599613955882614784) y (if (<=.f64 y 275000000000000014724704044650515900901901276136053994922017940556461773726837531969011714942488993707433772753682501579095349891866932440829902294387294919522876568784626648714448611376666004729672543131928851768421078897484108273216416249056123797685007938293818424840048586581694419314933760) (*.f64 y x) y))))))))
(if (<=.f64 y -1) (*.f64 x y) (if (<=.f64 y 7172581642720031/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) x (if (<=.f64 y 6124302029392433/1093625362391505962186251113558810682676584715446606218212885303204976499599687961611756588511526912) y (if (<=.f64 y 7355978596156267/1532495540865888858358347027150309183618739122183602176) x (if (<=.f64 y 8999999999999999441501622397017478535254800663079350288396599867489511762007911563264) y (if (<=.f64 y 479999999999999966184752335549719596520117929394785626715559222283107116962758592280686288777958221199104979317828405508410373627669643264) (*.f64 x y) (if (<=.f64 y 799999999999999970805494943673428466527218198263940612258515883889773970409921646501394742966563942398702279504009632302201518028351681750335545182350305162568532196644945893271749066902064720221602682491950039826674941039005913099987008109261515451294945670608599613955882614784) y (if (<=.f64 y 275000000000000014724704044650515900901901276136053994922017940556461773726837531969011714942488993707433772753682501579095349891866932440829902294387294919522876568784626648714448611376666004729672543131928851768421078897484108273216416249056123797685007938293818424840048586581694419314933760) (*.f64 x y) y))))))))
(if (<=.f64 y 7172581642720031/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) x (if (<=.f64 y 3499601159652819/279968092772225526319680285071055534765205687154331191862498637620473983897520118172609686658950889472) y (if (<=.f64 y 3601364521034839/766247770432944429179173513575154591809369561091801088) x y)))
x
Compiler

Compiled 167 to 92 computations (44.9% saved)

soundness126.0ms (4%)

Rules
1636×fma-neg
1070×div-sub
854×associate-*r*
806×associate-*l*
568×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
11415
22715
33815
44815
56115
68315
710515
811215
911315
0715
11415
22715
33815
44815
56115
68315
710515
811215
911315
01021311
12551281
28061265
350481265
Stop Event
node limit
saturated
saturated
Compiler

Compiled 63 to 27 computations (57.1% saved)

end138.0ms (4.3%)

Remove

(sort x y)

Compiler

Compiled 340 to 162 computations (52.4% saved)

Profiling

Loading profile data...