SynthBasics:oscSampleBasedAux from YampaSynth-0.2

Time bar (total: 3.8s)

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 11 to 7 computations (36.4% saved)

sample1.5s (39.5%)

Results
1.3s6537×body256valid
229.0ms1719×body256infinite
Bogosity

preprocess226.0ms (5.9%)

Algorithm
egg-herbie
Rules
2166×fma-def
822×fma-neg
482×distribute-rgt-in
368×unsub-neg
340×distribute-lft-in
Problems
256×No Errors
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
036377
178321
2237317
3836317
41871317
53189317
63481317
73513317
83513317
94148317
104148317
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 x (*.f64 y (-.f64 z x)))
(+.f64 x (*.f64 y (-.f64 z x)))
(+.f64 (neg.f64 x) (*.f64 y (-.f64 z (neg.f64 x))))
(+.f64 x (*.f64 (neg.f64 y) (-.f64 z x)))
(+.f64 x (*.f64 y (-.f64 (neg.f64 z) x)))
(neg.f64 (+.f64 (neg.f64 x) (*.f64 y (-.f64 z (neg.f64 x)))))
(neg.f64 (+.f64 x (*.f64 (neg.f64 y) (-.f64 z x))))
(neg.f64 (+.f64 x (*.f64 y (-.f64 (neg.f64 z) x))))
(+.f64 y (*.f64 x (-.f64 z y)))
(+.f64 z (*.f64 y (-.f64 x z)))
(+.f64 x (*.f64 z (-.f64 y x)))
Outputs
(+.f64 x (*.f64 y (-.f64 z x)))
(fma.f64 y (-.f64 z x) x)
(+.f64 x (*.f64 y (-.f64 z x)))
(fma.f64 y (-.f64 z x) x)
(+.f64 (neg.f64 x) (*.f64 y (-.f64 z (neg.f64 x))))
(-.f64 (*.f64 y (+.f64 x z)) x)
(fma.f64 y (+.f64 x z) (neg.f64 x))
(+.f64 x (*.f64 (neg.f64 y) (-.f64 z x)))
(+.f64 x (*.f64 (-.f64 z x) (neg.f64 y)))
(-.f64 x (*.f64 y (-.f64 z x)))
(fma.f64 y (-.f64 x z) x)
(+.f64 x (*.f64 y (-.f64 (neg.f64 z) x)))
(-.f64 x (*.f64 y (+.f64 x z)))
(fma.f64 y (-.f64 (neg.f64 x) z) x)
(neg.f64 (+.f64 (neg.f64 x) (*.f64 y (-.f64 z (neg.f64 x)))))
(+.f64 x (*.f64 y (-.f64 (neg.f64 z) x)))
(-.f64 x (*.f64 y (+.f64 x z)))
(fma.f64 y (-.f64 (neg.f64 x) z) x)
(neg.f64 (+.f64 x (*.f64 (neg.f64 y) (-.f64 z x))))
(neg.f64 (+.f64 x (*.f64 (-.f64 z x) (neg.f64 y))))
(-.f64 (*.f64 y (-.f64 z x)) x)
(neg.f64 (fma.f64 y (-.f64 x z) x))
(neg.f64 (+.f64 x (*.f64 y (-.f64 (neg.f64 z) x))))
(+.f64 (neg.f64 x) (*.f64 y (-.f64 z (neg.f64 x))))
(-.f64 (*.f64 y (+.f64 x z)) x)
(fma.f64 y (+.f64 x z) (neg.f64 x))
(+.f64 y (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) y)
(+.f64 z (*.f64 y (-.f64 x z)))
(fma.f64 y (-.f64 x z) z)
(+.f64 x (*.f64 z (-.f64 y x)))
(fma.f64 z (-.f64 y x) x)
Compiler

Compiled 32 to 13 computations (59.4% saved)

eval0.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

prune3.0ms (0.1%)

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

Compiled 38 to 22 computations (42.1% saved)

localize38.0ms (1%)

Localize:

Found 1 expressions with local error:

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

Compiled 34 to 8 computations (76.5% saved)

series4.0ms (0.1%)

Counts
1 → 27
Calls

9 calls:

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

rewrite214.0ms (5.6%)

Algorithm
batch-egg-rewrite
Rules
810×fma-def
806×log1p-expm1-u
806×expm1-log1p-u
734×log-prod
640×pow-prod-down
Iterations

Useful iterations: 1 (0.0ms)

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

simplify84.0ms (2.2%)

Algorithm
egg-herbie
Rules
1278×div-sub
708×fma-def
702×fma-neg
602×distribute-lft-in
580×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01743963
14313235
211453235
346302889
Stop Event
node limit
Counts
90 → 78
Calls
Call 1
Inputs
(*.f64 y z)
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 y))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 y))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 y))) (*.f64 y z))
(*.f64 x (+.f64 1 (*.f64 -1 y)))
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 y))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 y))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 y))) (*.f64 y z))
(*.f64 -1 (*.f64 x (-.f64 y 1)))
(+.f64 (*.f64 -1 (*.f64 x (-.f64 y 1))) (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 x (-.f64 y 1))) (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 x (-.f64 y 1))) (*.f64 y z))
x
(*.f64 y (-.f64 z x))
(*.f64 y (-.f64 z x))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(*.f64 y z)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(*.f64 y z)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (-.f64 z x) x))) 1)
(-.f64 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 y (-.f64 z x)))) (/.f64 (pow.f64 (*.f64 y (-.f64 z x)) 2) (-.f64 x (*.f64 y (-.f64 z x)))))
(*.f64 (fma.f64 y (-.f64 z x) x) 1)
(*.f64 (fma.f64 y (-.f64 z x) x) (log.f64 (exp.f64 1)))
(*.f64 1 (fma.f64 y (-.f64 z x) x))
(*.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 2) (cbrt.f64 (fma.f64 y (-.f64 z x) x)))
(*.f64 (sqrt.f64 (fma.f64 y (-.f64 z x) x)) (sqrt.f64 (fma.f64 y (-.f64 z x) x)))
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2))))
(*.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (/.f64 1 (-.f64 x (*.f64 y (-.f64 z x)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2)) (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (-.f64 x (*.f64 y (-.f64 z x))) (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 2) (-.f64 (pow.f64 x 2) (*.f64 (*.f64 x y) (-.f64 z x)))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2))) (neg.f64 (-.f64 x (*.f64 y (-.f64 z x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 z x)) 2) (pow.f64 x 2)) (fma.f64 y (-.f64 z x) (neg.f64 x)))
(pow.f64 (fma.f64 y (-.f64 z x) x) 1)
(pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 3)
(pow.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 y (-.f64 z x) x)) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2)) (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3))) -1)
(pow.f64 (/.f64 (-.f64 x (*.f64 y (-.f64 z x))) (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2))) -1)
(sqrt.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 2))
(log.f64 (exp.f64 (fma.f64 y (-.f64 z x) x)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (-.f64 z x) x))))
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (-.f64 z x)) y)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (-.f64 z x)) y) (+.f64 1 (expm1.f64 x))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))) (exp.f64 x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))) (+.f64 1 (expm1.f64 x))))
(cbrt.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 3))
(expm1.f64 (log1p.f64 (fma.f64 y (-.f64 z x) x)))
(exp.f64 (log.f64 (fma.f64 y (-.f64 z x) x)))
(exp.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 z x) x)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 z x) x)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 y (-.f64 z x) x))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y (-.f64 z x) x))) 2))
(log1p.f64 (expm1.f64 (fma.f64 y (-.f64 z x) x)))
(fma.f64 x 1 (*.f64 y (-.f64 z x)))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (-.f64 z x) y x)
(fma.f64 (*.f64 y (-.f64 z x)) 1 x)
(fma.f64 1 x (*.f64 y (-.f64 z x)))
(fma.f64 1 (*.f64 y (-.f64 z x)) x)
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 z x)) 2) (*.f64 (cbrt.f64 (-.f64 z x)) y) x)
(fma.f64 (cbrt.f64 (*.f64 y (-.f64 z x))) (pow.f64 (cbrt.f64 (*.f64 y (-.f64 z x))) 2) x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (-.f64 z x))) 2) (cbrt.f64 (*.f64 y (-.f64 z x))) x)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 y (-.f64 z x)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y (-.f64 z x)))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 z x)) x)
(fma.f64 (sqrt.f64 (-.f64 z x)) (*.f64 (sqrt.f64 (-.f64 z x)) y) x)
(fma.f64 (sqrt.f64 (*.f64 y (-.f64 z x))) (sqrt.f64 (*.f64 y (-.f64 z x))) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y (-.f64 z x)))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 z x)) x)
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 z x)) 2)) (cbrt.f64 (-.f64 z x)) x)
(fma.f64 (*.f64 y (sqrt.f64 (-.f64 z x))) (sqrt.f64 (-.f64 z x)) x)
(fma.f64 (*.f64 (-.f64 z x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) x)
(fma.f64 (*.f64 (-.f64 z x) (sqrt.f64 y)) (sqrt.f64 y) x)
Outputs
(*.f64 y z)
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 y))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 y))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 y))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(*.f64 x (+.f64 1 (*.f64 -1 y)))
(*.f64 x (+.f64 1 (neg.f64 y)))
(*.f64 x (-.f64 1 y))
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 y))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 y))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 y))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(*.f64 -1 (*.f64 x (-.f64 y 1)))
(*.f64 x (+.f64 1 (neg.f64 y)))
(*.f64 x (-.f64 1 y))
(+.f64 (*.f64 -1 (*.f64 x (-.f64 y 1))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(+.f64 (*.f64 -1 (*.f64 x (-.f64 y 1))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(+.f64 (*.f64 -1 (*.f64 x (-.f64 y 1))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
x
(*.f64 y (-.f64 z x))
(*.f64 y (-.f64 z x))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(*.f64 x (+.f64 1 (neg.f64 y)))
(*.f64 x (-.f64 1 y))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(*.f64 y z)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(*.f64 y z)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (-.f64 z x) x))) 1)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(-.f64 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 y (-.f64 z x)))) (/.f64 (pow.f64 (*.f64 y (-.f64 z x)) 2) (-.f64 x (*.f64 y (-.f64 z x)))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x))))
(/.f64 (fma.f64 y (-.f64 z x) x) 1)
(*.f64 (fma.f64 y (-.f64 z x) x) 1)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(*.f64 (fma.f64 y (-.f64 z x) x) (log.f64 (exp.f64 1)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(*.f64 1 (fma.f64 y (-.f64 z x) x))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(*.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 2))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 2) (cbrt.f64 (fma.f64 y (-.f64 z x) x)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(*.f64 (sqrt.f64 (fma.f64 y (-.f64 z x) x)) (sqrt.f64 (fma.f64 y (-.f64 z x) x)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 y (*.f64 (-.f64 z x) (-.f64 (*.f64 y (-.f64 z x)) x)) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 y (-.f64 x z) x) (pow.f64 (*.f64 y (-.f64 z x)) 2)))
(*.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (/.f64 1 (-.f64 x (*.f64 y (-.f64 z x)))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x))))
(/.f64 (fma.f64 y (-.f64 z x) x) 1)
(/.f64 1 (/.f64 (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2)) (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3))))
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 y (*.f64 (-.f64 z x) (-.f64 (*.f64 y (-.f64 z x)) x)) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 y (-.f64 x z) x) (pow.f64 (*.f64 y (-.f64 z x)) 2)))
(/.f64 1 (/.f64 (-.f64 x (*.f64 y (-.f64 z x))) (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x))))
(/.f64 (fma.f64 y (-.f64 z x) x) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2)))
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 y (*.f64 (-.f64 z x) (-.f64 (*.f64 y (-.f64 z x)) x)) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 y (-.f64 x z) x) (pow.f64 (*.f64 y (-.f64 z x)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 2) (-.f64 (pow.f64 x 2) (*.f64 (*.f64 x y) (-.f64 z x)))))
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 y (*.f64 (-.f64 z x) (-.f64 (*.f64 y (-.f64 z x)) x)) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 y (-.f64 x z) x) (pow.f64 (*.f64 y (-.f64 z x)) 2)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x))))
(/.f64 (fma.f64 y (-.f64 z x) x) 1)
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2))))
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 y (*.f64 (-.f64 z x) (-.f64 (*.f64 y (-.f64 z x)) x)) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 y (-.f64 x z) x) (pow.f64 (*.f64 y (-.f64 z x)) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2))) (neg.f64 (-.f64 x (*.f64 y (-.f64 z x)))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x))))
(/.f64 (fma.f64 y (-.f64 z x) x) 1)
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 z x)) 2) (pow.f64 x 2)) (fma.f64 y (-.f64 z x) (neg.f64 x)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x))))
(/.f64 (fma.f64 y (-.f64 z x) x) 1)
(pow.f64 (fma.f64 y (-.f64 z x) x) 1)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 3)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(pow.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 2) 1/2)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(pow.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 3) 1/3)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(pow.f64 (sqrt.f64 (fma.f64 y (-.f64 z x) x)) 2)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(pow.f64 (/.f64 (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2)) (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3))) -1)
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 y (*.f64 (-.f64 z x) (-.f64 (*.f64 y (-.f64 z x)) x)) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 y (-.f64 x z) x) (pow.f64 (*.f64 y (-.f64 z x)) 2)))
(pow.f64 (/.f64 (-.f64 x (*.f64 y (-.f64 z x))) (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2))) -1)
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x))))
(/.f64 (fma.f64 y (-.f64 z x) x) 1)
(sqrt.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 2))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(log.f64 (exp.f64 (fma.f64 y (-.f64 z x) x)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (-.f64 z x) x))))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x))))))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (-.f64 z x)) y)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x))))))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(log.f64 (*.f64 (pow.f64 (exp.f64 (-.f64 z x)) y) (+.f64 1 (expm1.f64 x))))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))) (exp.f64 x)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))) (+.f64 1 (expm1.f64 x))))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(cbrt.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 3))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(expm1.f64 (log1p.f64 (fma.f64 y (-.f64 z x) x)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(exp.f64 (log.f64 (fma.f64 y (-.f64 z x) x)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(exp.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 z x) x)) 1))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 z x) x)) 1) 1))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x))) 3))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 y (-.f64 z x) x))) 1/3))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y (-.f64 z x) x))) 2))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(log1p.f64 (expm1.f64 (fma.f64 y (-.f64 z x) x)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 x 1 (*.f64 y (-.f64 z x)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 y (-.f64 z x) x)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 (-.f64 z x) y x)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (*.f64 y (-.f64 z x)) 1 x)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 1 x (*.f64 y (-.f64 z x)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 1 (*.f64 y (-.f64 z x)) x)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 z x)) 2) (*.f64 (cbrt.f64 (-.f64 z x)) y) x)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (cbrt.f64 (*.f64 y (-.f64 z x))) (pow.f64 (cbrt.f64 (*.f64 y (-.f64 z x))) 2) x)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (-.f64 z x))) 2) (cbrt.f64 (*.f64 y (-.f64 z x))) x)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 y (-.f64 z x)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y (-.f64 z x)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 z x)) x)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (sqrt.f64 (-.f64 z x)) (*.f64 (sqrt.f64 (-.f64 z x)) y) x)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (sqrt.f64 (*.f64 y (-.f64 z x))) (sqrt.f64 (*.f64 y (-.f64 z x))) x)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y (-.f64 z x)))
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 z x)) x)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 z x)) 2)) (cbrt.f64 (-.f64 z x)) x)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (*.f64 y (sqrt.f64 (-.f64 z x))) (sqrt.f64 (-.f64 z x)) x)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (*.f64 (-.f64 z x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) x)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)
(fma.f64 (*.f64 (-.f64 z x) (sqrt.f64 y)) (sqrt.f64 y) x)
(fma.f64 x (+.f64 1 (neg.f64 y)) (*.f64 y z))
(fma.f64 y (-.f64 z x) x)

eval16.0ms (0.4%)

Compiler

Compiled 1020 to 351 computations (65.6% saved)

prune16.0ms (0.4%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New74478
Fresh000
Picked022
Done000
Total74680
Accuracy
100.0%
Counts
80 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 y (-.f64 z x) x)
100.0%
(+.f64 x (*.f64 y (-.f64 z x)))
62.2%
(*.f64 y (-.f64 z x))
39.1%
(*.f64 y z)
65.5%
(*.f64 x (-.f64 1 y))
39.7%
x
100.0%
(fma.f64 y (-.f64 z x) x)
100.0%
(+.f64 x (*.f64 y (-.f64 z x)))
62.2%
(*.f64 y (-.f64 z x))
39.1%
(*.f64 y z)
65.5%
(*.f64 x (-.f64 1 y))
39.7%
x
Compiler

Compiled 90 to 58 computations (35.6% saved)

localize44.0ms (1.1%)

Localize:

Found 1 expressions with local error:

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

Compiled 31 to 13 computations (58.1% saved)

series5.0ms (0.1%)

Counts
1 → 12
Calls

6 calls:

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

rewrite73.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
634×unpow-prod-down
458×log-prod
453×log1p-expm1-u
453×expm1-log1p-u
452×cbrt-prod
Iterations

Useful iterations: 0 (0.0ms)

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

simplify84.0ms (2.2%)

Algorithm
egg-herbie
Rules
1616×log-prod
762×associate-*r*
648×associate-*l*
620×fma-neg
500×prod-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01021322
12361130
25911130
334151130
470871130
Stop Event
node limit
Counts
49 → 53
Calls
Call 1
Inputs
x
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(*.f64 -1 (*.f64 x y))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(*.f64 -1 (*.f64 x y))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (*.f64 (neg.f64 y) x))
(+.f64 0 (*.f64 x (-.f64 1 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 y)))))
(-.f64 (+.f64 1 (*.f64 x (-.f64 1 y))) 1)
(/.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (fma.f64 y (+.f64 1 y) 1))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 y 2))) (+.f64 1 y))
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) x) (fma.f64 y (+.f64 1 y) 1))
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 2)) x) (+.f64 1 y))
(pow.f64 (*.f64 x (-.f64 1 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 y))) 3)
(pow.f64 (pow.f64 (*.f64 x (-.f64 1 y)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 x (-.f64 1 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 1 y))) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 x (-.f64 1 y))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (-.f64 1 y)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (-.f64 1 y)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (-.f64 1 y))))) (sqrt.f64 (log.f64 (*.f64 x (-.f64 1 y)))))
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 1 y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (-.f64 1 y)))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 1 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 1 y))))
(exp.f64 (log.f64 (*.f64 x (-.f64 1 y))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (-.f64 1 y)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (-.f64 1 y)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (-.f64 1 y)))) 2))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 1 y))))
(fma.f64 x 1 (*.f64 x (neg.f64 y)))
(fma.f64 x 1 (*.f64 (neg.f64 y) x))
(fma.f64 1 x (*.f64 x (neg.f64 y)))
(fma.f64 1 x (*.f64 (neg.f64 y) x))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x (neg.f64 y)))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (neg.f64 y) x))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x (neg.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (neg.f64 y) x))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x (neg.f64 y)))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (neg.f64 y) x))
Outputs
x
(+.f64 x (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(*.f64 -1 (*.f64 x y))
(*.f64 x (neg.f64 y))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(*.f64 -1 (*.f64 x y))
(*.f64 x (neg.f64 y))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(+.f64 x (*.f64 x (neg.f64 y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(+.f64 x (*.f64 (neg.f64 y) x))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(+.f64 0 (*.f64 x (-.f64 1 y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 y)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 y))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 y)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 y)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 y)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 y)))))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(-.f64 (+.f64 1 (*.f64 x (-.f64 1 y))) 1)
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (fma.f64 y (+.f64 1 y) 1))
(/.f64 (-.f64 1 (pow.f64 y 3)) (/.f64 (fma.f64 y (+.f64 y 1) 1) x))
(*.f64 (/.f64 x (fma.f64 y (+.f64 y 1) 1)) (-.f64 1 (pow.f64 y 3)))
(*.f64 x (/.f64 (-.f64 1 (pow.f64 y 3)) (fma.f64 y (+.f64 y 1) 1)))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 y 2))) (+.f64 1 y))
(/.f64 (-.f64 1 (pow.f64 y 2)) (/.f64 (+.f64 y 1) x))
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 1 (pow.f64 y 2)))
(*.f64 x (/.f64 (-.f64 1 (pow.f64 y 2)) (+.f64 y 1)))
(*.f64 (-.f64 1 (pow.f64 y 2)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) x) (fma.f64 y (+.f64 1 y) 1))
(/.f64 (-.f64 1 (pow.f64 y 3)) (/.f64 (fma.f64 y (+.f64 y 1) 1) x))
(*.f64 (/.f64 x (fma.f64 y (+.f64 y 1) 1)) (-.f64 1 (pow.f64 y 3)))
(*.f64 x (/.f64 (-.f64 1 (pow.f64 y 3)) (fma.f64 y (+.f64 y 1) 1)))
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 2)) x) (+.f64 1 y))
(/.f64 (-.f64 1 (pow.f64 y 2)) (/.f64 (+.f64 y 1) x))
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 1 (pow.f64 y 2)))
(*.f64 x (/.f64 (-.f64 1 (pow.f64 y 2)) (+.f64 y 1)))
(*.f64 (-.f64 1 (pow.f64 y 2)) (/.f64 x (+.f64 y 1)))
(pow.f64 (*.f64 x (-.f64 1 y)) 1)
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 y))) 3)
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(pow.f64 (pow.f64 (*.f64 x (-.f64 1 y)) 2) 1/2)
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(pow.f64 (pow.f64 (*.f64 x (-.f64 1 y)) 3) 1/3)
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 1 y))) 2)
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(pow.f64 (E.f64) (log.f64 (*.f64 x (-.f64 1 y))))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (-.f64 1 y)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (-.f64 1 y)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (-.f64 1 y))))) (sqrt.f64 (log.f64 (*.f64 x (-.f64 1 y)))))
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 1 y)) 2))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(log.f64 (pow.f64 (exp.f64 x) (-.f64 1 y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 1 y)) 3))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 1 y))))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(exp.f64 (log.f64 (*.f64 x (-.f64 1 y))))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (-.f64 1 y)))) 3))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (-.f64 1 y)))) 1/3))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (-.f64 1 y)))) 2))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 1 y))))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(fma.f64 x 1 (*.f64 x (neg.f64 y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(fma.f64 x 1 (*.f64 (neg.f64 y) x))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(fma.f64 1 x (*.f64 x (neg.f64 y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(fma.f64 1 x (*.f64 (neg.f64 y) x))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x (neg.f64 y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (neg.f64 y) x))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x (neg.f64 y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (neg.f64 y) x))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x (neg.f64 y)))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (neg.f64 y) x))
(*.f64 (+.f64 (neg.f64 y) 1) x)
(*.f64 x (-.f64 1 y))

eval18.0ms (0.5%)

Compiler

Compiled 518 to 325 computations (37.3% saved)

prune11.0ms (0.3%)

Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New51253
Fresh011
Picked033
Done022
Total51859
Accuracy
100.0%
Counts
59 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 y (-.f64 z x) x)
65.5%
(+.f64 x (*.f64 (neg.f64 y) x))
100.0%
(+.f64 x (*.f64 y (-.f64 z x)))
62.2%
(*.f64 y (-.f64 z x))
39.1%
(*.f64 y z)
65.5%
(*.f64 x (-.f64 1 y))
27.7%
(*.f64 x (neg.f64 y))
39.7%
x
100.0%
(fma.f64 y (-.f64 z x) x)
65.5%
(+.f64 x (*.f64 (neg.f64 y) x))
100.0%
(+.f64 x (*.f64 y (-.f64 z x)))
62.2%
(*.f64 y (-.f64 z x))
39.1%
(*.f64 y z)
65.5%
(*.f64 x (-.f64 1 y))
27.7%
(*.f64 x (neg.f64 y))
39.7%
x
Compiler

Compiled 122 to 80 computations (34.4% saved)

localize32.0ms (0.8%)

Compiler

Compiled 26 to 8 computations (69.2% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune5.0ms (0.1%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New000
Fresh011
Picked022
Done055
Total088
Accuracy
100.0%
Counts
8 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 y (-.f64 z x) x)
65.5%
(+.f64 x (*.f64 (neg.f64 y) x))
100.0%
(+.f64 x (*.f64 y (-.f64 z x)))
62.2%
(*.f64 y (-.f64 z x))
39.1%
(*.f64 y z)
65.5%
(*.f64 x (-.f64 1 y))
27.7%
(*.f64 x (neg.f64 y))
39.7%
x
100.0%
(fma.f64 y (-.f64 z x) x)
65.5%
(+.f64 x (*.f64 (neg.f64 y) x))
100.0%
(+.f64 x (*.f64 y (-.f64 z x)))
62.2%
(*.f64 y (-.f64 z x))
39.1%
(*.f64 y z)
65.5%
(*.f64 x (-.f64 1 y))
27.7%
(*.f64 x (neg.f64 y))
39.7%
x
Compiler

Compiled 122 to 80 computations (34.4% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune4.0ms (0.1%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done077
Total088
Accuracy
100.0%
Counts
8 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 y (-.f64 z x) x)
65.5%
(+.f64 x (*.f64 (neg.f64 y) x))
100.0%
(+.f64 x (*.f64 y (-.f64 z x)))
62.2%
(*.f64 y (-.f64 z x))
39.1%
(*.f64 y z)
65.5%
(*.f64 x (-.f64 1 y))
27.7%
(*.f64 x (neg.f64 y))
39.7%
x
Compiler

Compiled 101 to 55 computations (45.5% saved)

regimes24.0ms (0.6%)

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

4 calls:

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

Compiled 62 to 30 computations (51.6% saved)

regimes23.0ms (0.6%)

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

4 calls:

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

Compiled 56 to 29 computations (48.2% saved)

regimes63.0ms (1.6%)

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

3 calls:

23.0ms
z
20.0ms
x
19.0ms
y
Results
AccuracySegmentsBranch
85.2%3x
88.9%3y
83.0%5z
Compiler

Compiled 39 to 22 computations (43.6% saved)

regimes18.0ms (0.5%)

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

1 calls:

17.0ms
y
Results
AccuracySegmentsBranch
88.9%3y
Compiler

Compiled 25 to 14 computations (44% saved)

regimes38.0ms (1%)

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

2 calls:

22.0ms
y
15.0ms
x
Results
AccuracySegmentsBranch
81.8%3x
74.2%6y
Compiler

Compiled 24 to 15 computations (37.5% saved)

regimes72.0ms (1.9%)

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

3 calls:

29.0ms
x
22.0ms
z
19.0ms
y
Results
AccuracySegmentsBranch
72.8%6y
61.3%7z
66.1%9x
Compiler

Compiled 23 to 15 computations (34.8% saved)

regimes13.0ms (0.3%)

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

1 calls:

12.0ms
y
Results
AccuracySegmentsBranch
65.9%3y
Compiler

Compiled 11 to 7 computations (36.4% saved)

regimes9.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
x
Outputs
x
Calls

3 calls:

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

Compiled 16 to 12 computations (25% saved)

bsearch25.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
8.76519399405695e-59
3.6687855557674974e-58
13.0ms
-27022646227540287000.0
-432309002048902.94
Results
22.0ms217×body256valid
1.0msbody256infinite
Compiler

Compiled 282 to 193 computations (31.6% saved)

bsearch68.0ms (1.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
55.0ms
8.76519399405695e-59
3.6687855557674974e-58
13.0ms
-27022646227540287000.0
-432309002048902.94
Results
65.0ms218×body256valid
1.0msbody256infinite
Compiler

Compiled 268 to 193 computations (28% saved)

bsearch23.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
7.110189460757474e-140
2.225840516827014e-136
10.0ms
-77166764247353550.0
-17832382169562738.0
Results
18.0ms196×body256valid
3.0ms28×body256infinite
Compiler

Compiled 240 to 179 computations (25.4% saved)

bsearch65.0ms (1.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
8.274258610468889e+182
1.958961435762492e+184
12.0ms
6.894314582134871e+64
1.2611438304078036e+67
10.0ms
8.76519399405695e-59
3.6687855557674974e-58
16.0ms
-0.00016849224245966399
-1.2947986182997208e-10
16.0ms
-2.4469600671421737e+187
-9.506801803066488e+179
Results
43.0ms437×body256valid
16.0ms171×body256infinite
Compiler

Compiled 541 to 399 computations (26.2% saved)

bsearch26.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
10.0ms
8.76519399405695e-59
3.6687855557674974e-58
16.0ms
-0.00016849224245966399
-1.2947986182997208e-10
Results
24.0ms240×body256valid
Compiler

Compiled 196 to 146 computations (25.5% saved)

simplify16.0ms (0.4%)

Algorithm
egg-herbie
Rules
16×*-commutative
14×+-commutative
10×sub-neg
10×if-if-or-not
neg-mul-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
061455
1100451
2114451
3119451
4121451
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 y (-.f64 z x) x)
(+.f64 x (*.f64 y (-.f64 z x)))
(if (<=.f64 y -440000000000000) (*.f64 y (-.f64 z x)) (if (<=.f64 y 5088519546561747/14134776518227074636666380005943348126619871175004951664972849610340958208) (+.f64 x (*.f64 (neg.f64 y) x)) (*.f64 y (-.f64 z x))))
(if (<=.f64 y -440000000000000) (*.f64 y (-.f64 z x)) (if (<=.f64 y 565391060729083/1766847064778384329583297500742918515827483896875618958121606201292619776) (*.f64 x (-.f64 1 y)) (*.f64 y (-.f64 z x))))
(if (<=.f64 x -18000000000000000) (*.f64 x (-.f64 1 y)) (if (<=.f64 x 6808652464423975/52374249726338269920211035149241586435466272736689036631732661889538140742474792878132321477214466514414186946040961136147476104734166288853256441430016) (*.f64 y z) (*.f64 x (-.f64 1 y))))
(if (<=.f64 y -14200000000000000208725067272746213925606442906960645060393977184165904603614199394936023970531271463484883385212097239561971342634884126483285477024937750130290506929291954369754824704) (*.f64 x (neg.f64 y)) (if (<=.f64 y -2200244991698625/4835703278458516698824704) (*.f64 y z) (if (<=.f64 y 5088519546561747/14134776518227074636666380005943348126619871175004951664972849610340958208) x (if (<=.f64 y 190000000000000005512381249127238323940923828257196359543055974400) (*.f64 y z) (if (<=.f64 y 7600000000000000018691807224319137503525694559648365537892380243232867961675754247573614460477856682559208444748688055011059925581533355376990493303933061943218722863463044924848472064) (*.f64 x (neg.f64 y)) (*.f64 y z))))))
(if (<=.f64 y -2115620184325601/1208925819614629174706176) (*.f64 y z) (if (<=.f64 y 4664476251014935/28269553036454149273332760011886696253239742350009903329945699220681916416) x (*.f64 y z)))
x
Outputs
(fma.f64 y (-.f64 z x) x)
(+.f64 x (*.f64 y (-.f64 z x)))
(if (<=.f64 y -440000000000000) (*.f64 y (-.f64 z x)) (if (<=.f64 y 5088519546561747/14134776518227074636666380005943348126619871175004951664972849610340958208) (+.f64 x (*.f64 (neg.f64 y) x)) (*.f64 y (-.f64 z x))))
(if (or (<=.f64 y -440000000000000) (not (<=.f64 y 5088519546561747/14134776518227074636666380005943348126619871175004951664972849610340958208))) (*.f64 y (-.f64 z x)) (+.f64 x (neg.f64 (*.f64 x y))))
(if (or (<=.f64 y -440000000000000) (not (<=.f64 y 5088519546561747/14134776518227074636666380005943348126619871175004951664972849610340958208))) (*.f64 y (-.f64 z x)) (-.f64 x (*.f64 y x)))
(if (<=.f64 y -440000000000000) (*.f64 y (-.f64 z x)) (if (<=.f64 y 565391060729083/1766847064778384329583297500742918515827483896875618958121606201292619776) (*.f64 x (-.f64 1 y)) (*.f64 y (-.f64 z x))))
(if (or (<=.f64 y -440000000000000) (not (<=.f64 y 565391060729083/1766847064778384329583297500742918515827483896875618958121606201292619776))) (*.f64 y (-.f64 z x)) (*.f64 x (-.f64 1 y)))
(if (<=.f64 x -18000000000000000) (*.f64 x (-.f64 1 y)) (if (<=.f64 x 6808652464423975/52374249726338269920211035149241586435466272736689036631732661889538140742474792878132321477214466514414186946040961136147476104734166288853256441430016) (*.f64 y z) (*.f64 x (-.f64 1 y))))
(if (or (<=.f64 x -18000000000000000) (not (<=.f64 x 6808652464423975/52374249726338269920211035149241586435466272736689036631732661889538140742474792878132321477214466514414186946040961136147476104734166288853256441430016))) (*.f64 x (-.f64 1 y)) (*.f64 y z))
(if (<=.f64 y -14200000000000000208725067272746213925606442906960645060393977184165904603614199394936023970531271463484883385212097239561971342634884126483285477024937750130290506929291954369754824704) (*.f64 x (neg.f64 y)) (if (<=.f64 y -2200244991698625/4835703278458516698824704) (*.f64 y z) (if (<=.f64 y 5088519546561747/14134776518227074636666380005943348126619871175004951664972849610340958208) x (if (<=.f64 y 190000000000000005512381249127238323940923828257196359543055974400) (*.f64 y z) (if (<=.f64 y 7600000000000000018691807224319137503525694559648365537892380243232867961675754247573614460477856682559208444748688055011059925581533355376990493303933061943218722863463044924848472064) (*.f64 x (neg.f64 y)) (*.f64 y z))))))
(if (<=.f64 y -14200000000000000208725067272746213925606442906960645060393977184165904603614199394936023970531271463484883385212097239561971342634884126483285477024937750130290506929291954369754824704) (neg.f64 (*.f64 x y)) (if (<=.f64 y -2200244991698625/4835703278458516698824704) (*.f64 y z) (if (<=.f64 y 5088519546561747/14134776518227074636666380005943348126619871175004951664972849610340958208) x (if (or (<=.f64 y 190000000000000005512381249127238323940923828257196359543055974400) (not (<=.f64 y 7600000000000000018691807224319137503525694559648365537892380243232867961675754247573614460477856682559208444748688055011059925581533355376990493303933061943218722863463044924848472064))) (*.f64 y z) (neg.f64 (*.f64 x y))))))
(if (<=.f64 y -14200000000000000208725067272746213925606442906960645060393977184165904603614199394936023970531271463484883385212097239561971342634884126483285477024937750130290506929291954369754824704) (*.f64 y (neg.f64 x)) (if (<=.f64 y -2200244991698625/4835703278458516698824704) (*.f64 y z) (if (<=.f64 y 5088519546561747/14134776518227074636666380005943348126619871175004951664972849610340958208) x (if (or (<=.f64 y 190000000000000005512381249127238323940923828257196359543055974400) (not (<=.f64 y 7600000000000000018691807224319137503525694559648365537892380243232867961675754247573614460477856682559208444748688055011059925581533355376990493303933061943218722863463044924848472064))) (*.f64 y z) (*.f64 y (neg.f64 x))))))
(if (<=.f64 y -2115620184325601/1208925819614629174706176) (*.f64 y z) (if (<=.f64 y 4664476251014935/28269553036454149273332760011886696253239742350009903329945699220681916416) x (*.f64 y z)))
(if (or (<=.f64 y -2115620184325601/1208925819614629174706176) (not (<=.f64 y 4664476251014935/28269553036454149273332760011886696253239742350009903329945699220681916416))) (*.f64 y z) x)
x
Compiler

Compiled 142 to 90 computations (36.6% saved)

soundness797.0ms (20.9%)

Rules
2166×fma-def
1616×log-prod
1278×div-sub
822×fma-neg
762×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036377
178321
2237317
3836317
41871317
53189317
63481317
73513317
83513317
94148317
104148317
01743963
14313235
211453235
346302889
01021322
12361130
25911130
334151130
470871130
01019
110319
2120919
Stop Event
node limit
node limit
node limit
saturated
Compiler

Compiled 88 to 47 computations (46.6% saved)

end0.0ms (0%)

preprocess150.0ms (3.9%)

Compiler

Compiled 262 to 136 computations (48.1% saved)

Profiling

Loading profile data...