Diagrams.ThreeD.Shapes:frustum from diagrams-lib-1.3.0.3, B

Time bar (total: 3.3s)

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.2s (36.4%)

Results
1.0s6586×body256valid
153.0ms1670×body256infinite
Bogosity

preprocess264.0ms (8%)

Algorithm
egg-herbie
Rules
2166×fma-def
860×fma-neg
484×distribute-rgt-in
372×unsub-neg
342×distribute-lft-in
Problems
256×No Errors
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
036377
178321
2237317
3843317
41878317
53213317
63517317
73549317
83549317
94184317
104184317
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 x (*.f64 (-.f64 y x) z))
(+.f64 x (*.f64 (-.f64 y x) z))
(+.f64 (neg.f64 x) (*.f64 (-.f64 y (neg.f64 x)) z))
(+.f64 x (*.f64 (-.f64 (neg.f64 y) x) z))
(+.f64 x (*.f64 (-.f64 y x) (neg.f64 z)))
(neg.f64 (+.f64 (neg.f64 x) (*.f64 (-.f64 y (neg.f64 x)) z)))
(neg.f64 (+.f64 x (*.f64 (-.f64 (neg.f64 y) x) z)))
(neg.f64 (+.f64 x (*.f64 (-.f64 y x) (neg.f64 z))))
(+.f64 y (*.f64 (-.f64 x y) z))
(+.f64 z (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 z x) y))
Outputs
(+.f64 x (*.f64 (-.f64 y x) z))
(fma.f64 (-.f64 y x) z x)
(+.f64 x (*.f64 (-.f64 y x) z))
(fma.f64 (-.f64 y x) z x)
(+.f64 (neg.f64 x) (*.f64 (-.f64 y (neg.f64 x)) z))
(+.f64 (neg.f64 x) (*.f64 z (-.f64 y (neg.f64 x))))
(-.f64 (*.f64 z (+.f64 x y)) x)
(fma.f64 z (+.f64 x y) (neg.f64 x))
(+.f64 x (*.f64 (-.f64 (neg.f64 y) x) z))
(+.f64 x (*.f64 z (-.f64 (neg.f64 y) x)))
(-.f64 x (*.f64 z (+.f64 x y)))
(fma.f64 z (-.f64 (neg.f64 x) y) x)
(fma.f64 z (-.f64 (neg.f64 y) x) x)
(+.f64 x (*.f64 (-.f64 y x) (neg.f64 z)))
(-.f64 x (*.f64 (-.f64 y x) z))
(fma.f64 z (-.f64 x y) x)
(neg.f64 (+.f64 (neg.f64 x) (*.f64 (-.f64 y (neg.f64 x)) z)))
(+.f64 x (*.f64 z (-.f64 (neg.f64 y) x)))
(-.f64 x (*.f64 z (+.f64 x y)))
(fma.f64 z (-.f64 (neg.f64 x) y) x)
(fma.f64 z (-.f64 (neg.f64 y) x) x)
(neg.f64 (+.f64 x (*.f64 (-.f64 (neg.f64 y) x) z)))
(+.f64 (neg.f64 x) (*.f64 z (-.f64 y (neg.f64 x))))
(-.f64 (*.f64 z (+.f64 x y)) x)
(fma.f64 z (+.f64 x y) (neg.f64 x))
(neg.f64 (+.f64 x (*.f64 (-.f64 y x) (neg.f64 z))))
(-.f64 (*.f64 (-.f64 y x) z) x)
(fma.f64 (-.f64 y x) z (neg.f64 x))
(neg.f64 (fma.f64 z (-.f64 x y) x))
(+.f64 y (*.f64 (-.f64 x y) z))
(+.f64 y (*.f64 z (-.f64 x y)))
(fma.f64 z (-.f64 x y) y)
(+.f64 z (*.f64 (-.f64 y z) x))
(+.f64 z (*.f64 x (-.f64 y z)))
(fma.f64 x (-.f64 y z) z)
(+.f64 x (*.f64 (-.f64 z x) y))
(+.f64 x (*.f64 y (-.f64 z x)))
(fma.f64 y (-.f64 z x) x)
Compiler

Compiled 32 to 13 computations (59.4% saved)

eval0.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

prune2.0ms (0.1%)

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

Compiled 38 to 22 computations (42.1% saved)

localize58.0ms (1.8%)

Localize:

Found 1 expressions with local error:

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

Compiled 34 to 8 computations (76.5% saved)

series4.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite203.0ms (6.2%)

Algorithm
batch-egg-rewrite
Rules
810×fma-def
806×log1p-expm1-u
806×expm1-log1p-u
734×log-prod
642×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 (-.f64 y x) z))
Outputs
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 y x) z x))) 1)
(-.f64 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 (-.f64 y x) z))) (/.f64 (pow.f64 (*.f64 (-.f64 y x) z) 2) (-.f64 x (*.f64 (-.f64 y x) z))))
(*.f64 (fma.f64 (-.f64 y x) z x) 1)
(*.f64 (fma.f64 (-.f64 y x) z x) (log.f64 (exp.f64 1)))
(*.f64 1 (fma.f64 (-.f64 y x) z x))
(*.f64 (cbrt.f64 (fma.f64 (-.f64 y x) z x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) z x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) z x)) 2) (cbrt.f64 (fma.f64 (-.f64 y x) z x)))
(*.f64 (sqrt.f64 (fma.f64 (-.f64 y x) z x)) (sqrt.f64 (fma.f64 (-.f64 y x) z x)))
(*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 (-.f64 y x) z) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2))))
(*.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 (-.f64 y x) z) 2)) (/.f64 1 (-.f64 x (*.f64 (-.f64 y x) z))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (-.f64 y x) z) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2)) (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (-.f64 x (*.f64 (-.f64 y x) z)) (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 (-.f64 y x) z) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3)) (fma.f64 (*.f64 (-.f64 y x) z) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 2) (-.f64 (pow.f64 x 2) (*.f64 (*.f64 x (-.f64 y x)) z))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 (-.f64 y x) z) 2)) (-.f64 x (*.f64 (-.f64 y x) z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 (*.f64 (-.f64 y x) z) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 (-.f64 y x) z) 2))) (neg.f64 (-.f64 x (*.f64 (-.f64 y x) z))))
(/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y x) z) 2) (pow.f64 x 2)) (fma.f64 (-.f64 y x) z (neg.f64 x)))
(pow.f64 (fma.f64 (-.f64 y x) z x) 1)
(pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) z x)) 3)
(pow.f64 (pow.f64 (fma.f64 (-.f64 y x) z x) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 (-.f64 y x) z x) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (-.f64 y x) z x)) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 (-.f64 y x) z) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2)) (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3))) -1)
(pow.f64 (/.f64 (-.f64 x (*.f64 (-.f64 y x) z)) (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 (-.f64 y x) z) 2))) -1)
(sqrt.f64 (pow.f64 (fma.f64 (-.f64 y x) z x) 2))
(log.f64 (exp.f64 (fma.f64 (-.f64 y x) z x)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 y x) z x))))
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) z)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 z) (-.f64 y x))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) z)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 z) (-.f64 y x)) (+.f64 1 (expm1.f64 x))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) z))) (exp.f64 x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) z))) (+.f64 1 (expm1.f64 x))))
(cbrt.f64 (pow.f64 (fma.f64 (-.f64 y x) z x) 3))
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 y x) z x)))
(exp.f64 (log.f64 (fma.f64 (-.f64 y x) z x)))
(exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 y x) z x)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (-.f64 y x) z x)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (-.f64 y x) z x))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (-.f64 y x) z x))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (-.f64 y x) z x))) 2))
(log1p.f64 (expm1.f64 (fma.f64 (-.f64 y x) z x)))
(fma.f64 x 1 (*.f64 (-.f64 y x) z))
(fma.f64 (-.f64 y x) z x)
(fma.f64 z (-.f64 y x) x)
(fma.f64 (*.f64 (-.f64 y x) z) 1 x)
(fma.f64 1 x (*.f64 (-.f64 y x) z))
(fma.f64 1 (*.f64 (-.f64 y x) z) x)
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 y x)) 2) (*.f64 (cbrt.f64 (-.f64 y x)) z) x)
(fma.f64 (cbrt.f64 (*.f64 (-.f64 y x) z)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y x) z)) 2) x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y x) z)) 2) (cbrt.f64 (*.f64 (-.f64 y x) z)) x)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (-.f64 y x) z))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (-.f64 y x) z))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 y x)) x)
(fma.f64 (sqrt.f64 (-.f64 y x)) (*.f64 (sqrt.f64 (-.f64 y x)) z) x)
(fma.f64 (sqrt.f64 (*.f64 (-.f64 y x) z)) (sqrt.f64 (*.f64 (-.f64 y x) z)) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (-.f64 y x) z))
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 y x)) x)
(fma.f64 (*.f64 (-.f64 y x) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) x)
(fma.f64 (*.f64 (-.f64 y x) (sqrt.f64 z)) (sqrt.f64 z) x)
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (-.f64 y x)) 2)) (cbrt.f64 (-.f64 y x)) x)
(fma.f64 (*.f64 z (sqrt.f64 (-.f64 y x))) (sqrt.f64 (-.f64 y x)) x)

simplify88.0ms (2.7%)

Algorithm
egg-herbie
Rules
1282×div-sub
760×cancel-sign-sub-inv
702×fma-def
650×fma-neg
636×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01774296
14353478
211423426
346213132
Stop Event
node limit
Counts
99 → 83
Calls
Call 1
Inputs
(*.f64 y z)
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 z))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 z))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 z))) (*.f64 y z))
(*.f64 x (+.f64 1 (*.f64 -1 z)))
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 z))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 z))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 z))) (*.f64 y z))
(*.f64 -1 (*.f64 x (-.f64 z 1)))
(+.f64 (*.f64 -1 (*.f64 x (-.f64 z 1))) (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 x (-.f64 z 1))) (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 x (-.f64 z 1))) (*.f64 y z))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(*.f64 y z)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(*.f64 y z)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
x
(+.f64 x (*.f64 z (-.f64 y x)))
(+.f64 x (*.f64 z (-.f64 y x)))
(+.f64 x (*.f64 z (-.f64 y x)))
(*.f64 z (-.f64 y x))
(+.f64 x (*.f64 z (-.f64 y x)))
(+.f64 x (*.f64 z (-.f64 y x)))
(+.f64 x (*.f64 z (-.f64 y x)))
(*.f64 z (-.f64 y x))
(+.f64 x (*.f64 z (-.f64 y x)))
(+.f64 x (*.f64 z (-.f64 y x)))
(+.f64 x (*.f64 z (-.f64 y x)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 y x) z x))) 1)
(-.f64 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 (-.f64 y x) z))) (/.f64 (pow.f64 (*.f64 (-.f64 y x) z) 2) (-.f64 x (*.f64 (-.f64 y x) z))))
(*.f64 (fma.f64 (-.f64 y x) z x) 1)
(*.f64 (fma.f64 (-.f64 y x) z x) (log.f64 (exp.f64 1)))
(*.f64 1 (fma.f64 (-.f64 y x) z x))
(*.f64 (cbrt.f64 (fma.f64 (-.f64 y x) z x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) z x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) z x)) 2) (cbrt.f64 (fma.f64 (-.f64 y x) z x)))
(*.f64 (sqrt.f64 (fma.f64 (-.f64 y x) z x)) (sqrt.f64 (fma.f64 (-.f64 y x) z x)))
(*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 (-.f64 y x) z) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2))))
(*.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 (-.f64 y x) z) 2)) (/.f64 1 (-.f64 x (*.f64 (-.f64 y x) z))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (-.f64 y x) z) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2)) (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (-.f64 x (*.f64 (-.f64 y x) z)) (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 (-.f64 y x) z) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3)) (fma.f64 (*.f64 (-.f64 y x) z) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 2) (-.f64 (pow.f64 x 2) (*.f64 (*.f64 x (-.f64 y x)) z))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 (-.f64 y x) z) 2)) (-.f64 x (*.f64 (-.f64 y x) z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 (*.f64 (-.f64 y x) z) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 (-.f64 y x) z) 2))) (neg.f64 (-.f64 x (*.f64 (-.f64 y x) z))))
(/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y x) z) 2) (pow.f64 x 2)) (fma.f64 (-.f64 y x) z (neg.f64 x)))
(pow.f64 (fma.f64 (-.f64 y x) z x) 1)
(pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) z x)) 3)
(pow.f64 (pow.f64 (fma.f64 (-.f64 y x) z x) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 (-.f64 y x) z x) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (-.f64 y x) z x)) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 (-.f64 y x) z) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2)) (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3))) -1)
(pow.f64 (/.f64 (-.f64 x (*.f64 (-.f64 y x) z)) (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 (-.f64 y x) z) 2))) -1)
(sqrt.f64 (pow.f64 (fma.f64 (-.f64 y x) z x) 2))
(log.f64 (exp.f64 (fma.f64 (-.f64 y x) z x)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 y x) z x))))
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) z)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 z) (-.f64 y x))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) z)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 z) (-.f64 y x)) (+.f64 1 (expm1.f64 x))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) z))) (exp.f64 x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) z))) (+.f64 1 (expm1.f64 x))))
(cbrt.f64 (pow.f64 (fma.f64 (-.f64 y x) z x) 3))
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 y x) z x)))
(exp.f64 (log.f64 (fma.f64 (-.f64 y x) z x)))
(exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 y x) z x)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (-.f64 y x) z x)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (-.f64 y x) z x))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (-.f64 y x) z x))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (-.f64 y x) z x))) 2))
(log1p.f64 (expm1.f64 (fma.f64 (-.f64 y x) z x)))
(fma.f64 x 1 (*.f64 (-.f64 y x) z))
(fma.f64 (-.f64 y x) z x)
(fma.f64 z (-.f64 y x) x)
(fma.f64 (*.f64 (-.f64 y x) z) 1 x)
(fma.f64 1 x (*.f64 (-.f64 y x) z))
(fma.f64 1 (*.f64 (-.f64 y x) z) x)
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 y x)) 2) (*.f64 (cbrt.f64 (-.f64 y x)) z) x)
(fma.f64 (cbrt.f64 (*.f64 (-.f64 y x) z)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y x) z)) 2) x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y x) z)) 2) (cbrt.f64 (*.f64 (-.f64 y x) z)) x)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (-.f64 y x) z))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (-.f64 y x) z))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 y x)) x)
(fma.f64 (sqrt.f64 (-.f64 y x)) (*.f64 (sqrt.f64 (-.f64 y x)) z) x)
(fma.f64 (sqrt.f64 (*.f64 (-.f64 y x) z)) (sqrt.f64 (*.f64 (-.f64 y x) z)) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (-.f64 y x) z))
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 y x)) x)
(fma.f64 (*.f64 (-.f64 y x) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) x)
(fma.f64 (*.f64 (-.f64 y x) (sqrt.f64 z)) (sqrt.f64 z) x)
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (-.f64 y x)) 2)) (cbrt.f64 (-.f64 y x)) x)
(fma.f64 (*.f64 z (sqrt.f64 (-.f64 y x))) (sqrt.f64 (-.f64 y x)) x)
Outputs
(*.f64 y z)
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 z))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 z))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 z))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(*.f64 x (+.f64 1 (*.f64 -1 z)))
(*.f64 x (+.f64 1 (neg.f64 z)))
(*.f64 x (-.f64 1 z))
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 z))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 z))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 z))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(*.f64 -1 (*.f64 x (-.f64 z 1)))
(*.f64 x (+.f64 1 (neg.f64 z)))
(*.f64 x (-.f64 1 z))
(+.f64 (*.f64 -1 (*.f64 x (-.f64 z 1))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 (*.f64 -1 (*.f64 x (-.f64 z 1))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 (*.f64 -1 (*.f64 x (-.f64 z 1))) (*.f64 y z))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 x (*.f64 -1 (*.f64 x z)))
(*.f64 x (+.f64 1 (neg.f64 z)))
(*.f64 x (-.f64 1 z))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(*.f64 y z)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(*.f64 y z)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 x (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 y z)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
x
(+.f64 x (*.f64 z (-.f64 y x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 x (*.f64 z (-.f64 y x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 x (*.f64 z (-.f64 y x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(*.f64 z (-.f64 y x))
(+.f64 x (*.f64 z (-.f64 y x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 x (*.f64 z (-.f64 y x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 x (*.f64 z (-.f64 y x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(*.f64 z (-.f64 y x))
(+.f64 x (*.f64 z (-.f64 y x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 x (*.f64 z (-.f64 y x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(+.f64 x (*.f64 z (-.f64 y x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 y x) z x))) 1)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(-.f64 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 (-.f64 y x) z))) (/.f64 (pow.f64 (*.f64 (-.f64 y x) z) 2) (-.f64 x (*.f64 (-.f64 y x) z))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 z (-.f64 y x)) 2)) (-.f64 x (*.f64 z (-.f64 y x))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 z (-.f64 y x)) 2)) (fma.f64 z (-.f64 x y) x))
(/.f64 (fma.f64 z (-.f64 y x) x) 1)
(*.f64 (fma.f64 (-.f64 y x) z x) 1)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(*.f64 (fma.f64 (-.f64 y x) z x) (log.f64 (exp.f64 1)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(*.f64 1 (fma.f64 (-.f64 y x) z x))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(*.f64 (cbrt.f64 (fma.f64 (-.f64 y x) z x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) z x)) 2))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) z x)) 2) (cbrt.f64 (fma.f64 (-.f64 y x) z x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(*.f64 (sqrt.f64 (fma.f64 (-.f64 y x) z x)) (sqrt.f64 (fma.f64 (-.f64 y x) z x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 (-.f64 y x) z) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2))))
(*.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 y x)) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 (*.f64 z (-.f64 y x)) (-.f64 (*.f64 z (-.f64 y x)) x) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 z (-.f64 x y) x) (pow.f64 (*.f64 z (-.f64 y x)) 2)))
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x y)) 3)) (fma.f64 x (fma.f64 z (-.f64 x y) x) (pow.f64 (*.f64 z (-.f64 y x)) 2)))
(*.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 (-.f64 y x) z) 2)) (/.f64 1 (-.f64 x (*.f64 (-.f64 y x) z))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 z (-.f64 y x)) 2)) (-.f64 x (*.f64 z (-.f64 y x))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 z (-.f64 y x)) 2)) (fma.f64 z (-.f64 x y) x))
(/.f64 (fma.f64 z (-.f64 y x) x) 1)
(/.f64 1 (/.f64 (fma.f64 (*.f64 (-.f64 y x) z) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2)) (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3))))
(*.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 y x)) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 (*.f64 z (-.f64 y x)) (-.f64 (*.f64 z (-.f64 y x)) x) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 z (-.f64 x y) x) (pow.f64 (*.f64 z (-.f64 y x)) 2)))
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x y)) 3)) (fma.f64 x (fma.f64 z (-.f64 x y) x) (pow.f64 (*.f64 z (-.f64 y x)) 2)))
(/.f64 1 (/.f64 (-.f64 x (*.f64 (-.f64 y x) z)) (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 (-.f64 y x) z) 2))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 z (-.f64 y x)) 2)) (-.f64 x (*.f64 z (-.f64 y x))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 z (-.f64 y x)) 2)) (fma.f64 z (-.f64 x y) x))
(/.f64 (fma.f64 z (-.f64 y x) x) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3)) (fma.f64 (*.f64 (-.f64 y x) z) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2)))
(*.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 y x)) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 (*.f64 z (-.f64 y x)) (-.f64 (*.f64 z (-.f64 y x)) x) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 z (-.f64 x y) x) (pow.f64 (*.f64 z (-.f64 y x)) 2)))
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x y)) 3)) (fma.f64 x (fma.f64 z (-.f64 x y) x) (pow.f64 (*.f64 z (-.f64 y x)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 2) (-.f64 (pow.f64 x 2) (*.f64 (*.f64 x (-.f64 y x)) z))))
(*.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 y x)) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 (*.f64 z (-.f64 y x)) (-.f64 (*.f64 z (-.f64 y x)) x) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 z (-.f64 x y) x) (pow.f64 (*.f64 z (-.f64 y x)) 2)))
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x y)) 3)) (fma.f64 x (fma.f64 z (-.f64 x y) x) (pow.f64 (*.f64 z (-.f64 y x)) 2)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 (-.f64 y x) z) 2)) (-.f64 x (*.f64 (-.f64 y x) z)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 z (-.f64 y x)) 2)) (-.f64 x (*.f64 z (-.f64 y x))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 z (-.f64 y x)) 2)) (fma.f64 z (-.f64 x y) x))
(/.f64 (fma.f64 z (-.f64 y x) x) 1)
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 (*.f64 (-.f64 y x) z) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2))))
(*.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 y x)) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 (*.f64 z (-.f64 y x)) (-.f64 (*.f64 z (-.f64 y x)) x) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 z (-.f64 x y) x) (pow.f64 (*.f64 z (-.f64 y x)) 2)))
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x y)) 3)) (fma.f64 x (fma.f64 z (-.f64 x y) x) (pow.f64 (*.f64 z (-.f64 y x)) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 (-.f64 y x) z) 2))) (neg.f64 (-.f64 x (*.f64 (-.f64 y x) z))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 z (-.f64 y x)) 2)) (-.f64 x (*.f64 z (-.f64 y x))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 z (-.f64 y x)) 2)) (fma.f64 z (-.f64 x y) x))
(/.f64 (fma.f64 z (-.f64 y x) x) 1)
(/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y x) z) 2) (pow.f64 x 2)) (fma.f64 (-.f64 y x) z (neg.f64 x)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 z (-.f64 y x)) 2)) (-.f64 x (*.f64 z (-.f64 y x))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 z (-.f64 y x)) 2)) (fma.f64 z (-.f64 x y) x))
(/.f64 (fma.f64 z (-.f64 y x) x) 1)
(pow.f64 (fma.f64 (-.f64 y x) z x) 1)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) z x)) 3)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(pow.f64 (pow.f64 (fma.f64 (-.f64 y x) z x) 2) 1/2)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(pow.f64 (pow.f64 (fma.f64 (-.f64 y x) z x) 3) 1/3)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(pow.f64 (sqrt.f64 (fma.f64 (-.f64 y x) z x)) 2)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(pow.f64 (/.f64 (fma.f64 (*.f64 (-.f64 y x) z) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2)) (+.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) (pow.f64 x 3))) -1)
(*.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 y x)) (fma.f64 (-.f64 y x) z (neg.f64 x)) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 (*.f64 z (-.f64 y x)) (-.f64 (*.f64 z (-.f64 y x)) x) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 z (-.f64 x y) x) (pow.f64 (*.f64 z (-.f64 y x)) 2)))
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x y)) 3)) (fma.f64 x (fma.f64 z (-.f64 x y) x) (pow.f64 (*.f64 z (-.f64 y x)) 2)))
(pow.f64 (/.f64 (-.f64 x (*.f64 (-.f64 y x) z)) (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 (-.f64 y x) z) 2))) -1)
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 z (-.f64 y x)) 2)) (-.f64 x (*.f64 z (-.f64 y x))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (*.f64 z (-.f64 y x)) 2)) (fma.f64 z (-.f64 x y) x))
(/.f64 (fma.f64 z (-.f64 y x) x) 1)
(sqrt.f64 (pow.f64 (fma.f64 (-.f64 y x) z x) 2))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(log.f64 (exp.f64 (fma.f64 (-.f64 y x) z x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 y x) z x))))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) z)))))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 z) (-.f64 y x))))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) z)))))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(log.f64 (*.f64 (pow.f64 (exp.f64 z) (-.f64 y x)) (+.f64 1 (expm1.f64 x))))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) z))) (exp.f64 x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) z))) (+.f64 1 (expm1.f64 x))))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(cbrt.f64 (pow.f64 (fma.f64 (-.f64 y x) z x) 3))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 y x) z x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(exp.f64 (log.f64 (fma.f64 (-.f64 y x) z x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 y x) z x)) 1))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (-.f64 y x) z x)) 1) 1))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (-.f64 y x) z x))) 3))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (-.f64 y x) z x))) 1/3))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (-.f64 y x) z x))) 2))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(log1p.f64 (expm1.f64 (fma.f64 (-.f64 y x) z x)))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 x 1 (*.f64 (-.f64 y x) z))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 (-.f64 y x) z x)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 z (-.f64 y x) x)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 (*.f64 (-.f64 y x) z) 1 x)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 1 x (*.f64 (-.f64 y x) z))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 1 (*.f64 (-.f64 y x) z) x)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 y x)) 2) (*.f64 (cbrt.f64 (-.f64 y x)) z) x)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 (cbrt.f64 (*.f64 (-.f64 y x) z)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y x) z)) 2) x)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y x) z)) 2) (cbrt.f64 (*.f64 (-.f64 y x) z)) x)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (-.f64 y x) z))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (-.f64 y x) z))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 y x)) x)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 (sqrt.f64 (-.f64 y x)) (*.f64 (sqrt.f64 (-.f64 y x)) z) x)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 (sqrt.f64 (*.f64 (-.f64 y x) z)) (sqrt.f64 (*.f64 (-.f64 y x) z)) x)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (-.f64 y x) z))
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 y x)) x)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 (*.f64 (-.f64 y x) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) x)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 (*.f64 (-.f64 y x) (sqrt.f64 z)) (sqrt.f64 z) x)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (-.f64 y x)) 2)) (cbrt.f64 (-.f64 y x)) x)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)
(fma.f64 (*.f64 z (sqrt.f64 (-.f64 y x))) (sqrt.f64 (-.f64 y x)) x)
(fma.f64 x (+.f64 1 (neg.f64 z)) (*.f64 y z))
(fma.f64 z (-.f64 y x) x)

eval17.0ms (0.5%)

Compiler

Compiled 1121 to 387 computations (65.5% saved)

prune17.0ms (0.5%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New79483
Fresh000
Picked022
Done000
Total79685
Accuracy
100.0%
Counts
85 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (-.f64 y x) z x)
100.0%
(+.f64 x (*.f64 (-.f64 y x) z))
64.6%
(*.f64 z (-.f64 y x))
40.3%
(*.f64 y z)
62.6%
(*.f64 x (-.f64 1 z))
35.9%
x
100.0%
(fma.f64 (-.f64 y x) z x)
100.0%
(+.f64 x (*.f64 (-.f64 y x) z))
64.6%
(*.f64 z (-.f64 y x))
40.3%
(*.f64 y z)
62.6%
(*.f64 x (-.f64 1 z))
35.9%
x
Compiler

Compiled 90 to 58 computations (35.6% saved)

localize58.0ms (1.7%)

Localize:

Found 1 expressions with local error:

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

Compiled 31 to 13 computations (58.1% saved)

series2.0ms (0.1%)

Counts
1 → 12
Calls

6 calls:

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

rewrite75.0ms (2.3%)

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 z))
Outputs
(+.f64 x (*.f64 x (neg.f64 z)))
(+.f64 x (*.f64 (neg.f64 z) x))
(+.f64 0 (*.f64 x (-.f64 1 z)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z)))))
(-.f64 (+.f64 1 (*.f64 x (-.f64 1 z))) 1)
(/.f64 (*.f64 x (-.f64 1 (pow.f64 z 3))) (fma.f64 z (+.f64 1 z) 1))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 z 2))) (+.f64 1 z))
(/.f64 (*.f64 (-.f64 1 (pow.f64 z 3)) x) (fma.f64 z (+.f64 1 z) 1))
(/.f64 (*.f64 (-.f64 1 (pow.f64 z 2)) x) (+.f64 1 z))
(pow.f64 (*.f64 x (-.f64 1 z)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 z))) 3)
(pow.f64 (pow.f64 (*.f64 x (-.f64 1 z)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 x (-.f64 1 z)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 1 z))) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 x (-.f64 1 z))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (-.f64 1 z)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (-.f64 1 z)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (-.f64 1 z))))) (sqrt.f64 (log.f64 (*.f64 x (-.f64 1 z)))))
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 1 z)) 2))
(log.f64 (pow.f64 (exp.f64 x) (-.f64 1 z)))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 1 z)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 1 z))))
(exp.f64 (log.f64 (*.f64 x (-.f64 1 z))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (-.f64 1 z)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (-.f64 1 z)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (-.f64 1 z)))) 2))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 1 z))))
(fma.f64 x 1 (*.f64 x (neg.f64 z)))
(fma.f64 x 1 (*.f64 (neg.f64 z) x))
(fma.f64 1 x (*.f64 x (neg.f64 z)))
(fma.f64 1 x (*.f64 (neg.f64 z) x))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x (neg.f64 z)))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (neg.f64 z) x))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x (neg.f64 z)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (neg.f64 z) x))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x (neg.f64 z)))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (neg.f64 z) x))

simplify84.0ms (2.5%)

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 z)))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(*.f64 -1 (*.f64 x z))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(*.f64 -1 (*.f64 x z))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(+.f64 x (*.f64 x (neg.f64 z)))
(+.f64 x (*.f64 (neg.f64 z) x))
(+.f64 0 (*.f64 x (-.f64 1 z)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z)))))
(-.f64 (+.f64 1 (*.f64 x (-.f64 1 z))) 1)
(/.f64 (*.f64 x (-.f64 1 (pow.f64 z 3))) (fma.f64 z (+.f64 1 z) 1))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 z 2))) (+.f64 1 z))
(/.f64 (*.f64 (-.f64 1 (pow.f64 z 3)) x) (fma.f64 z (+.f64 1 z) 1))
(/.f64 (*.f64 (-.f64 1 (pow.f64 z 2)) x) (+.f64 1 z))
(pow.f64 (*.f64 x (-.f64 1 z)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 z))) 3)
(pow.f64 (pow.f64 (*.f64 x (-.f64 1 z)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 x (-.f64 1 z)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 1 z))) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 x (-.f64 1 z))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (-.f64 1 z)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (-.f64 1 z)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (-.f64 1 z))))) (sqrt.f64 (log.f64 (*.f64 x (-.f64 1 z)))))
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 1 z)) 2))
(log.f64 (pow.f64 (exp.f64 x) (-.f64 1 z)))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 1 z)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 1 z))))
(exp.f64 (log.f64 (*.f64 x (-.f64 1 z))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (-.f64 1 z)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (-.f64 1 z)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (-.f64 1 z)))) 2))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 1 z))))
(fma.f64 x 1 (*.f64 x (neg.f64 z)))
(fma.f64 x 1 (*.f64 (neg.f64 z) x))
(fma.f64 1 x (*.f64 x (neg.f64 z)))
(fma.f64 1 x (*.f64 (neg.f64 z) x))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x (neg.f64 z)))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (neg.f64 z) x))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x (neg.f64 z)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (neg.f64 z) x))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x (neg.f64 z)))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (neg.f64 z) x))
Outputs
x
(+.f64 x (*.f64 -1 (*.f64 x z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(*.f64 -1 (*.f64 x z))
(*.f64 x (neg.f64 z))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(*.f64 -1 (*.f64 x z))
(*.f64 x (neg.f64 z))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(+.f64 x (*.f64 -1 (*.f64 x z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(+.f64 x (*.f64 x (neg.f64 z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(+.f64 x (*.f64 (neg.f64 z) x))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(+.f64 0 (*.f64 x (-.f64 1 z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 1 z)))))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(-.f64 (+.f64 1 (*.f64 x (-.f64 1 z))) 1)
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 z 3))) (fma.f64 z (+.f64 1 z) 1))
(/.f64 (-.f64 1 (pow.f64 z 3)) (/.f64 (fma.f64 z (+.f64 z 1) 1) x))
(*.f64 (/.f64 x (fma.f64 z (+.f64 z 1) 1)) (-.f64 1 (pow.f64 z 3)))
(*.f64 x (/.f64 (-.f64 1 (pow.f64 z 3)) (fma.f64 z (+.f64 z 1) 1)))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 z 2))) (+.f64 1 z))
(/.f64 (-.f64 1 (pow.f64 z 2)) (/.f64 (+.f64 z 1) x))
(*.f64 (/.f64 x (+.f64 z 1)) (-.f64 1 (pow.f64 z 2)))
(*.f64 x (/.f64 (-.f64 1 (pow.f64 z 2)) (+.f64 z 1)))
(*.f64 (-.f64 1 (pow.f64 z 2)) (/.f64 x (+.f64 z 1)))
(/.f64 (*.f64 (-.f64 1 (pow.f64 z 3)) x) (fma.f64 z (+.f64 1 z) 1))
(/.f64 (-.f64 1 (pow.f64 z 3)) (/.f64 (fma.f64 z (+.f64 z 1) 1) x))
(*.f64 (/.f64 x (fma.f64 z (+.f64 z 1) 1)) (-.f64 1 (pow.f64 z 3)))
(*.f64 x (/.f64 (-.f64 1 (pow.f64 z 3)) (fma.f64 z (+.f64 z 1) 1)))
(/.f64 (*.f64 (-.f64 1 (pow.f64 z 2)) x) (+.f64 1 z))
(/.f64 (-.f64 1 (pow.f64 z 2)) (/.f64 (+.f64 z 1) x))
(*.f64 (/.f64 x (+.f64 z 1)) (-.f64 1 (pow.f64 z 2)))
(*.f64 x (/.f64 (-.f64 1 (pow.f64 z 2)) (+.f64 z 1)))
(*.f64 (-.f64 1 (pow.f64 z 2)) (/.f64 x (+.f64 z 1)))
(pow.f64 (*.f64 x (-.f64 1 z)) 1)
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 z))) 3)
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(pow.f64 (pow.f64 (*.f64 x (-.f64 1 z)) 2) 1/2)
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(pow.f64 (pow.f64 (*.f64 x (-.f64 1 z)) 3) 1/3)
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 1 z))) 2)
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(pow.f64 (E.f64) (log.f64 (*.f64 x (-.f64 1 z))))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (-.f64 1 z)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (-.f64 1 z)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (-.f64 1 z))))) (sqrt.f64 (log.f64 (*.f64 x (-.f64 1 z)))))
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 1 z)) 2))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(log.f64 (pow.f64 (exp.f64 x) (-.f64 1 z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 1 z)) 3))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 1 z))))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(exp.f64 (log.f64 (*.f64 x (-.f64 1 z))))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (-.f64 1 z)))) 3))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (-.f64 1 z)))) 1/3))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (-.f64 1 z)))) 2))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 1 z))))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(fma.f64 x 1 (*.f64 x (neg.f64 z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(fma.f64 x 1 (*.f64 (neg.f64 z) x))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(fma.f64 1 x (*.f64 x (neg.f64 z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(fma.f64 1 x (*.f64 (neg.f64 z) x))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x (neg.f64 z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (neg.f64 z) x))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x (neg.f64 z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (neg.f64 z) x))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x (neg.f64 z)))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (neg.f64 z) x))
(*.f64 (+.f64 (neg.f64 z) 1) x)
(*.f64 x (-.f64 1 z))

eval13.0ms (0.4%)

Compiler

Compiled 518 to 325 computations (37.3% saved)

prune22.0ms (0.7%)

Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New52153
Fresh011
Picked033
Done022
Total52759
Accuracy
100.0%
Counts
59 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (-.f64 y x) z x)
100.0%
(+.f64 x (*.f64 (-.f64 y x) z))
64.6%
(*.f64 z (-.f64 y x))
40.3%
(*.f64 y z)
62.6%
(*.f64 x (-.f64 1 z))
28.8%
(*.f64 x (neg.f64 z))
35.9%
x
100.0%
(fma.f64 (-.f64 y x) z x)
100.0%
(+.f64 x (*.f64 (-.f64 y x) z))
64.6%
(*.f64 z (-.f64 y x))
40.3%
(*.f64 y z)
62.6%
(*.f64 x (-.f64 1 z))
28.8%
(*.f64 x (neg.f64 z))
35.9%
x
Compiler

Compiled 104 to 68 computations (34.6% saved)

localize23.0ms (0.7%)

Compiler

Compiled 12 to 6 computations (50% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune5.0ms (0.1%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done055
Total077
Accuracy
100.0%
Counts
7 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (-.f64 y x) z x)
100.0%
(+.f64 x (*.f64 (-.f64 y x) z))
64.6%
(*.f64 z (-.f64 y x))
40.3%
(*.f64 y z)
62.6%
(*.f64 x (-.f64 1 z))
28.8%
(*.f64 x (neg.f64 z))
35.9%
x
100.0%
(fma.f64 (-.f64 y x) z x)
100.0%
(+.f64 x (*.f64 (-.f64 y x) z))
64.6%
(*.f64 z (-.f64 y x))
40.3%
(*.f64 y z)
62.6%
(*.f64 x (-.f64 1 z))
28.8%
(*.f64 x (neg.f64 z))
35.9%
x
Compiler

Compiled 104 to 68 computations (34.6% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune5.0ms (0.1%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done066
Total077
Accuracy
100.0%
Counts
7 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (-.f64 y x) z x)
100.0%
(+.f64 x (*.f64 (-.f64 y x) z))
64.6%
(*.f64 z (-.f64 y x))
40.3%
(*.f64 y z)
62.6%
(*.f64 x (-.f64 1 z))
28.8%
(*.f64 x (neg.f64 z))
35.9%
x
Compiler

Compiled 86 to 48 computations (44.2% saved)

regimes24.0ms (0.7%)

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

4 calls:

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

Compiled 56 to 29 computations (48.2% saved)

regimes22.0ms (0.7%)

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

4 calls:

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

Compiled 50 to 28 computations (44% saved)

regimes54.0ms (1.6%)

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

3 calls:

23.0ms
y
17.0ms
z
13.0ms
x
Results
AccuracySegmentsBranch
84.8%3x
81.1%5y
88.7%3z
Compiler

Compiled 33 to 20 computations (39.4% saved)

regimes34.0ms (1%)

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

2 calls:

21.0ms
z
12.0ms
x
Results
AccuracySegmentsBranch
81.2%3x
70.3%6z
Compiler

Compiled 24 to 15 computations (37.5% saved)

regimes137.0ms (4.2%)

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

3 calls:

89.0ms
y
26.0ms
x
21.0ms
z
Results
AccuracySegmentsBranch
69.8%6z
62.9%6y
64.6%7x
Compiler

Compiled 23 to 15 computations (34.8% saved)

regimes32.0ms (1%)

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

1 calls:

31.0ms
z
Results
AccuracySegmentsBranch
64.5%3z
Compiler

Compiled 11 to 7 computations (36.4% saved)

regimes9.0ms (0.3%)

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
z
3.0ms
y
Results
AccuracySegmentsBranch
35.9%1y
35.9%1x
35.9%1z
Compiler

Compiled 16 to 12 computations (25% saved)

bsearch73.0ms (2.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
17.0ms
4.952961177346475e-38
5.764177288307476e-33
56.0ms
-1.6008497468976658e-89
-1.4831782835298968e-93
Results
70.0ms272×body256valid
Compiler

Compiled 254 to 181 computations (28.7% saved)

bsearch57.0ms (1.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
42.0ms
9.90254851209932e+38
4.948864694867979e+39
15.0ms
-9.871594378808269e-128
-5.889532570048642e-135
Results
51.0ms209×body256valid
3.0ms31×body256infinite
Compiler

Compiled 256 to 191 computations (25.4% saved)

bsearch133.0ms (4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
41.0ms
1.4816390512010054e+82
1.6998567985149502e+83
15.0ms
0.00010690268335752106
9978.876759801302
17.0ms
4.952961177346475e-38
5.764177288307476e-33
44.0ms
-2.952440474093809e-87
-1.1043919049849485e-88
15.0ms
-1.8365739821151239e+33
-1.2269628089809486e+25
Results
89.0ms595×body256valid
35.0ms45×body256infinite
Compiler

Compiled 568 to 419 computations (26.2% saved)

bsearch34.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
19.0ms
4.952961177346475e-38
5.764177288307476e-33
15.0ms
-2.952440474093809e-87
-1.1043919049849485e-88
Results
31.0ms256×body256valid
Compiler

Compiled 208 to 155 computations (25.5% saved)

simplify11.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
058361
191361
2102361
3108361
4110361
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 (-.f64 y x) z x)
(+.f64 x (*.f64 (-.f64 y x) z))
(if (<=.f64 z -1376099169594043/286687326998758938951352611912760867599570623646035140467198604923365359511060601008752319138765710819328) (*.f64 z (-.f64 y x)) (if (<=.f64 z 5553706221857431/5846006549323611672814739330865132078623730171904) x (*.f64 z (-.f64 y x))))
(if (<=.f64 x -1170655706368497/97554642197374757230674913431036447054643691958280348464348654988292866838117675628759565720734124098744591597543956965482749239977758915821568) (*.f64 x (-.f64 1 z)) (if (<=.f64 x 999999999999999939709166371603178586112) (*.f64 y z) (*.f64 x (-.f64 1 z))))
(if (<=.f64 z -33000000000000001056964608) (*.f64 x (neg.f64 z)) (if (<=.f64 z -3191636257603371/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) (*.f64 y z) (if (<=.f64 z 6284457040522883/1461501637330902918203684832716283019655932542976) x (if (<=.f64 z 9600) (*.f64 y z) (if (<=.f64 z 135000000000000003484900869501543687682308648234827750726292543930194568115707183104) (*.f64 x (neg.f64 z)) (*.f64 y z))))))
(if (<=.f64 z -1041481305112679/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (*.f64 y z) (if (<=.f64 z 1973027210396719/1461501637330902918203684832716283019655932542976) x (*.f64 y z)))
x
Outputs
(fma.f64 (-.f64 y x) z x)
(+.f64 x (*.f64 (-.f64 y x) z))
(if (<=.f64 z -1376099169594043/286687326998758938951352611912760867599570623646035140467198604923365359511060601008752319138765710819328) (*.f64 z (-.f64 y x)) (if (<=.f64 z 5553706221857431/5846006549323611672814739330865132078623730171904) x (*.f64 z (-.f64 y x))))
(if (or (<=.f64 z -1376099169594043/286687326998758938951352611912760867599570623646035140467198604923365359511060601008752319138765710819328) (not (<=.f64 z 5553706221857431/5846006549323611672814739330865132078623730171904))) (*.f64 (-.f64 y x) z) x)
(if (<=.f64 x -1170655706368497/97554642197374757230674913431036447054643691958280348464348654988292866838117675628759565720734124098744591597543956965482749239977758915821568) (*.f64 x (-.f64 1 z)) (if (<=.f64 x 999999999999999939709166371603178586112) (*.f64 y z) (*.f64 x (-.f64 1 z))))
(if (or (<=.f64 x -1170655706368497/97554642197374757230674913431036447054643691958280348464348654988292866838117675628759565720734124098744591597543956965482749239977758915821568) (not (<=.f64 x 999999999999999939709166371603178586112))) (*.f64 x (-.f64 1 z)) (*.f64 y z))
(if (<=.f64 z -33000000000000001056964608) (*.f64 x (neg.f64 z)) (if (<=.f64 z -3191636257603371/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) (*.f64 y z) (if (<=.f64 z 6284457040522883/1461501637330902918203684832716283019655932542976) x (if (<=.f64 z 9600) (*.f64 y z) (if (<=.f64 z 135000000000000003484900869501543687682308648234827750726292543930194568115707183104) (*.f64 x (neg.f64 z)) (*.f64 y z))))))
(if (<=.f64 z -33000000000000001056964608) (*.f64 x (neg.f64 z)) (if (<=.f64 z -3191636257603371/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) (*.f64 y z) (if (<=.f64 z 6284457040522883/1461501637330902918203684832716283019655932542976) x (if (or (<=.f64 z 9600) (not (<=.f64 z 135000000000000003484900869501543687682308648234827750726292543930194568115707183104))) (*.f64 y z) (*.f64 x (neg.f64 z))))))
(if (<=.f64 z -1041481305112679/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (*.f64 y z) (if (<=.f64 z 1973027210396719/1461501637330902918203684832716283019655932542976) x (*.f64 y z)))
(if (or (<=.f64 z -1041481305112679/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (not (<=.f64 z 1973027210396719/1461501637330902918203684832716283019655932542976))) (*.f64 y z) x)
x
Compiler

Compiled 116 to 73 computations (37.1% saved)

soundness479.0ms (14.5%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
036377
178321
2237317
3843317
41878317
53213317
63517317
73549317
83549317
94184317
104184317
01774296
14353478
211423426
346213132
01021322
12361130
25911130
334151130
470871130
Stop Event
node limit
node limit
saturated
Compiler

Compiled 60 to 32 computations (46.7% saved)

end0.0ms (0%)

preprocess63.0ms (1.9%)

Compiler

Compiled 216 to 112 computations (48.1% saved)

Profiling

Loading profile data...