Graphics.Rendering.Plot.Render.Plot.Legend:renderLegendInside from plot-0.2.3.4

Time bar (total: 5.1s)

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 15 to 9 computations (40% saved)

sample1.3s (24.7%)

Results
1.2s7796×256valid
43.0ms221×1024valid
21.0ms153×512valid
21.0ms73×2048valid
1.0ms13×256infinite
Bogosity

preprocess561.0ms (11%)

Algorithm
egg-herbie
Rules
12096×fma-def
2202×unsub-neg
1336×distribute-neg-in
1012×fma-neg
868×sub-neg
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z)
00-0-x
00-0-z
00-0-(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x)
00-0-(+.f64 (+.f64 x y) y)
00-0-(+.f64 x y)
00-0-(+.f64 (+.f64 (+.f64 x y) y) x)
00-0-y
Iterations

Useful iterations: 16 (0.0ms)

IterNodesCost
048559
1152415
2590367
32616361
45071361
56452361
66858361
76972361
86983361
96983361
107630361
117837358
127861358
137869358
147869358
157869358
167873318
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x)
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x)
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (neg.f64 x) y) y) (neg.f64 x)) z) (neg.f64 x))
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x (neg.f64 y)) (neg.f64 y)) x) z) x)
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) (neg.f64 z)) x)
(neg.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (neg.f64 x) y) y) (neg.f64 x)) z) (neg.f64 x)))
(neg.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x (neg.f64 y)) (neg.f64 y)) x) z) x))
(neg.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) (neg.f64 z)) x))
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 y x) x) y) z) y)
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 z y) y) z) x) z)
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x z) z) x) y) x)
Outputs
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x)
(+.f64 x (+.f64 (+.f64 x (+.f64 y y)) (+.f64 x z)))
(+.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))
(fma.f64 2 (+.f64 x y) (+.f64 x z))
(-.f64 z (fma.f64 x -3 (*.f64 y -2)))
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x)
(+.f64 x (+.f64 (+.f64 x (+.f64 y y)) (+.f64 x z)))
(+.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))
(fma.f64 2 (+.f64 x y) (+.f64 x z))
(-.f64 z (fma.f64 x -3 (*.f64 y -2)))
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (neg.f64 x) y) y) (neg.f64 x)) z) (neg.f64 x))
(-.f64 (+.f64 z (-.f64 (+.f64 y (+.f64 y (neg.f64 x))) x)) x)
(+.f64 z (-.f64 (*.f64 2 (-.f64 y x)) x))
(-.f64 z (fma.f64 2 (-.f64 x y) x))
(-.f64 (fma.f64 2 y z) (*.f64 x 3))
(+.f64 (fma.f64 2 y z) (*.f64 x -3))
(fma.f64 x -3 (fma.f64 y 2 z))
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x (neg.f64 y)) (neg.f64 y)) x) z) x)
(+.f64 x (+.f64 z (+.f64 x (-.f64 (-.f64 x y) y))))
(+.f64 (*.f64 2 (-.f64 x y)) (+.f64 x z))
(+.f64 z (fma.f64 2 (-.f64 x y) x))
(+.f64 z (fma.f64 (-.f64 x y) 2 x))
(+.f64 z (fma.f64 x 3 (*.f64 y -2)))
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) (neg.f64 z)) x)
(+.f64 x (-.f64 (+.f64 x (+.f64 x (+.f64 y y))) z))
(+.f64 x (-.f64 (*.f64 2 (+.f64 x y)) z))
(-.f64 (fma.f64 2 (+.f64 x y) x) z)
(-.f64 (fma.f64 (+.f64 x y) 2 x) z)
(fma.f64 x 3 (-.f64 (*.f64 y 2) z))
(neg.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (neg.f64 x) y) y) (neg.f64 x)) z) (neg.f64 x)))
(neg.f64 (-.f64 (+.f64 z (-.f64 (+.f64 y (+.f64 y (neg.f64 x))) x)) x))
(-.f64 x (+.f64 z (*.f64 2 (-.f64 y x))))
(-.f64 x (fma.f64 2 (-.f64 y x) z))
(-.f64 x (fma.f64 -2 (-.f64 x y) z))
(-.f64 (*.f64 x 3) (fma.f64 2 y z))
(neg.f64 (fma.f64 x -3 (fma.f64 y 2 z)))
(neg.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x (neg.f64 y)) (neg.f64 y)) x) z) x))
(neg.f64 (+.f64 x (+.f64 z (+.f64 x (-.f64 (-.f64 x y) y)))))
(-.f64 (neg.f64 x) (+.f64 z (*.f64 2 (-.f64 x y))))
(-.f64 (*.f64 (-.f64 y x) 2) (+.f64 x z))
(-.f64 (+.f64 (*.f64 y 2) (*.f64 x -3)) z)
(-.f64 (fma.f64 x -3 (*.f64 y 2)) z)
(neg.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) (neg.f64 z)) x))
(neg.f64 (+.f64 x (-.f64 (+.f64 x (+.f64 x (+.f64 y y))) z)))
(-.f64 (neg.f64 x) (-.f64 (*.f64 2 (+.f64 x y)) z))
(-.f64 z (fma.f64 2 (+.f64 x y) x))
(-.f64 z (fma.f64 (+.f64 x y) 2 x))
(fma.f64 x -3 (fma.f64 y -2 z))
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 y x) x) y) z) y)
(+.f64 y (+.f64 (+.f64 x (+.f64 y y)) (+.f64 x z)))
(+.f64 (*.f64 2 (+.f64 x y)) (+.f64 y z))
(fma.f64 2 (+.f64 x y) (+.f64 y z))
(-.f64 z (fma.f64 x -2 (*.f64 y -3)))
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 z y) y) z) x) z)
(+.f64 z (+.f64 x (+.f64 z (+.f64 y (+.f64 y z)))))
(+.f64 (*.f64 2 (+.f64 y z)) (+.f64 x z))
(+.f64 x (fma.f64 2 (+.f64 y z) z))
(+.f64 x (fma.f64 z 3 (*.f64 y 2)))
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x z) z) x) y) x)
(+.f64 x (+.f64 y (+.f64 x (+.f64 z (+.f64 x z)))))
(+.f64 (+.f64 x y) (*.f64 2 (+.f64 x z)))
(+.f64 y (fma.f64 2 (+.f64 x z) x))
(+.f64 y (fma.f64 (+.f64 x z) 2 x))
(fma.f64 z 2 (fma.f64 x 3 y))
Compiler

Compiled 98 to 26 computations (73.5% saved)

eval1.0ms (0%)

Compiler

Compiled 39 to 19 computations (51.3% saved)

prune1.0ms (0%)

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

Compiled 23 to 16 computations (30.4% saved)

localize66.0ms (1.3%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
100.0%
(-.f64 z (fma.f64 x -3 (*.f64 y -2)))
99.9%
(+.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))
Compiler

Compiled 50 to 25 computations (50% saved)

series8.0ms (0.2%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
2.0ms
z
@-inf
(-.f64 z (fma.f64 x -3 (*.f64 y -2)))
1.0ms
y
@inf
(-.f64 z (fma.f64 x -3 (*.f64 y -2)))
1.0ms
x
@inf
(+.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))
0.0ms
y
@-inf
(+.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))
0.0ms
z
@0
(-.f64 z (fma.f64 x -3 (*.f64 y -2)))

rewrite361.0ms (7.1%)

Algorithm
batch-egg-rewrite
Rules
982×log1p-expm1-u
881×expm1-log1p-u
476×expm1-udef
476×log1p-udef
176×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02063
125963
2405763
Stop Event
node limit
Counts
2 → 76
Calls
Call 1
Inputs
(+.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))
(-.f64 z (fma.f64 x -3 (*.f64 y -2)))
Outputs
(-.f64 (exp.f64 (log1p.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)))) 1)
(-.f64 (/.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))) (/.f64 (pow.f64 (+.f64 x z) 2) (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))))
(*.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)) 1)
(*.f64 1 (fma.f64 2 (+.f64 x y) (+.f64 x z)))
(*.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) (pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) 2) (cbrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(*.f64 (sqrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) (sqrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(*.f64 (+.f64 (pow.f64 (+.f64 x z) 3) (pow.f64 (*.f64 2 (+.f64 x y)) 3)) (/.f64 1 (+.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (*.f64 (+.f64 x z) (-.f64 (+.f64 x z) (*.f64 2 (+.f64 x y)))))))
(*.f64 (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (pow.f64 (+.f64 x z) 2)) (/.f64 1 (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))))
(/.f64 1 (/.f64 (+.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (*.f64 (+.f64 x z) (-.f64 (+.f64 x z) (*.f64 2 (+.f64 x y))))) (+.f64 (pow.f64 (+.f64 x z) 3) (pow.f64 (*.f64 2 (+.f64 x y)) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z)) (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (pow.f64 (+.f64 x z) 2))))
(/.f64 (+.f64 (pow.f64 (+.f64 x z) 3) (pow.f64 (*.f64 2 (+.f64 x y)) 3)) (+.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (*.f64 (+.f64 x z) (-.f64 (+.f64 x z) (*.f64 2 (+.f64 x y))))))
(/.f64 (+.f64 (pow.f64 (+.f64 x z) 3) (pow.f64 (*.f64 2 (+.f64 x y)) 3)) (+.f64 (pow.f64 (+.f64 x z) 2) (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (*.f64 (+.f64 x y) (*.f64 2 (+.f64 x z))))))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (pow.f64 (+.f64 x z) 2)) (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 x z) 3) (pow.f64 (*.f64 2 (+.f64 x y)) 3))) (neg.f64 (+.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (*.f64 (+.f64 x z) (-.f64 (+.f64 x z) (*.f64 2 (+.f64 x y)))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (pow.f64 (+.f64 x z) 2))) (neg.f64 (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (+.f64 x y) x) 3) (pow.f64 z 3)) (+.f64 (*.f64 (fma.f64 2 (+.f64 x y) x) (fma.f64 2 (+.f64 x y) x)) (-.f64 (pow.f64 z 2) (*.f64 (fma.f64 2 (+.f64 x y) x) z))))
(/.f64 (-.f64 (pow.f64 (+.f64 x z) 2) (*.f64 (pow.f64 (+.f64 x y) 2) 4)) (-.f64 (+.f64 x z) (*.f64 2 (+.f64 x y))))
(/.f64 (-.f64 (*.f64 (fma.f64 2 (+.f64 x y) x) (fma.f64 2 (+.f64 x y) x)) (pow.f64 z 2)) (-.f64 (fma.f64 2 (+.f64 x y) x) z))
(pow.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)) 1)
(pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) 3)
(pow.f64 (pow.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) 2)
(sqrt.f64 (pow.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)) 2))
(log.f64 (exp.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)))))
(cbrt.f64 (pow.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)) 3))
(expm1.f64 (log1p.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(exp.f64 (log.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(exp.f64 (*.f64 (log.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) 1))
(log1p.f64 (expm1.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(fma.f64 2 (+.f64 x y) (+.f64 x z))
(fma.f64 (+.f64 x y) 2 (+.f64 x z))
(fma.f64 1 (*.f64 2 (+.f64 x y)) (+.f64 x z))
(fma.f64 1 (+.f64 x z) (*.f64 2 (+.f64 x y)))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x z)) 2) (cbrt.f64 (+.f64 x z)) (*.f64 2 (+.f64 x y)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 2 (+.f64 x y))) 2) (cbrt.f64 (*.f64 2 (+.f64 x y))) (+.f64 x z))
(fma.f64 (sqrt.f64 (+.f64 x z)) (sqrt.f64 (+.f64 x z)) (*.f64 2 (+.f64 x y)))
(fma.f64 (sqrt.f64 (*.f64 2 (+.f64 x y))) (sqrt.f64 (*.f64 2 (+.f64 x y))) (+.f64 x z))
(+.f64 z (neg.f64 (fma.f64 x -3 (*.f64 y -2))))
(+.f64 z (*.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) 1))
(+.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) (fma.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) 1 (fma.f64 x -3 (*.f64 y -2))))
(+.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 x -3 (*.f64 y -2)))) (pow.f64 (cbrt.f64 (fma.f64 x -3 (*.f64 y -2))) 2) (fma.f64 x -3 (*.f64 y -2))))
(+.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) (fma.f64 (neg.f64 (sqrt.f64 (fma.f64 x -3 (*.f64 y -2)))) (sqrt.f64 (fma.f64 x -3 (*.f64 y -2))) (fma.f64 x -3 (*.f64 y -2))))
(+.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) z)
(*.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) 1)
(*.f64 1 (-.f64 z (fma.f64 x -3 (*.f64 y -2))))
(*.f64 (cbrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) (pow.f64 (cbrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) 2) (cbrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(*.f64 (sqrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) (sqrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(*.f64 (-.f64 (pow.f64 z 3) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 3)) (/.f64 1 (fma.f64 z z (*.f64 (fma.f64 x -3 (*.f64 y -2)) (+.f64 z (fma.f64 x -3 (*.f64 y -2)))))))
(*.f64 (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 2)) (/.f64 1 (+.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(*.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (fma.f64 x -3 (*.f64 y -2)))) (-.f64 (sqrt.f64 z) (sqrt.f64 (fma.f64 x -3 (*.f64 y -2)))))
(/.f64 1 (/.f64 (fma.f64 z z (*.f64 (fma.f64 x -3 (*.f64 y -2)) (+.f64 z (fma.f64 x -3 (*.f64 y -2))))) (-.f64 (pow.f64 z 3) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 3))))
(/.f64 1 (/.f64 (+.f64 z (fma.f64 x -3 (*.f64 y -2))) (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 2))))
(/.f64 (-.f64 (pow.f64 z 3) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 3)) (fma.f64 z z (*.f64 (fma.f64 x -3 (*.f64 y -2)) (+.f64 z (fma.f64 x -3 (*.f64 y -2))))))
(/.f64 (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 2)) (+.f64 z (fma.f64 x -3 (*.f64 y -2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 z 3) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 3))) (neg.f64 (fma.f64 z z (*.f64 (fma.f64 x -3 (*.f64 y -2)) (+.f64 z (fma.f64 x -3 (*.f64 y -2)))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 2))) (neg.f64 (+.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) 3)) (+.f64 (pow.f64 z 2) (-.f64 (*.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) (neg.f64 (fma.f64 x -3 (*.f64 y -2)))) (*.f64 z (neg.f64 (fma.f64 x -3 (*.f64 y -2)))))))
(/.f64 (-.f64 (pow.f64 z 2) (*.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) (neg.f64 (fma.f64 x -3 (*.f64 y -2))))) (-.f64 z (neg.f64 (fma.f64 x -3 (*.f64 y -2)))))
(pow.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) 1)
(pow.f64 (cbrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) 3)
(pow.f64 (pow.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) 3) 1/3)
(pow.f64 (sqrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) 2)
(sqrt.f64 (pow.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) 2))
(log.f64 (exp.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(log.f64 (+.f64 1 (expm1.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))))))
(cbrt.f64 (pow.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) 3))
(expm1.f64 (log1p.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(exp.f64 (log.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(exp.f64 (*.f64 (log.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) 1))
(log1p.f64 (expm1.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(fma.f64 1 z (neg.f64 (fma.f64 x -3 (*.f64 y -2))))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (neg.f64 (fma.f64 x -3 (*.f64 y -2))))
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (neg.f64 (fma.f64 x -3 (*.f64 y -2))))

simplify84.0ms (1.6%)

Algorithm
egg-herbie
Rules
706×unswap-sqr
676×fma-neg
622×associate-+r+
570×associate-+l+
524×associate--r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02296247
15986145
222025687
Stop Event
node limit
Counts
148 → 107
Calls
Call 1
Inputs
(+.f64 z (*.f64 2 y))
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(*.f64 3 x)
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(*.f64 3 x)
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 x (+.f64 z (*.f64 2 x)))
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(*.f64 2 y)
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(*.f64 2 y)
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 x (*.f64 2 (+.f64 x y)))
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
z
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
z
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y)))
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
z
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
z
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(-.f64 z (*.f64 -2 y))
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(*.f64 3 x)
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(*.f64 3 x)
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(-.f64 z (*.f64 -3 x))
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(*.f64 2 y)
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(*.f64 2 y)
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)))) 1)
(-.f64 (/.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))) (/.f64 (pow.f64 (+.f64 x z) 2) (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))))
(*.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)) 1)
(*.f64 1 (fma.f64 2 (+.f64 x y) (+.f64 x z)))
(*.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) (pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) 2) (cbrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(*.f64 (sqrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) (sqrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(*.f64 (+.f64 (pow.f64 (+.f64 x z) 3) (pow.f64 (*.f64 2 (+.f64 x y)) 3)) (/.f64 1 (+.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (*.f64 (+.f64 x z) (-.f64 (+.f64 x z) (*.f64 2 (+.f64 x y)))))))
(*.f64 (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (pow.f64 (+.f64 x z) 2)) (/.f64 1 (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))))
(/.f64 1 (/.f64 (+.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (*.f64 (+.f64 x z) (-.f64 (+.f64 x z) (*.f64 2 (+.f64 x y))))) (+.f64 (pow.f64 (+.f64 x z) 3) (pow.f64 (*.f64 2 (+.f64 x y)) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z)) (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (pow.f64 (+.f64 x z) 2))))
(/.f64 (+.f64 (pow.f64 (+.f64 x z) 3) (pow.f64 (*.f64 2 (+.f64 x y)) 3)) (+.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (*.f64 (+.f64 x z) (-.f64 (+.f64 x z) (*.f64 2 (+.f64 x y))))))
(/.f64 (+.f64 (pow.f64 (+.f64 x z) 3) (pow.f64 (*.f64 2 (+.f64 x y)) 3)) (+.f64 (pow.f64 (+.f64 x z) 2) (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (*.f64 (+.f64 x y) (*.f64 2 (+.f64 x z))))))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (pow.f64 (+.f64 x z) 2)) (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 x z) 3) (pow.f64 (*.f64 2 (+.f64 x y)) 3))) (neg.f64 (+.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (*.f64 (+.f64 x z) (-.f64 (+.f64 x z) (*.f64 2 (+.f64 x y)))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (pow.f64 (+.f64 x z) 2))) (neg.f64 (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (+.f64 x y) x) 3) (pow.f64 z 3)) (+.f64 (*.f64 (fma.f64 2 (+.f64 x y) x) (fma.f64 2 (+.f64 x y) x)) (-.f64 (pow.f64 z 2) (*.f64 (fma.f64 2 (+.f64 x y) x) z))))
(/.f64 (-.f64 (pow.f64 (+.f64 x z) 2) (*.f64 (pow.f64 (+.f64 x y) 2) 4)) (-.f64 (+.f64 x z) (*.f64 2 (+.f64 x y))))
(/.f64 (-.f64 (*.f64 (fma.f64 2 (+.f64 x y) x) (fma.f64 2 (+.f64 x y) x)) (pow.f64 z 2)) (-.f64 (fma.f64 2 (+.f64 x y) x) z))
(pow.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)) 1)
(pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) 3)
(pow.f64 (pow.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) 2)
(sqrt.f64 (pow.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)) 2))
(log.f64 (exp.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)))))
(cbrt.f64 (pow.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)) 3))
(expm1.f64 (log1p.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(exp.f64 (log.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(exp.f64 (*.f64 (log.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) 1))
(log1p.f64 (expm1.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(fma.f64 2 (+.f64 x y) (+.f64 x z))
(fma.f64 (+.f64 x y) 2 (+.f64 x z))
(fma.f64 1 (*.f64 2 (+.f64 x y)) (+.f64 x z))
(fma.f64 1 (+.f64 x z) (*.f64 2 (+.f64 x y)))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x z)) 2) (cbrt.f64 (+.f64 x z)) (*.f64 2 (+.f64 x y)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 2 (+.f64 x y))) 2) (cbrt.f64 (*.f64 2 (+.f64 x y))) (+.f64 x z))
(fma.f64 (sqrt.f64 (+.f64 x z)) (sqrt.f64 (+.f64 x z)) (*.f64 2 (+.f64 x y)))
(fma.f64 (sqrt.f64 (*.f64 2 (+.f64 x y))) (sqrt.f64 (*.f64 2 (+.f64 x y))) (+.f64 x z))
(+.f64 z (neg.f64 (fma.f64 x -3 (*.f64 y -2))))
(+.f64 z (*.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) 1))
(+.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) (fma.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) 1 (fma.f64 x -3 (*.f64 y -2))))
(+.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 x -3 (*.f64 y -2)))) (pow.f64 (cbrt.f64 (fma.f64 x -3 (*.f64 y -2))) 2) (fma.f64 x -3 (*.f64 y -2))))
(+.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) (fma.f64 (neg.f64 (sqrt.f64 (fma.f64 x -3 (*.f64 y -2)))) (sqrt.f64 (fma.f64 x -3 (*.f64 y -2))) (fma.f64 x -3 (*.f64 y -2))))
(+.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) z)
(*.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) 1)
(*.f64 1 (-.f64 z (fma.f64 x -3 (*.f64 y -2))))
(*.f64 (cbrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) (pow.f64 (cbrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) 2) (cbrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(*.f64 (sqrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) (sqrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(*.f64 (-.f64 (pow.f64 z 3) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 3)) (/.f64 1 (fma.f64 z z (*.f64 (fma.f64 x -3 (*.f64 y -2)) (+.f64 z (fma.f64 x -3 (*.f64 y -2)))))))
(*.f64 (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 2)) (/.f64 1 (+.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(*.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (fma.f64 x -3 (*.f64 y -2)))) (-.f64 (sqrt.f64 z) (sqrt.f64 (fma.f64 x -3 (*.f64 y -2)))))
(/.f64 1 (/.f64 (fma.f64 z z (*.f64 (fma.f64 x -3 (*.f64 y -2)) (+.f64 z (fma.f64 x -3 (*.f64 y -2))))) (-.f64 (pow.f64 z 3) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 3))))
(/.f64 1 (/.f64 (+.f64 z (fma.f64 x -3 (*.f64 y -2))) (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 2))))
(/.f64 (-.f64 (pow.f64 z 3) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 3)) (fma.f64 z z (*.f64 (fma.f64 x -3 (*.f64 y -2)) (+.f64 z (fma.f64 x -3 (*.f64 y -2))))))
(/.f64 (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 2)) (+.f64 z (fma.f64 x -3 (*.f64 y -2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 z 3) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 3))) (neg.f64 (fma.f64 z z (*.f64 (fma.f64 x -3 (*.f64 y -2)) (+.f64 z (fma.f64 x -3 (*.f64 y -2)))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 2))) (neg.f64 (+.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) 3)) (+.f64 (pow.f64 z 2) (-.f64 (*.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) (neg.f64 (fma.f64 x -3 (*.f64 y -2)))) (*.f64 z (neg.f64 (fma.f64 x -3 (*.f64 y -2)))))))
(/.f64 (-.f64 (pow.f64 z 2) (*.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) (neg.f64 (fma.f64 x -3 (*.f64 y -2))))) (-.f64 z (neg.f64 (fma.f64 x -3 (*.f64 y -2)))))
(pow.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) 1)
(pow.f64 (cbrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) 3)
(pow.f64 (pow.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) 3) 1/3)
(pow.f64 (sqrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) 2)
(sqrt.f64 (pow.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) 2))
(log.f64 (exp.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(log.f64 (+.f64 1 (expm1.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))))))
(cbrt.f64 (pow.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) 3))
(expm1.f64 (log1p.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(exp.f64 (log.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(exp.f64 (*.f64 (log.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) 1))
(log1p.f64 (expm1.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(fma.f64 1 z (neg.f64 (fma.f64 x -3 (*.f64 y -2))))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (neg.f64 (fma.f64 x -3 (*.f64 y -2))))
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (neg.f64 (fma.f64 x -3 (*.f64 y -2))))
Outputs
(+.f64 z (*.f64 2 y))
(fma.f64 2 y z)
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 3 x)
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 3 x)
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x)))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 x (+.f64 z (*.f64 2 x)))
(+.f64 x (fma.f64 2 x z))
(fma.f64 3 x z)
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 2 y)
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 2 y)
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 x (+.f64 z (+.f64 (*.f64 2 x) (*.f64 2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 x (*.f64 2 (+.f64 x y)))
(fma.f64 2 (+.f64 y x) x)
(fma.f64 2 y (*.f64 3 x))
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
z
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
z
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 x (+.f64 z (*.f64 2 (+.f64 x y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y)))
(fma.f64 2 (+.f64 y x) x)
(fma.f64 2 y (*.f64 3 x))
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
z
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
z
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 z (*.f64 -1 (+.f64 (*.f64 -3 x) (*.f64 -2 y))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 z (*.f64 -2 y))
(+.f64 z (*.f64 2 y))
(fma.f64 2 y z)
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 3 x)
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 3 x)
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 (+.f64 z (*.f64 3 x)) (*.f64 -2 y))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 z (*.f64 -3 x))
(+.f64 x (+.f64 z (*.f64 2 x)))
(+.f64 x (fma.f64 2 x z))
(fma.f64 3 x z)
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 2 y)
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 2 y)
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 (+.f64 z (*.f64 2 y)) (*.f64 -3 x))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)))) 1)
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(-.f64 (/.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))) (/.f64 (pow.f64 (+.f64 x z) 2) (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 y x) 2) 4) (pow.f64 (+.f64 z x) 2)) (-.f64 (*.f64 2 (+.f64 y x)) (+.f64 z x)))
(/.f64 (fma.f64 (pow.f64 (+.f64 y x) 2) -4 (pow.f64 (+.f64 z x) 2)) (fma.f64 (+.f64 y x) -2 (+.f64 z x)))
(*.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)) 1)
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 1 (fma.f64 2 (+.f64 x y) (+.f64 x z)))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) (pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) 2))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) 2) (cbrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 (sqrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) (sqrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 (+.f64 (pow.f64 (+.f64 x z) 3) (pow.f64 (*.f64 2 (+.f64 x y)) 3)) (/.f64 1 (+.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (*.f64 (+.f64 x z) (-.f64 (+.f64 x z) (*.f64 2 (+.f64 x y)))))))
(*.f64 (+.f64 (pow.f64 (+.f64 z x) 3) (*.f64 8 (pow.f64 (+.f64 y x) 3))) (/.f64 1 (fma.f64 (pow.f64 (+.f64 y x) 2) 4 (*.f64 (+.f64 z x) (+.f64 x (-.f64 z (*.f64 2 (+.f64 y x))))))))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 z x) 3)) (fma.f64 (+.f64 z x) (+.f64 z (+.f64 x (*.f64 (+.f64 y x) -2))) (*.f64 (pow.f64 (+.f64 y x) 2) 4)))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 z x) 3)) (fma.f64 (+.f64 z x) (fma.f64 (+.f64 y x) -2 (+.f64 z x)) (*.f64 (pow.f64 (+.f64 y x) 2) 4)))
(*.f64 (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (pow.f64 (+.f64 x z) 2)) (/.f64 1 (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 y x) 2) 4) (pow.f64 (+.f64 z x) 2)) (-.f64 (*.f64 2 (+.f64 y x)) (+.f64 z x)))
(/.f64 (fma.f64 (pow.f64 (+.f64 y x) 2) -4 (pow.f64 (+.f64 z x) 2)) (fma.f64 (+.f64 y x) -2 (+.f64 z x)))
(/.f64 1 (/.f64 (+.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (*.f64 (+.f64 x z) (-.f64 (+.f64 x z) (*.f64 2 (+.f64 x y))))) (+.f64 (pow.f64 (+.f64 x z) 3) (pow.f64 (*.f64 2 (+.f64 x y)) 3))))
(*.f64 (+.f64 (pow.f64 (+.f64 z x) 3) (*.f64 8 (pow.f64 (+.f64 y x) 3))) (/.f64 1 (fma.f64 (pow.f64 (+.f64 y x) 2) 4 (*.f64 (+.f64 z x) (+.f64 x (-.f64 z (*.f64 2 (+.f64 y x))))))))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 z x) 3)) (fma.f64 (+.f64 z x) (+.f64 z (+.f64 x (*.f64 (+.f64 y x) -2))) (*.f64 (pow.f64 (+.f64 y x) 2) 4)))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 z x) 3)) (fma.f64 (+.f64 z x) (fma.f64 (+.f64 y x) -2 (+.f64 z x)) (*.f64 (pow.f64 (+.f64 y x) 2) 4)))
(/.f64 1 (/.f64 (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z)) (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (pow.f64 (+.f64 x z) 2))))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 y x) 2) 4) (pow.f64 (+.f64 z x) 2)) (-.f64 (*.f64 2 (+.f64 y x)) (+.f64 z x)))
(/.f64 (fma.f64 (pow.f64 (+.f64 y x) 2) -4 (pow.f64 (+.f64 z x) 2)) (fma.f64 (+.f64 y x) -2 (+.f64 z x)))
(/.f64 (+.f64 (pow.f64 (+.f64 x z) 3) (pow.f64 (*.f64 2 (+.f64 x y)) 3)) (+.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (*.f64 (+.f64 x z) (-.f64 (+.f64 x z) (*.f64 2 (+.f64 x y))))))
(*.f64 (+.f64 (pow.f64 (+.f64 z x) 3) (*.f64 8 (pow.f64 (+.f64 y x) 3))) (/.f64 1 (fma.f64 (pow.f64 (+.f64 y x) 2) 4 (*.f64 (+.f64 z x) (+.f64 x (-.f64 z (*.f64 2 (+.f64 y x))))))))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 z x) 3)) (fma.f64 (+.f64 z x) (+.f64 z (+.f64 x (*.f64 (+.f64 y x) -2))) (*.f64 (pow.f64 (+.f64 y x) 2) 4)))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 z x) 3)) (fma.f64 (+.f64 z x) (fma.f64 (+.f64 y x) -2 (+.f64 z x)) (*.f64 (pow.f64 (+.f64 y x) 2) 4)))
(/.f64 (+.f64 (pow.f64 (+.f64 x z) 3) (pow.f64 (*.f64 2 (+.f64 x y)) 3)) (+.f64 (pow.f64 (+.f64 x z) 2) (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (*.f64 (+.f64 x y) (*.f64 2 (+.f64 x z))))))
(*.f64 (+.f64 (pow.f64 (+.f64 z x) 3) (*.f64 8 (pow.f64 (+.f64 y x) 3))) (/.f64 1 (fma.f64 (pow.f64 (+.f64 y x) 2) 4 (*.f64 (+.f64 z x) (+.f64 x (-.f64 z (*.f64 2 (+.f64 y x))))))))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 z x) 3)) (fma.f64 (+.f64 z x) (+.f64 z (+.f64 x (*.f64 (+.f64 y x) -2))) (*.f64 (pow.f64 (+.f64 y x) 2) 4)))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 z x) 3)) (fma.f64 (+.f64 z x) (fma.f64 (+.f64 y x) -2 (+.f64 z x)) (*.f64 (pow.f64 (+.f64 y x) 2) 4)))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (pow.f64 (+.f64 x z) 2)) (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z)))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 y x) 2) 4) (pow.f64 (+.f64 z x) 2)) (-.f64 (*.f64 2 (+.f64 y x)) (+.f64 z x)))
(/.f64 (fma.f64 (pow.f64 (+.f64 y x) 2) -4 (pow.f64 (+.f64 z x) 2)) (fma.f64 (+.f64 y x) -2 (+.f64 z x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 x z) 3) (pow.f64 (*.f64 2 (+.f64 x y)) 3))) (neg.f64 (+.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (*.f64 (+.f64 x z) (-.f64 (+.f64 x z) (*.f64 2 (+.f64 x y)))))))
(*.f64 (+.f64 (pow.f64 (+.f64 z x) 3) (*.f64 8 (pow.f64 (+.f64 y x) 3))) (/.f64 1 (fma.f64 (pow.f64 (+.f64 y x) 2) 4 (*.f64 (+.f64 z x) (+.f64 x (-.f64 z (*.f64 2 (+.f64 y x))))))))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 z x) 3)) (fma.f64 (+.f64 z x) (+.f64 z (+.f64 x (*.f64 (+.f64 y x) -2))) (*.f64 (pow.f64 (+.f64 y x) 2) 4)))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 (+.f64 z x) 3)) (fma.f64 (+.f64 z x) (fma.f64 (+.f64 y x) -2 (+.f64 z x)) (*.f64 (pow.f64 (+.f64 y x) 2) 4)))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (pow.f64 (+.f64 x z) 2))) (neg.f64 (-.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 y x) 2) 4) (pow.f64 (+.f64 z x) 2)) (-.f64 (*.f64 2 (+.f64 y x)) (+.f64 z x)))
(/.f64 (fma.f64 (pow.f64 (+.f64 y x) 2) -4 (pow.f64 (+.f64 z x) 2)) (fma.f64 (+.f64 y x) -2 (+.f64 z x)))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (+.f64 x y) x) 3) (pow.f64 z 3)) (+.f64 (*.f64 (fma.f64 2 (+.f64 x y) x) (fma.f64 2 (+.f64 x y) x)) (-.f64 (pow.f64 z 2) (*.f64 (fma.f64 2 (+.f64 x y) x) z))))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (+.f64 y x) x) 3) (pow.f64 z 3)) (fma.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x) (-.f64 (pow.f64 z 2) (*.f64 z (fma.f64 2 (+.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (+.f64 y x) x) 3) (pow.f64 z 3)) (fma.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x) (*.f64 z (-.f64 z (fma.f64 2 (+.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (fma.f64 2 y (*.f64 3 x)) 3)) (fma.f64 (fma.f64 2 y (*.f64 3 x)) (-.f64 (fma.f64 2 y (*.f64 3 x)) z) (pow.f64 z 2)))
(/.f64 (-.f64 (pow.f64 (+.f64 x z) 2) (*.f64 (pow.f64 (+.f64 x y) 2) 4)) (-.f64 (+.f64 x z) (*.f64 2 (+.f64 x y))))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 y x) 2) 4) (pow.f64 (+.f64 z x) 2)) (-.f64 (*.f64 2 (+.f64 y x)) (+.f64 z x)))
(/.f64 (fma.f64 (pow.f64 (+.f64 y x) 2) -4 (pow.f64 (+.f64 z x) 2)) (fma.f64 (+.f64 y x) -2 (+.f64 z x)))
(/.f64 (-.f64 (*.f64 (fma.f64 2 (+.f64 x y) x) (fma.f64 2 (+.f64 x y) x)) (pow.f64 z 2)) (-.f64 (fma.f64 2 (+.f64 x y) x) z))
(/.f64 (-.f64 (*.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x)) (pow.f64 z 2)) (-.f64 (fma.f64 2 (+.f64 y x) x) z))
(/.f64 (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 y -2 (*.f64 x -3)) 2)) (+.f64 z (fma.f64 y -2 (*.f64 x -3))))
(pow.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)) 1)
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) 3)
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(pow.f64 (pow.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)) 3) 1/3)
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(pow.f64 (sqrt.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) 2)
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(sqrt.f64 (pow.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)) 2))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(log.f64 (exp.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(cbrt.f64 (pow.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z)) 3))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(expm1.f64 (log1p.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(exp.f64 (log.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(exp.f64 (*.f64 (log.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))) 1))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(log1p.f64 (expm1.f64 (fma.f64 2 (+.f64 x y) (+.f64 x z))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(fma.f64 2 (+.f64 x y) (+.f64 x z))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(fma.f64 (+.f64 x y) 2 (+.f64 x z))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(fma.f64 1 (*.f64 2 (+.f64 x y)) (+.f64 x z))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(fma.f64 1 (+.f64 x z) (*.f64 2 (+.f64 x y)))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x z)) 2) (cbrt.f64 (+.f64 x z)) (*.f64 2 (+.f64 x y)))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 2 (+.f64 x y))) 2) (cbrt.f64 (*.f64 2 (+.f64 x y))) (+.f64 x z))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(fma.f64 (sqrt.f64 (+.f64 x z)) (sqrt.f64 (+.f64 x z)) (*.f64 2 (+.f64 x y)))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(fma.f64 (sqrt.f64 (*.f64 2 (+.f64 x y))) (sqrt.f64 (*.f64 2 (+.f64 x y))) (+.f64 x z))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 z (neg.f64 (fma.f64 x -3 (*.f64 y -2))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 z (*.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) 1))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) (fma.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) 1 (fma.f64 x -3 (*.f64 y -2))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 x -3 (*.f64 y -2)))) (pow.f64 (cbrt.f64 (fma.f64 x -3 (*.f64 y -2))) 2) (fma.f64 x -3 (*.f64 y -2))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) (fma.f64 (neg.f64 (sqrt.f64 (fma.f64 x -3 (*.f64 y -2)))) (sqrt.f64 (fma.f64 x -3 (*.f64 y -2))) (fma.f64 x -3 (*.f64 y -2))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(+.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) z)
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) 1)
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 1 (-.f64 z (fma.f64 x -3 (*.f64 y -2))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 (cbrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) (pow.f64 (cbrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) 2))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) 2) (cbrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 (sqrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) (sqrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(*.f64 (-.f64 (pow.f64 z 3) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 3)) (/.f64 1 (fma.f64 z z (*.f64 (fma.f64 x -3 (*.f64 y -2)) (+.f64 z (fma.f64 x -3 (*.f64 y -2)))))))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (+.f64 y x) x) 3) (pow.f64 z 3)) (fma.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x) (-.f64 (pow.f64 z 2) (*.f64 z (fma.f64 2 (+.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (+.f64 y x) x) 3) (pow.f64 z 3)) (fma.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x) (*.f64 z (-.f64 z (fma.f64 2 (+.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (fma.f64 2 y (*.f64 3 x)) 3)) (fma.f64 (fma.f64 2 y (*.f64 3 x)) (-.f64 (fma.f64 2 y (*.f64 3 x)) z) (pow.f64 z 2)))
(*.f64 (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 2)) (/.f64 1 (+.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(/.f64 (-.f64 (*.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x)) (pow.f64 z 2)) (-.f64 (fma.f64 2 (+.f64 y x) x) z))
(/.f64 (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 y -2 (*.f64 x -3)) 2)) (+.f64 z (fma.f64 y -2 (*.f64 x -3))))
(*.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (fma.f64 x -3 (*.f64 y -2)))) (-.f64 (sqrt.f64 z) (sqrt.f64 (fma.f64 x -3 (*.f64 y -2)))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(/.f64 1 (/.f64 (fma.f64 z z (*.f64 (fma.f64 x -3 (*.f64 y -2)) (+.f64 z (fma.f64 x -3 (*.f64 y -2))))) (-.f64 (pow.f64 z 3) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 3))))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (+.f64 y x) x) 3) (pow.f64 z 3)) (fma.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x) (-.f64 (pow.f64 z 2) (*.f64 z (fma.f64 2 (+.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (+.f64 y x) x) 3) (pow.f64 z 3)) (fma.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x) (*.f64 z (-.f64 z (fma.f64 2 (+.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (fma.f64 2 y (*.f64 3 x)) 3)) (fma.f64 (fma.f64 2 y (*.f64 3 x)) (-.f64 (fma.f64 2 y (*.f64 3 x)) z) (pow.f64 z 2)))
(/.f64 1 (/.f64 (+.f64 z (fma.f64 x -3 (*.f64 y -2))) (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 2))))
(/.f64 (-.f64 (*.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x)) (pow.f64 z 2)) (-.f64 (fma.f64 2 (+.f64 y x) x) z))
(/.f64 (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 y -2 (*.f64 x -3)) 2)) (+.f64 z (fma.f64 y -2 (*.f64 x -3))))
(/.f64 (-.f64 (pow.f64 z 3) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 3)) (fma.f64 z z (*.f64 (fma.f64 x -3 (*.f64 y -2)) (+.f64 z (fma.f64 x -3 (*.f64 y -2))))))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (+.f64 y x) x) 3) (pow.f64 z 3)) (fma.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x) (-.f64 (pow.f64 z 2) (*.f64 z (fma.f64 2 (+.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (+.f64 y x) x) 3) (pow.f64 z 3)) (fma.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x) (*.f64 z (-.f64 z (fma.f64 2 (+.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (fma.f64 2 y (*.f64 3 x)) 3)) (fma.f64 (fma.f64 2 y (*.f64 3 x)) (-.f64 (fma.f64 2 y (*.f64 3 x)) z) (pow.f64 z 2)))
(/.f64 (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 2)) (+.f64 z (fma.f64 x -3 (*.f64 y -2))))
(/.f64 (-.f64 (*.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x)) (pow.f64 z 2)) (-.f64 (fma.f64 2 (+.f64 y x) x) z))
(/.f64 (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 y -2 (*.f64 x -3)) 2)) (+.f64 z (fma.f64 y -2 (*.f64 x -3))))
(/.f64 (neg.f64 (-.f64 (pow.f64 z 3) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 3))) (neg.f64 (fma.f64 z z (*.f64 (fma.f64 x -3 (*.f64 y -2)) (+.f64 z (fma.f64 x -3 (*.f64 y -2)))))))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (+.f64 y x) x) 3) (pow.f64 z 3)) (fma.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x) (-.f64 (pow.f64 z 2) (*.f64 z (fma.f64 2 (+.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (+.f64 y x) x) 3) (pow.f64 z 3)) (fma.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x) (*.f64 z (-.f64 z (fma.f64 2 (+.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (fma.f64 2 y (*.f64 3 x)) 3)) (fma.f64 (fma.f64 2 y (*.f64 3 x)) (-.f64 (fma.f64 2 y (*.f64 3 x)) z) (pow.f64 z 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 x -3 (*.f64 y -2)) 2))) (neg.f64 (+.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(/.f64 (-.f64 (*.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x)) (pow.f64 z 2)) (-.f64 (fma.f64 2 (+.f64 y x) x) z))
(/.f64 (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 y -2 (*.f64 x -3)) 2)) (+.f64 z (fma.f64 y -2 (*.f64 x -3))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) 3)) (+.f64 (pow.f64 z 2) (-.f64 (*.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) (neg.f64 (fma.f64 x -3 (*.f64 y -2)))) (*.f64 z (neg.f64 (fma.f64 x -3 (*.f64 y -2)))))))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (+.f64 y x) x) 3) (pow.f64 z 3)) (fma.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x) (-.f64 (pow.f64 z 2) (*.f64 z (fma.f64 2 (+.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (+.f64 y x) x) 3) (pow.f64 z 3)) (fma.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x) (*.f64 z (-.f64 z (fma.f64 2 (+.f64 y x) x)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (fma.f64 2 y (*.f64 3 x)) 3)) (fma.f64 (fma.f64 2 y (*.f64 3 x)) (-.f64 (fma.f64 2 y (*.f64 3 x)) z) (pow.f64 z 2)))
(/.f64 (-.f64 (pow.f64 z 2) (*.f64 (neg.f64 (fma.f64 x -3 (*.f64 y -2))) (neg.f64 (fma.f64 x -3 (*.f64 y -2))))) (-.f64 z (neg.f64 (fma.f64 x -3 (*.f64 y -2)))))
(/.f64 (-.f64 (*.f64 (fma.f64 2 (+.f64 y x) x) (fma.f64 2 (+.f64 y x) x)) (pow.f64 z 2)) (-.f64 (fma.f64 2 (+.f64 y x) x) z))
(/.f64 (-.f64 (pow.f64 z 2) (pow.f64 (fma.f64 y -2 (*.f64 x -3)) 2)) (+.f64 z (fma.f64 y -2 (*.f64 x -3))))
(pow.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) 1)
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(pow.f64 (cbrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) 3)
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(pow.f64 (pow.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) 3) 1/3)
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(pow.f64 (sqrt.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) 2)
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(sqrt.f64 (pow.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) 2))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(log.f64 (exp.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(log.f64 (+.f64 1 (expm1.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(cbrt.f64 (pow.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2))) 3))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(expm1.f64 (log1p.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(exp.f64 (log.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(exp.f64 (*.f64 (log.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))) 1))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(log1p.f64 (expm1.f64 (-.f64 z (fma.f64 x -3 (*.f64 y -2)))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(fma.f64 1 z (neg.f64 (fma.f64 x -3 (*.f64 y -2))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (neg.f64 (fma.f64 x -3 (*.f64 y -2))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (neg.f64 (fma.f64 x -3 (*.f64 y -2))))
(+.f64 z (fma.f64 2 y (*.f64 3 x)))

eval35.0ms (0.7%)

Compiler

Compiled 1839 to 1058 computations (42.5% saved)

prune21.0ms (0.4%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New998107
Fresh000
Picked112
Done000
Total1009109
Accuracy
100.0%
Counts
109 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
71.3%
(fma.f64 3 x z)
100.0%
(-.f64 z (fma.f64 x -3 (*.f64 y -2)))
64.9%
(-.f64 z (*.f64 -2 y))
71.2%
(-.f64 z (*.f64 -3 x))
71.2%
(+.f64 x (+.f64 z (*.f64 2 x)))
65.0%
(+.f64 x (*.f64 2 (+.f64 x y)))
36.2%
(*.f64 3 x)
30.6%
(*.f64 2 y)
37.0%
z
Compiler

Compiled 129 to 96 computations (25.6% saved)

localize158.0ms (3.1%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
99.9%
(+.f64 x (+.f64 z (*.f64 2 x)))
Compiler

Compiled 46 to 26 computations (43.5% saved)

series1.0ms (0%)

Counts
1 → 15
Calls

6 calls:

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

rewrite85.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
910×fma-def
757×log1p-expm1-u
757×expm1-log1p-u
636×log-prod
570×pow-prod-down
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01128
112924
2198524
Stop Event
node limit
Counts
1 → 82
Calls
Call 1
Inputs
(+.f64 x (+.f64 z (*.f64 2 x)))
Outputs
(-.f64 (exp.f64 (log1p.f64 (+.f64 x (fma.f64 x 2 z)))) 1)
(-.f64 (/.f64 (pow.f64 x 2) (-.f64 x (fma.f64 x 2 z))) (/.f64 (pow.f64 (fma.f64 x 2 z) 2) (-.f64 x (fma.f64 x 2 z))))
(*.f64 (+.f64 x (fma.f64 x 2 z)) 1)
(*.f64 (+.f64 x (fma.f64 x 2 z)) (log.f64 (exp.f64 1)))
(*.f64 1 (+.f64 x (fma.f64 x 2 z)))
(*.f64 (cbrt.f64 (+.f64 x (fma.f64 x 2 z))) (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x 2 z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x 2 z))) 2) (cbrt.f64 (+.f64 x (fma.f64 x 2 z))))
(*.f64 (sqrt.f64 (+.f64 x (fma.f64 x 2 z))) (sqrt.f64 (+.f64 x (fma.f64 x 2 z))))
(*.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2))))
(*.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (/.f64 1 (-.f64 x (fma.f64 x 2 z))))
(/.f64 1 (/.f64 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2)) (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (-.f64 x (fma.f64 x 2 z)) (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (fma.f64 x 2 z) 2) (-.f64 (pow.f64 x 2) (*.f64 x (fma.f64 x 2 z)))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 x (fma.f64 x 2 z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2))) (neg.f64 (-.f64 x (fma.f64 x 2 z))))
(/.f64 (+.f64 (pow.f64 (+.f64 x z) 3) (*.f64 (pow.f64 x 3) 8)) (+.f64 (pow.f64 (+.f64 x z) 2) (-.f64 (*.f64 (pow.f64 x 2) 4) (*.f64 (+.f64 x z) (*.f64 x 2)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 x 2 z) 2) (pow.f64 x 2)) (-.f64 (fma.f64 x 2 z) x))
(/.f64 (-.f64 (pow.f64 (+.f64 x z) 2) (*.f64 (pow.f64 x 2) 4)) (-.f64 (+.f64 x z) (*.f64 x 2)))
(pow.f64 (+.f64 x (fma.f64 x 2 z)) 1)
(pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x 2 z))) 3)
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x 2 z)) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x 2 z)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 x (fma.f64 x 2 z))) 2)
(pow.f64 (/.f64 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2)) (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3))) -1)
(pow.f64 (/.f64 (-.f64 x (fma.f64 x 2 z)) (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2))) -1)
(sqrt.f64 (pow.f64 (+.f64 x (fma.f64 x 2 z)) 2))
(log.f64 (*.f64 (exp.f64 z) (pow.f64 (exp.f64 x) 3)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 x (fma.f64 x 2 z)))))
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (fma.f64 x 2 z)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (fma.f64 x 2 z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (fma.f64 x 2 z)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) 2) (exp.f64 (+.f64 x z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 2))) (*.f64 (exp.f64 x) (exp.f64 z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 2))) (exp.f64 (+.f64 x z))))
(log.f64 (*.f64 (exp.f64 (fma.f64 x 2 z)) (+.f64 1 (expm1.f64 x))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x 2 z))) (exp.f64 x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x 2 z))) (+.f64 1 (expm1.f64 x))))
(log.f64 (*.f64 (*.f64 (exp.f64 x) (exp.f64 z)) (+.f64 1 (expm1.f64 (*.f64 x 2)))))
(log.f64 (*.f64 (exp.f64 (+.f64 x z)) (+.f64 1 (expm1.f64 (*.f64 x 2)))))
(cbrt.f64 (pow.f64 (+.f64 x (fma.f64 x 2 z)) 3))
(expm1.f64 (log1p.f64 (+.f64 x (fma.f64 x 2 z))))
(exp.f64 (log.f64 (+.f64 x (fma.f64 x 2 z))))
(exp.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x 2 z))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x 2 z))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 x (fma.f64 x 2 z)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 x (fma.f64 x 2 z)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 x (fma.f64 x 2 z)))) 2))
(log1p.f64 (expm1.f64 (+.f64 x (fma.f64 x 2 z))))
(fma.f64 x 2 (+.f64 x z))
(fma.f64 x 1 (fma.f64 x 2 z))
(fma.f64 z 1 (fma.f64 x 2 x))
(fma.f64 2 x (+.f64 x z))
(fma.f64 (*.f64 x 2) 1 (+.f64 x z))
(fma.f64 (fma.f64 x 2 z) 1 x)
(fma.f64 1 x (fma.f64 x 2 z))
(fma.f64 1 z (fma.f64 x 2 x))
(fma.f64 1 (*.f64 x 2) (+.f64 x z))
(fma.f64 1 (fma.f64 x 2 z) x)
(fma.f64 1 (+.f64 x z) (*.f64 x 2))
(fma.f64 (cbrt.f64 (fma.f64 x 2 z)) (pow.f64 (cbrt.f64 (fma.f64 x 2 z)) 2) x)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x 2 z)) 2) (cbrt.f64 (fma.f64 x 2 z)) x)
(fma.f64 (cbrt.f64 (*.f64 x 2)) (pow.f64 (cbrt.f64 (*.f64 x 2)) 2) (+.f64 x z))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 2)) 2) (cbrt.f64 (*.f64 x 2)) (+.f64 x z))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (fma.f64 x 2 z))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 x 2 z))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 2) (+.f64 x z))
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (fma.f64 x 2 x))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (fma.f64 x 2 x))
(fma.f64 (sqrt.f64 (fma.f64 x 2 z)) (sqrt.f64 (fma.f64 x 2 z)) x)
(fma.f64 (sqrt.f64 (*.f64 x 2)) (sqrt.f64 (*.f64 x 2)) (+.f64 x z))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 x 2 z))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 2) (+.f64 x z))
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (fma.f64 x 2 x))
(fma.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 z 3)) (/.f64 1 (fma.f64 (*.f64 x 2) (fma.f64 x 2 (neg.f64 z)) (pow.f64 z 2))) x)
(fma.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 4)) (/.f64 1 (+.f64 z (*.f64 -2 x))) x)
(fma.f64 (+.f64 x z) 1 (*.f64 x 2))
(fma.f64 (*.f64 (cbrt.f64 (+.f64 x z)) (cbrt.f64 (+.f64 x z))) (cbrt.f64 (+.f64 x z)) (*.f64 x 2))
(fma.f64 (sqrt.f64 (+.f64 x z)) (sqrt.f64 (+.f64 x z)) (*.f64 x 2))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 x z))
(fma.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 x) (+.f64 x z))

simplify81.0ms (1.6%)

Algorithm
egg-herbie
Rules
1142×div-sub
1104×fma-neg
952×fma-def
610×distribute-lft-in
590×distribute-rgt-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02172860
15472511
213372377
352762377
Stop Event
node limit
Counts
97 → 101
Calls
Call 1
Inputs
z
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
(*.f64 3 x)
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
(*.f64 3 x)
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
(+.f64 x (*.f64 2 x))
z
z
(-.f64 (exp.f64 (log1p.f64 (+.f64 x (fma.f64 x 2 z)))) 1)
(-.f64 (/.f64 (pow.f64 x 2) (-.f64 x (fma.f64 x 2 z))) (/.f64 (pow.f64 (fma.f64 x 2 z) 2) (-.f64 x (fma.f64 x 2 z))))
(*.f64 (+.f64 x (fma.f64 x 2 z)) 1)
(*.f64 (+.f64 x (fma.f64 x 2 z)) (log.f64 (exp.f64 1)))
(*.f64 1 (+.f64 x (fma.f64 x 2 z)))
(*.f64 (cbrt.f64 (+.f64 x (fma.f64 x 2 z))) (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x 2 z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x 2 z))) 2) (cbrt.f64 (+.f64 x (fma.f64 x 2 z))))
(*.f64 (sqrt.f64 (+.f64 x (fma.f64 x 2 z))) (sqrt.f64 (+.f64 x (fma.f64 x 2 z))))
(*.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2))))
(*.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (/.f64 1 (-.f64 x (fma.f64 x 2 z))))
(/.f64 1 (/.f64 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2)) (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (-.f64 x (fma.f64 x 2 z)) (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (fma.f64 x 2 z) 2) (-.f64 (pow.f64 x 2) (*.f64 x (fma.f64 x 2 z)))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 x (fma.f64 x 2 z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2))) (neg.f64 (-.f64 x (fma.f64 x 2 z))))
(/.f64 (+.f64 (pow.f64 (+.f64 x z) 3) (*.f64 (pow.f64 x 3) 8)) (+.f64 (pow.f64 (+.f64 x z) 2) (-.f64 (*.f64 (pow.f64 x 2) 4) (*.f64 (+.f64 x z) (*.f64 x 2)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 x 2 z) 2) (pow.f64 x 2)) (-.f64 (fma.f64 x 2 z) x))
(/.f64 (-.f64 (pow.f64 (+.f64 x z) 2) (*.f64 (pow.f64 x 2) 4)) (-.f64 (+.f64 x z) (*.f64 x 2)))
(pow.f64 (+.f64 x (fma.f64 x 2 z)) 1)
(pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x 2 z))) 3)
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x 2 z)) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x 2 z)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 x (fma.f64 x 2 z))) 2)
(pow.f64 (/.f64 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2)) (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3))) -1)
(pow.f64 (/.f64 (-.f64 x (fma.f64 x 2 z)) (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2))) -1)
(sqrt.f64 (pow.f64 (+.f64 x (fma.f64 x 2 z)) 2))
(log.f64 (*.f64 (exp.f64 z) (pow.f64 (exp.f64 x) 3)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 x (fma.f64 x 2 z)))))
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (fma.f64 x 2 z)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (fma.f64 x 2 z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (fma.f64 x 2 z)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) 2) (exp.f64 (+.f64 x z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 2))) (*.f64 (exp.f64 x) (exp.f64 z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 2))) (exp.f64 (+.f64 x z))))
(log.f64 (*.f64 (exp.f64 (fma.f64 x 2 z)) (+.f64 1 (expm1.f64 x))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x 2 z))) (exp.f64 x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x 2 z))) (+.f64 1 (expm1.f64 x))))
(log.f64 (*.f64 (*.f64 (exp.f64 x) (exp.f64 z)) (+.f64 1 (expm1.f64 (*.f64 x 2)))))
(log.f64 (*.f64 (exp.f64 (+.f64 x z)) (+.f64 1 (expm1.f64 (*.f64 x 2)))))
(cbrt.f64 (pow.f64 (+.f64 x (fma.f64 x 2 z)) 3))
(expm1.f64 (log1p.f64 (+.f64 x (fma.f64 x 2 z))))
(exp.f64 (log.f64 (+.f64 x (fma.f64 x 2 z))))
(exp.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x 2 z))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x 2 z))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 x (fma.f64 x 2 z)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 x (fma.f64 x 2 z)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 x (fma.f64 x 2 z)))) 2))
(log1p.f64 (expm1.f64 (+.f64 x (fma.f64 x 2 z))))
(fma.f64 x 2 (+.f64 x z))
(fma.f64 x 1 (fma.f64 x 2 z))
(fma.f64 z 1 (fma.f64 x 2 x))
(fma.f64 2 x (+.f64 x z))
(fma.f64 (*.f64 x 2) 1 (+.f64 x z))
(fma.f64 (fma.f64 x 2 z) 1 x)
(fma.f64 1 x (fma.f64 x 2 z))
(fma.f64 1 z (fma.f64 x 2 x))
(fma.f64 1 (*.f64 x 2) (+.f64 x z))
(fma.f64 1 (fma.f64 x 2 z) x)
(fma.f64 1 (+.f64 x z) (*.f64 x 2))
(fma.f64 (cbrt.f64 (fma.f64 x 2 z)) (pow.f64 (cbrt.f64 (fma.f64 x 2 z)) 2) x)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x 2 z)) 2) (cbrt.f64 (fma.f64 x 2 z)) x)
(fma.f64 (cbrt.f64 (*.f64 x 2)) (pow.f64 (cbrt.f64 (*.f64 x 2)) 2) (+.f64 x z))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 2)) 2) (cbrt.f64 (*.f64 x 2)) (+.f64 x z))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (fma.f64 x 2 z))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 x 2 z))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 2) (+.f64 x z))
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (fma.f64 x 2 x))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (fma.f64 x 2 x))
(fma.f64 (sqrt.f64 (fma.f64 x 2 z)) (sqrt.f64 (fma.f64 x 2 z)) x)
(fma.f64 (sqrt.f64 (*.f64 x 2)) (sqrt.f64 (*.f64 x 2)) (+.f64 x z))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 x 2 z))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 2) (+.f64 x z))
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (fma.f64 x 2 x))
(fma.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 z 3)) (/.f64 1 (fma.f64 (*.f64 x 2) (fma.f64 x 2 (neg.f64 z)) (pow.f64 z 2))) x)
(fma.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 4)) (/.f64 1 (+.f64 z (*.f64 -2 x))) x)
(fma.f64 (+.f64 x z) 1 (*.f64 x 2))
(fma.f64 (*.f64 (cbrt.f64 (+.f64 x z)) (cbrt.f64 (+.f64 x z))) (cbrt.f64 (+.f64 x z)) (*.f64 x 2))
(fma.f64 (sqrt.f64 (+.f64 x z)) (sqrt.f64 (+.f64 x z)) (*.f64 x 2))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 x z))
(fma.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 x) (+.f64 x z))
Outputs
z
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(*.f64 3 x)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(*.f64 3 x)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(+.f64 x (*.f64 2 x))
(*.f64 3 x)
z
z
(-.f64 (exp.f64 (log1p.f64 (+.f64 x (fma.f64 x 2 z)))) 1)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(-.f64 (/.f64 (pow.f64 x 2) (-.f64 x (fma.f64 x 2 z))) (/.f64 (pow.f64 (fma.f64 x 2 z) 2) (-.f64 x (fma.f64 x 2 z))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 x (fma.f64 x 2 z)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 (neg.f64 z) x))
(*.f64 (+.f64 x (fma.f64 x 2 z)) 1)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(*.f64 (+.f64 x (fma.f64 x 2 z)) (log.f64 (exp.f64 1)))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(*.f64 1 (+.f64 x (fma.f64 x 2 z)))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(*.f64 (cbrt.f64 (+.f64 x (fma.f64 x 2 z))) (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x 2 z))) 2))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x 2 z))) 2) (cbrt.f64 (+.f64 x (fma.f64 x 2 z))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(*.f64 (sqrt.f64 (+.f64 x (fma.f64 x 2 z))) (sqrt.f64 (+.f64 x (fma.f64 x 2 z))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(*.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 (neg.f64 z) x) (pow.f64 (fma.f64 x 2 z) 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (-.f64 (pow.f64 (fma.f64 x 2 z) 2) (*.f64 x (+.f64 z x))))
(*.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (/.f64 1 (-.f64 x (fma.f64 x 2 z))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 x (fma.f64 x 2 z)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 (neg.f64 z) x))
(/.f64 1 (/.f64 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2)) (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3))))
(*.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 (neg.f64 z) x) (pow.f64 (fma.f64 x 2 z) 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (-.f64 (pow.f64 (fma.f64 x 2 z) 2) (*.f64 x (+.f64 z x))))
(/.f64 1 (/.f64 (-.f64 x (fma.f64 x 2 z)) (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 x (fma.f64 x 2 z)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 (neg.f64 z) x))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2)))
(*.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 (neg.f64 z) x) (pow.f64 (fma.f64 x 2 z) 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (-.f64 (pow.f64 (fma.f64 x 2 z) 2) (*.f64 x (+.f64 z x))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (fma.f64 x 2 z) 2) (-.f64 (pow.f64 x 2) (*.f64 x (fma.f64 x 2 z)))))
(*.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 (neg.f64 z) x) (pow.f64 (fma.f64 x 2 z) 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (-.f64 (pow.f64 (fma.f64 x 2 z) 2) (*.f64 x (+.f64 z x))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 x (fma.f64 x 2 z)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 (neg.f64 z) x))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2))))
(*.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 (neg.f64 z) x) (pow.f64 (fma.f64 x 2 z) 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (-.f64 (pow.f64 (fma.f64 x 2 z) 2) (*.f64 x (+.f64 z x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2))) (neg.f64 (-.f64 x (fma.f64 x 2 z))))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 x (fma.f64 x 2 z)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 (neg.f64 z) x))
(/.f64 (+.f64 (pow.f64 (+.f64 x z) 3) (*.f64 (pow.f64 x 3) 8)) (+.f64 (pow.f64 (+.f64 x z) 2) (-.f64 (*.f64 (pow.f64 x 2) 4) (*.f64 (+.f64 x z) (*.f64 x 2)))))
(/.f64 (+.f64 (pow.f64 (+.f64 z x) 3) (*.f64 (pow.f64 x 3) 8)) (+.f64 (pow.f64 (+.f64 z x) 2) (-.f64 (*.f64 (pow.f64 x 2) 4) (*.f64 (+.f64 z x) (*.f64 x 2)))))
(/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (+.f64 z x) 3)) (+.f64 (pow.f64 (+.f64 z x) 2) (fma.f64 (pow.f64 x 2) 4 (*.f64 (+.f64 z x) (*.f64 x -2)))))
(/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (+.f64 z x) 3)) (fma.f64 (pow.f64 x 2) 4 (*.f64 (+.f64 z x) (-.f64 z x))))
(/.f64 (-.f64 (pow.f64 (fma.f64 x 2 z) 2) (pow.f64 x 2)) (-.f64 (fma.f64 x 2 z) x))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 x (fma.f64 x 2 z)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 (neg.f64 z) x))
(/.f64 (-.f64 (pow.f64 (+.f64 x z) 2) (*.f64 (pow.f64 x 2) 4)) (-.f64 (+.f64 x z) (*.f64 x 2)))
(/.f64 (-.f64 (pow.f64 (+.f64 z x) 2) (*.f64 (pow.f64 x 2) 4)) (+.f64 x (-.f64 z (*.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (+.f64 z x) 2) (*.f64 (pow.f64 x 2) -4)) (+.f64 x (fma.f64 x -2 z)))
(/.f64 (fma.f64 (pow.f64 x 2) -4 (pow.f64 (+.f64 z x) 2)) (-.f64 z x))
(pow.f64 (+.f64 x (fma.f64 x 2 z)) 1)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x 2 z))) 3)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x 2 z)) 2) 1/2)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x 2 z)) 3) 1/3)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(pow.f64 (sqrt.f64 (+.f64 x (fma.f64 x 2 z))) 2)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(pow.f64 (/.f64 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2)) (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3))) -1)
(*.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 x 2 z) (-.f64 (fma.f64 x 2 z) x) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 (neg.f64 z) x) (pow.f64 (fma.f64 x 2 z) 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x 2 z) 3) (pow.f64 x 3)) (-.f64 (pow.f64 (fma.f64 x 2 z) 2) (*.f64 x (+.f64 z x))))
(pow.f64 (/.f64 (-.f64 x (fma.f64 x 2 z)) (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2))) -1)
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 x (fma.f64 x 2 z)))
(/.f64 (-.f64 (pow.f64 x 2) (pow.f64 (fma.f64 x 2 z) 2)) (-.f64 (neg.f64 z) x))
(sqrt.f64 (pow.f64 (+.f64 x (fma.f64 x 2 z)) 2))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(log.f64 (*.f64 (exp.f64 z) (pow.f64 (exp.f64 x) 3)))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 x (fma.f64 x 2 z)))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (fma.f64 x 2 z)))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (fma.f64 x 2 z))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (fma.f64 x 2 z)))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(log.f64 (*.f64 (pow.f64 (exp.f64 x) 2) (exp.f64 (+.f64 x z))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 2))) (*.f64 (exp.f64 x) (exp.f64 z))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x 2))) (exp.f64 (+.f64 x z))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(log.f64 (*.f64 (exp.f64 (fma.f64 x 2 z)) (+.f64 1 (expm1.f64 x))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x 2 z))) (exp.f64 x)))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x 2 z))) (+.f64 1 (expm1.f64 x))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(log.f64 (*.f64 (*.f64 (exp.f64 x) (exp.f64 z)) (+.f64 1 (expm1.f64 (*.f64 x 2)))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(log.f64 (*.f64 (exp.f64 (+.f64 x z)) (+.f64 1 (expm1.f64 (*.f64 x 2)))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(cbrt.f64 (pow.f64 (+.f64 x (fma.f64 x 2 z)) 3))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(expm1.f64 (log1p.f64 (+.f64 x (fma.f64 x 2 z))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(exp.f64 (log.f64 (+.f64 x (fma.f64 x 2 z))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(exp.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x 2 z))) 1))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x 2 z))) 1) 1))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 x (fma.f64 x 2 z)))) 3))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 x (fma.f64 x 2 z)) 3)) 1/3))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 x (fma.f64 x 2 z)))) 2))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(log1p.f64 (expm1.f64 (+.f64 x (fma.f64 x 2 z))))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 x 2 (+.f64 x z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 x 1 (fma.f64 x 2 z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 z 1 (fma.f64 x 2 x))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 2 x (+.f64 x z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (*.f64 x 2) 1 (+.f64 x z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (fma.f64 x 2 z) 1 x)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 1 x (fma.f64 x 2 z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 1 z (fma.f64 x 2 x))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 1 (*.f64 x 2) (+.f64 x z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 1 (fma.f64 x 2 z) x)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 1 (+.f64 x z) (*.f64 x 2))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (cbrt.f64 (fma.f64 x 2 z)) (pow.f64 (cbrt.f64 (fma.f64 x 2 z)) 2) x)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x 2 z)) 2) (cbrt.f64 (fma.f64 x 2 z)) x)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (cbrt.f64 (*.f64 x 2)) (pow.f64 (cbrt.f64 (*.f64 x 2)) 2) (+.f64 x z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 2)) 2) (cbrt.f64 (*.f64 x 2)) (+.f64 x z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (fma.f64 x 2 z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 x 2 z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 2) (+.f64 x z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (fma.f64 x 2 x))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (fma.f64 x 2 x))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (sqrt.f64 (fma.f64 x 2 z)) (sqrt.f64 (fma.f64 x 2 z)) x)
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (sqrt.f64 (*.f64 x 2)) (sqrt.f64 (*.f64 x 2)) (+.f64 x z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 x 2 z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 2) (+.f64 x z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (fma.f64 x 2 x))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 z 3)) (/.f64 1 (fma.f64 (*.f64 x 2) (fma.f64 x 2 (neg.f64 z)) (pow.f64 z 2))) x)
(fma.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 z 3)) (/.f64 1 (fma.f64 (*.f64 x 2) (-.f64 (*.f64 x 2) z) (pow.f64 z 2))) x)
(+.f64 x (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 z 3)) (fma.f64 (*.f64 x 2) (-.f64 (*.f64 x 2) z) (pow.f64 z 2))))
(fma.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 4)) (/.f64 1 (+.f64 z (*.f64 -2 x))) x)
(fma.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 4)) (/.f64 1 (+.f64 z (*.f64 x -2))) x)
(fma.f64 (fma.f64 z z (*.f64 (pow.f64 x 2) -4)) (/.f64 1 (fma.f64 x -2 z)) x)
(+.f64 x (/.f64 (fma.f64 (pow.f64 x 2) -4 (pow.f64 z 2)) (fma.f64 x -2 z)))
(fma.f64 (+.f64 x z) 1 (*.f64 x 2))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (*.f64 (cbrt.f64 (+.f64 x z)) (cbrt.f64 (+.f64 x z))) (cbrt.f64 (+.f64 x z)) (*.f64 x 2))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (sqrt.f64 (+.f64 x z)) (sqrt.f64 (+.f64 x z)) (*.f64 x 2))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 x z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)
(fma.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 x) (+.f64 x z))
(+.f64 z (*.f64 3 x))
(fma.f64 3 x z)

eval35.0ms (0.7%)

Compiler

Compiled 1377 to 849 computations (38.3% saved)

prune17.0ms (0.3%)

Pruning

9 alts after pruning (3 fresh and 6 done)

PrunedKeptTotal
New1010101
Fresh033
Picked055
Done011
Total1019110
Accuracy
100.0%
Counts
110 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
71.3%
(fma.f64 3 x z)
100.0%
(-.f64 z (fma.f64 x -3 (*.f64 y -2)))
64.9%
(-.f64 z (*.f64 -2 y))
71.2%
(-.f64 z (*.f64 -3 x))
71.2%
(+.f64 x (+.f64 z (*.f64 2 x)))
65.0%
(+.f64 x (*.f64 2 (+.f64 x y)))
36.2%
(*.f64 3 x)
30.6%
(*.f64 2 y)
37.0%
z
Compiler

Compiled 70 to 52 computations (25.7% saved)

localize54.0ms (1.1%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
99.9%
(-.f64 z (*.f64 -3 x))
99.9%
(+.f64 x (*.f64 2 (+.f64 x y)))
Compiler

Compiled 38 to 20 computations (47.4% saved)

series2.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite109.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1181×log1p-expm1-u
1181×expm1-log1p-u
372×expm1-udef
372×log1p-udef
158×associate-*r*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01647
120743
2320943
Stop Event
node limit
Counts
2 → 76
Calls
Call 1
Inputs
(+.f64 x (*.f64 2 (+.f64 x y)))
(-.f64 z (*.f64 -3 x))
Outputs
(-.f64 (exp.f64 (log1p.f64 (fma.f64 2 (+.f64 x y) x))) 1)
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x (*.f64 -2 (+.f64 x y)))) (/.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (+.f64 x (*.f64 -2 (+.f64 x y)))))
(*.f64 (fma.f64 2 (+.f64 x y) x) 1)
(*.f64 1 (fma.f64 2 (+.f64 x y) x))
(*.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) x)) (pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) x)) 2) (cbrt.f64 (fma.f64 2 (+.f64 x y) x)))
(*.f64 (sqrt.f64 (fma.f64 2 (+.f64 x y) x)) (sqrt.f64 (fma.f64 2 (+.f64 x y) x)))
(*.f64 (+.f64 (pow.f64 (*.f64 2 (+.f64 x y)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 2 (+.f64 x y)) (-.f64 (*.f64 2 (+.f64 x y)) x)))))
(*.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 x y) 2) 4)) (/.f64 1 (+.f64 x (*.f64 -2 (+.f64 x y)))))
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 2 (+.f64 x y)) (-.f64 (*.f64 2 (+.f64 x y)) x))) (+.f64 (pow.f64 (*.f64 2 (+.f64 x y)) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (+.f64 x (*.f64 -2 (+.f64 x y))) (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 x y) 2) 4))))
(/.f64 (+.f64 (pow.f64 (*.f64 2 (+.f64 x y)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 2 (+.f64 x y)) (-.f64 (*.f64 2 (+.f64 x y)) x))))
(/.f64 (+.f64 (pow.f64 (*.f64 2 (+.f64 x y)) 3) (pow.f64 x 3)) (+.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (-.f64 (pow.f64 x 2) (*.f64 x (*.f64 2 (+.f64 x y))))))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 x y) 2) 4)) (+.f64 x (*.f64 -2 (+.f64 x y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 2 (+.f64 x y)) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 2 (+.f64 x y)) (-.f64 (*.f64 2 (+.f64 x y)) x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 x y) 2) 4))) (neg.f64 (+.f64 x (*.f64 -2 (+.f64 x y)))))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (pow.f64 x 2)) (-.f64 (*.f64 2 (+.f64 x y)) x))
(pow.f64 (fma.f64 2 (+.f64 x y) x) 1)
(pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) x)) 3)
(pow.f64 (pow.f64 (fma.f64 2 (+.f64 x y) x) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 2 (+.f64 x y) x)) 2)
(sqrt.f64 (pow.f64 (fma.f64 2 (+.f64 x y) x) 2))
(log.f64 (exp.f64 (fma.f64 2 (+.f64 x y) x)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 2 (+.f64 x y) x))))
(cbrt.f64 (pow.f64 (fma.f64 2 (+.f64 x y) x) 3))
(expm1.f64 (log1p.f64 (fma.f64 2 (+.f64 x y) x)))
(exp.f64 (log.f64 (fma.f64 2 (+.f64 x y) x)))
(exp.f64 (*.f64 (log.f64 (fma.f64 2 (+.f64 x y) x)) 1))
(log1p.f64 (expm1.f64 (fma.f64 2 (+.f64 x y) x)))
(fma.f64 2 (+.f64 x y) x)
(fma.f64 (+.f64 x y) 2 x)
(fma.f64 1 x (*.f64 2 (+.f64 x y)))
(fma.f64 1 (*.f64 2 (+.f64 x y)) x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 2 (+.f64 x y))) 2) (cbrt.f64 (*.f64 2 (+.f64 x y))) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 2 (+.f64 x y)))
(fma.f64 (sqrt.f64 (*.f64 2 (+.f64 x y))) (sqrt.f64 (*.f64 2 (+.f64 x y))) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 2 (+.f64 x y)))
(+.f64 z (*.f64 x 3))
(+.f64 z (*.f64 (*.f64 x 3) 1))
(+.f64 (+.f64 z (*.f64 x 3)) (fma.f64 3 x (*.f64 x -3)))
(+.f64 (+.f64 z (*.f64 x 3)) (fma.f64 (neg.f64 x) -3 (*.f64 x -3)))
(+.f64 (+.f64 z (*.f64 x 3)) (fma.f64 (*.f64 x 3) 1 (*.f64 x -3)))
(+.f64 (+.f64 z (*.f64 x 3)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x -3))) (pow.f64 (cbrt.f64 (*.f64 x -3)) 2) (*.f64 x -3)))
(+.f64 (+.f64 z (*.f64 x 3)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 x -3))) (sqrt.f64 (*.f64 x -3)) (*.f64 x -3)))
(+.f64 (*.f64 x 3) z)
(*.f64 (+.f64 z (*.f64 x 3)) 1)
(*.f64 1 (+.f64 z (*.f64 x 3)))
(*.f64 (cbrt.f64 (+.f64 z (*.f64 x 3))) (pow.f64 (cbrt.f64 (+.f64 z (*.f64 x 3))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 z (*.f64 x 3))) 2) (cbrt.f64 (+.f64 z (*.f64 x 3))))
(*.f64 (sqrt.f64 (+.f64 z (*.f64 x 3))) (sqrt.f64 (+.f64 z (*.f64 x 3))))
(*.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 x -3) 3)) (/.f64 1 (fma.f64 z z (*.f64 (*.f64 x -3) (+.f64 z (*.f64 x -3))))))
(*.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9)) (/.f64 1 (+.f64 z (*.f64 x -3))))
(*.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 x -3))) (-.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 x -3))))
(/.f64 1 (/.f64 (fma.f64 z z (*.f64 (*.f64 x -3) (+.f64 z (*.f64 x -3)))) (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 x -3) 3))))
(/.f64 1 (/.f64 (+.f64 z (*.f64 x -3)) (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9))))
(/.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 x -3) 3)) (fma.f64 z z (*.f64 (*.f64 x -3) (+.f64 z (*.f64 x -3)))))
(/.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9)) (+.f64 z (*.f64 x -3)))
(/.f64 (neg.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 x -3) 3))) (neg.f64 (fma.f64 z z (*.f64 (*.f64 x -3) (+.f64 z (*.f64 x -3))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9))) (neg.f64 (+.f64 z (*.f64 x -3))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x 3) 3)) (+.f64 (pow.f64 z 2) (-.f64 (*.f64 (*.f64 x 3) (*.f64 x 3)) (*.f64 z (*.f64 x 3)))))
(/.f64 (-.f64 (pow.f64 z 2) (*.f64 (*.f64 x 3) (*.f64 x 3))) (-.f64 z (*.f64 x 3)))
(pow.f64 (+.f64 z (*.f64 x 3)) 1)
(pow.f64 (cbrt.f64 (+.f64 z (*.f64 x 3))) 3)
(pow.f64 (pow.f64 (+.f64 z (*.f64 x 3)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 z (*.f64 x 3))) 2)
(sqrt.f64 (pow.f64 (+.f64 z (*.f64 x 3)) 2))
(log.f64 (exp.f64 (+.f64 z (*.f64 x 3))))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 z (*.f64 x 3)))))
(cbrt.f64 (pow.f64 (+.f64 z (*.f64 x 3)) 3))
(expm1.f64 (log1p.f64 (+.f64 z (*.f64 x 3))))
(exp.f64 (log.f64 (+.f64 z (*.f64 x 3))))
(exp.f64 (*.f64 (log.f64 (+.f64 z (*.f64 x 3))) 1))
(log1p.f64 (expm1.f64 (+.f64 z (*.f64 x 3))))
(fma.f64 1 z (*.f64 x 3))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x 3))
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x 3))

simplify68.0ms (1.3%)

Algorithm
egg-herbie
Rules
1966×fma-def
690×unswap-sqr
504×associate-+r+
476×*-commutative
424×cancel-sign-sub-inv
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02043553
15313348
219723190
Stop Event
node limit
Counts
124 → 99
Calls
Call 1
Inputs
(*.f64 2 y)
(+.f64 (*.f64 2 y) (*.f64 3 x))
(+.f64 (*.f64 2 y) (*.f64 3 x))
(+.f64 (*.f64 2 y) (*.f64 3 x))
(*.f64 3 x)
(+.f64 (*.f64 2 y) (*.f64 3 x))
(+.f64 (*.f64 2 y) (*.f64 3 x))
(+.f64 (*.f64 2 y) (*.f64 3 x))
(*.f64 3 x)
(+.f64 (*.f64 2 y) (*.f64 3 x))
(+.f64 (*.f64 2 y) (*.f64 3 x))
(+.f64 (*.f64 2 y) (*.f64 3 x))
(+.f64 x (*.f64 2 x))
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(*.f64 2 y)
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(*.f64 2 y)
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(*.f64 3 x)
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
z
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
z
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
z
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
(*.f64 3 x)
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
(*.f64 3 x)
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
(+.f64 z (*.f64 3 x))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 2 (+.f64 x y) x))) 1)
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x (*.f64 -2 (+.f64 x y)))) (/.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (+.f64 x (*.f64 -2 (+.f64 x y)))))
(*.f64 (fma.f64 2 (+.f64 x y) x) 1)
(*.f64 1 (fma.f64 2 (+.f64 x y) x))
(*.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) x)) (pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) x)) 2) (cbrt.f64 (fma.f64 2 (+.f64 x y) x)))
(*.f64 (sqrt.f64 (fma.f64 2 (+.f64 x y) x)) (sqrt.f64 (fma.f64 2 (+.f64 x y) x)))
(*.f64 (+.f64 (pow.f64 (*.f64 2 (+.f64 x y)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 2 (+.f64 x y)) (-.f64 (*.f64 2 (+.f64 x y)) x)))))
(*.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 x y) 2) 4)) (/.f64 1 (+.f64 x (*.f64 -2 (+.f64 x y)))))
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 2 (+.f64 x y)) (-.f64 (*.f64 2 (+.f64 x y)) x))) (+.f64 (pow.f64 (*.f64 2 (+.f64 x y)) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (+.f64 x (*.f64 -2 (+.f64 x y))) (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 x y) 2) 4))))
(/.f64 (+.f64 (pow.f64 (*.f64 2 (+.f64 x y)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 2 (+.f64 x y)) (-.f64 (*.f64 2 (+.f64 x y)) x))))
(/.f64 (+.f64 (pow.f64 (*.f64 2 (+.f64 x y)) 3) (pow.f64 x 3)) (+.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (-.f64 (pow.f64 x 2) (*.f64 x (*.f64 2 (+.f64 x y))))))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 x y) 2) 4)) (+.f64 x (*.f64 -2 (+.f64 x y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 2 (+.f64 x y)) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 2 (+.f64 x y)) (-.f64 (*.f64 2 (+.f64 x y)) x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 x y) 2) 4))) (neg.f64 (+.f64 x (*.f64 -2 (+.f64 x y)))))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (pow.f64 x 2)) (-.f64 (*.f64 2 (+.f64 x y)) x))
(pow.f64 (fma.f64 2 (+.f64 x y) x) 1)
(pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) x)) 3)
(pow.f64 (pow.f64 (fma.f64 2 (+.f64 x y) x) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 2 (+.f64 x y) x)) 2)
(sqrt.f64 (pow.f64 (fma.f64 2 (+.f64 x y) x) 2))
(log.f64 (exp.f64 (fma.f64 2 (+.f64 x y) x)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 2 (+.f64 x y) x))))
(cbrt.f64 (pow.f64 (fma.f64 2 (+.f64 x y) x) 3))
(expm1.f64 (log1p.f64 (fma.f64 2 (+.f64 x y) x)))
(exp.f64 (log.f64 (fma.f64 2 (+.f64 x y) x)))
(exp.f64 (*.f64 (log.f64 (fma.f64 2 (+.f64 x y) x)) 1))
(log1p.f64 (expm1.f64 (fma.f64 2 (+.f64 x y) x)))
(fma.f64 2 (+.f64 x y) x)
(fma.f64 (+.f64 x y) 2 x)
(fma.f64 1 x (*.f64 2 (+.f64 x y)))
(fma.f64 1 (*.f64 2 (+.f64 x y)) x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 2 (+.f64 x y))) 2) (cbrt.f64 (*.f64 2 (+.f64 x y))) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 2 (+.f64 x y)))
(fma.f64 (sqrt.f64 (*.f64 2 (+.f64 x y))) (sqrt.f64 (*.f64 2 (+.f64 x y))) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 2 (+.f64 x y)))
(+.f64 z (*.f64 x 3))
(+.f64 z (*.f64 (*.f64 x 3) 1))
(+.f64 (+.f64 z (*.f64 x 3)) (fma.f64 3 x (*.f64 x -3)))
(+.f64 (+.f64 z (*.f64 x 3)) (fma.f64 (neg.f64 x) -3 (*.f64 x -3)))
(+.f64 (+.f64 z (*.f64 x 3)) (fma.f64 (*.f64 x 3) 1 (*.f64 x -3)))
(+.f64 (+.f64 z (*.f64 x 3)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x -3))) (pow.f64 (cbrt.f64 (*.f64 x -3)) 2) (*.f64 x -3)))
(+.f64 (+.f64 z (*.f64 x 3)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 x -3))) (sqrt.f64 (*.f64 x -3)) (*.f64 x -3)))
(+.f64 (*.f64 x 3) z)
(*.f64 (+.f64 z (*.f64 x 3)) 1)
(*.f64 1 (+.f64 z (*.f64 x 3)))
(*.f64 (cbrt.f64 (+.f64 z (*.f64 x 3))) (pow.f64 (cbrt.f64 (+.f64 z (*.f64 x 3))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 z (*.f64 x 3))) 2) (cbrt.f64 (+.f64 z (*.f64 x 3))))
(*.f64 (sqrt.f64 (+.f64 z (*.f64 x 3))) (sqrt.f64 (+.f64 z (*.f64 x 3))))
(*.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 x -3) 3)) (/.f64 1 (fma.f64 z z (*.f64 (*.f64 x -3) (+.f64 z (*.f64 x -3))))))
(*.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9)) (/.f64 1 (+.f64 z (*.f64 x -3))))
(*.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 x -3))) (-.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 x -3))))
(/.f64 1 (/.f64 (fma.f64 z z (*.f64 (*.f64 x -3) (+.f64 z (*.f64 x -3)))) (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 x -3) 3))))
(/.f64 1 (/.f64 (+.f64 z (*.f64 x -3)) (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9))))
(/.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 x -3) 3)) (fma.f64 z z (*.f64 (*.f64 x -3) (+.f64 z (*.f64 x -3)))))
(/.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9)) (+.f64 z (*.f64 x -3)))
(/.f64 (neg.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 x -3) 3))) (neg.f64 (fma.f64 z z (*.f64 (*.f64 x -3) (+.f64 z (*.f64 x -3))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9))) (neg.f64 (+.f64 z (*.f64 x -3))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x 3) 3)) (+.f64 (pow.f64 z 2) (-.f64 (*.f64 (*.f64 x 3) (*.f64 x 3)) (*.f64 z (*.f64 x 3)))))
(/.f64 (-.f64 (pow.f64 z 2) (*.f64 (*.f64 x 3) (*.f64 x 3))) (-.f64 z (*.f64 x 3)))
(pow.f64 (+.f64 z (*.f64 x 3)) 1)
(pow.f64 (cbrt.f64 (+.f64 z (*.f64 x 3))) 3)
(pow.f64 (pow.f64 (+.f64 z (*.f64 x 3)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 z (*.f64 x 3))) 2)
(sqrt.f64 (pow.f64 (+.f64 z (*.f64 x 3)) 2))
(log.f64 (exp.f64 (+.f64 z (*.f64 x 3))))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 z (*.f64 x 3)))))
(cbrt.f64 (pow.f64 (+.f64 z (*.f64 x 3)) 3))
(expm1.f64 (log1p.f64 (+.f64 z (*.f64 x 3))))
(exp.f64 (log.f64 (+.f64 z (*.f64 x 3))))
(exp.f64 (*.f64 (log.f64 (+.f64 z (*.f64 x 3))) 1))
(log1p.f64 (expm1.f64 (+.f64 z (*.f64 x 3))))
(fma.f64 1 z (*.f64 x 3))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x 3))
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x 3))
Outputs
(*.f64 2 y)
(+.f64 (*.f64 2 y) (*.f64 3 x))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(+.f64 (*.f64 2 y) (*.f64 3 x))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(+.f64 (*.f64 2 y) (*.f64 3 x))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(*.f64 3 x)
(+.f64 (*.f64 2 y) (*.f64 3 x))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(+.f64 (*.f64 2 y) (*.f64 3 x))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(+.f64 (*.f64 2 y) (*.f64 3 x))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(*.f64 3 x)
(+.f64 (*.f64 2 y) (*.f64 3 x))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(+.f64 (*.f64 2 y) (*.f64 3 x))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(+.f64 (*.f64 2 y) (*.f64 3 x))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(+.f64 x (*.f64 2 x))
(*.f64 3 x)
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(*.f64 2 y)
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(*.f64 2 y)
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(+.f64 x (+.f64 (*.f64 2 x) (*.f64 2 y)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(*.f64 3 x)
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
z
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
z
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
z
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(*.f64 3 x)
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(*.f64 3 x)
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 z (*.f64 3 x))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 2 (+.f64 x y) x))) 1)
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 x (*.f64 -2 (+.f64 x y)))) (/.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (+.f64 x (*.f64 -2 (+.f64 x y)))))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 y x) 2) 4)) (+.f64 x (*.f64 (+.f64 y x) -2)))
(/.f64 (fma.f64 x x (*.f64 (pow.f64 (+.f64 y x) 2) -4)) (fma.f64 (+.f64 y x) -2 x))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 y x) 2) 4) (pow.f64 x 2)) (fma.f64 2 y x))
(*.f64 (fma.f64 2 (+.f64 x y) x) 1)
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(*.f64 1 (fma.f64 2 (+.f64 x y) x))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(*.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) x)) (pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) x)) 2))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) x)) 2) (cbrt.f64 (fma.f64 2 (+.f64 x y) x)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(*.f64 (sqrt.f64 (fma.f64 2 (+.f64 x y) x)) (sqrt.f64 (fma.f64 2 (+.f64 x y) x)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(*.f64 (+.f64 (pow.f64 (*.f64 2 (+.f64 x y)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 2 (+.f64 x y)) (-.f64 (*.f64 2 (+.f64 x y)) x)))))
(*.f64 (+.f64 (*.f64 8 (pow.f64 (+.f64 y x) 3)) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 2 (*.f64 (+.f64 y x) (fma.f64 2 (+.f64 y x) (neg.f64 x)))))))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 2 (*.f64 (+.f64 y x) (fma.f64 2 (+.f64 y x) (neg.f64 x))))))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 x 3)) (fma.f64 2 (*.f64 (+.f64 y x) (fma.f64 2 y x)) (pow.f64 x 2)))
(*.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 x y) 2) 4)) (/.f64 1 (+.f64 x (*.f64 -2 (+.f64 x y)))))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 y x) 2) 4)) (+.f64 x (*.f64 (+.f64 y x) -2)))
(/.f64 (fma.f64 x x (*.f64 (pow.f64 (+.f64 y x) 2) -4)) (fma.f64 (+.f64 y x) -2 x))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 y x) 2) 4) (pow.f64 x 2)) (fma.f64 2 y x))
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 2 (+.f64 x y)) (-.f64 (*.f64 2 (+.f64 x y)) x))) (+.f64 (pow.f64 (*.f64 2 (+.f64 x y)) 3) (pow.f64 x 3))))
(*.f64 (+.f64 (*.f64 8 (pow.f64 (+.f64 y x) 3)) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 2 (*.f64 (+.f64 y x) (fma.f64 2 (+.f64 y x) (neg.f64 x)))))))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 2 (*.f64 (+.f64 y x) (fma.f64 2 (+.f64 y x) (neg.f64 x))))))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 x 3)) (fma.f64 2 (*.f64 (+.f64 y x) (fma.f64 2 y x)) (pow.f64 x 2)))
(/.f64 1 (/.f64 (+.f64 x (*.f64 -2 (+.f64 x y))) (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 x y) 2) 4))))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 y x) 2) 4)) (+.f64 x (*.f64 (+.f64 y x) -2)))
(/.f64 (fma.f64 x x (*.f64 (pow.f64 (+.f64 y x) 2) -4)) (fma.f64 (+.f64 y x) -2 x))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 y x) 2) 4) (pow.f64 x 2)) (fma.f64 2 y x))
(/.f64 (+.f64 (pow.f64 (*.f64 2 (+.f64 x y)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 2 (+.f64 x y)) (-.f64 (*.f64 2 (+.f64 x y)) x))))
(*.f64 (+.f64 (*.f64 8 (pow.f64 (+.f64 y x) 3)) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 2 (*.f64 (+.f64 y x) (fma.f64 2 (+.f64 y x) (neg.f64 x)))))))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 2 (*.f64 (+.f64 y x) (fma.f64 2 (+.f64 y x) (neg.f64 x))))))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 x 3)) (fma.f64 2 (*.f64 (+.f64 y x) (fma.f64 2 y x)) (pow.f64 x 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 2 (+.f64 x y)) 3) (pow.f64 x 3)) (+.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (-.f64 (pow.f64 x 2) (*.f64 x (*.f64 2 (+.f64 x y))))))
(*.f64 (+.f64 (*.f64 8 (pow.f64 (+.f64 y x) 3)) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 2 (*.f64 (+.f64 y x) (fma.f64 2 (+.f64 y x) (neg.f64 x)))))))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 2 (*.f64 (+.f64 y x) (fma.f64 2 (+.f64 y x) (neg.f64 x))))))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 x 3)) (fma.f64 2 (*.f64 (+.f64 y x) (fma.f64 2 y x)) (pow.f64 x 2)))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 x y) 2) 4)) (+.f64 x (*.f64 -2 (+.f64 x y))))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 y x) 2) 4)) (+.f64 x (*.f64 (+.f64 y x) -2)))
(/.f64 (fma.f64 x x (*.f64 (pow.f64 (+.f64 y x) 2) -4)) (fma.f64 (+.f64 y x) -2 x))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 y x) 2) 4) (pow.f64 x 2)) (fma.f64 2 y x))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 2 (+.f64 x y)) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 2 (+.f64 x y)) (-.f64 (*.f64 2 (+.f64 x y)) x)))))
(*.f64 (+.f64 (*.f64 8 (pow.f64 (+.f64 y x) 3)) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 2 (*.f64 (+.f64 y x) (fma.f64 2 (+.f64 y x) (neg.f64 x)))))))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 2 (*.f64 (+.f64 y x) (fma.f64 2 (+.f64 y x) (neg.f64 x))))))
(/.f64 (fma.f64 8 (pow.f64 (+.f64 y x) 3) (pow.f64 x 3)) (fma.f64 2 (*.f64 (+.f64 y x) (fma.f64 2 y x)) (pow.f64 x 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 x y) 2) 4))) (neg.f64 (+.f64 x (*.f64 -2 (+.f64 x y)))))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 y x) 2) 4)) (+.f64 x (*.f64 (+.f64 y x) -2)))
(/.f64 (fma.f64 x x (*.f64 (pow.f64 (+.f64 y x) 2) -4)) (fma.f64 (+.f64 y x) -2 x))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 y x) 2) 4) (pow.f64 x 2)) (fma.f64 2 y x))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 x y) 2) 4) (pow.f64 x 2)) (-.f64 (*.f64 2 (+.f64 x y)) x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 (+.f64 y x) 2) 4)) (+.f64 x (*.f64 (+.f64 y x) -2)))
(/.f64 (fma.f64 x x (*.f64 (pow.f64 (+.f64 y x) 2) -4)) (fma.f64 (+.f64 y x) -2 x))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 y x) 2) 4) (pow.f64 x 2)) (fma.f64 2 y x))
(pow.f64 (fma.f64 2 (+.f64 x y) x) 1)
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(pow.f64 (cbrt.f64 (fma.f64 2 (+.f64 x y) x)) 3)
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(pow.f64 (pow.f64 (fma.f64 2 (+.f64 x y) x) 3) 1/3)
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(pow.f64 (sqrt.f64 (fma.f64 2 (+.f64 x y) x)) 2)
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(sqrt.f64 (pow.f64 (fma.f64 2 (+.f64 x y) x) 2))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(log.f64 (exp.f64 (fma.f64 2 (+.f64 x y) x)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 2 (+.f64 x y) x))))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(cbrt.f64 (pow.f64 (fma.f64 2 (+.f64 x y) x) 3))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(expm1.f64 (log1p.f64 (fma.f64 2 (+.f64 x y) x)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(exp.f64 (log.f64 (fma.f64 2 (+.f64 x y) x)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(exp.f64 (*.f64 (log.f64 (fma.f64 2 (+.f64 x y) x)) 1))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(log1p.f64 (expm1.f64 (fma.f64 2 (+.f64 x y) x)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(fma.f64 2 (+.f64 x y) x)
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(fma.f64 (+.f64 x y) 2 x)
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(fma.f64 1 x (*.f64 2 (+.f64 x y)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(fma.f64 1 (*.f64 2 (+.f64 x y)) x)
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 2 (+.f64 x y))) 2) (cbrt.f64 (*.f64 2 (+.f64 x y))) x)
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 2 (+.f64 x y)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(fma.f64 (sqrt.f64 (*.f64 2 (+.f64 x y))) (sqrt.f64 (*.f64 2 (+.f64 x y))) x)
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 2 (+.f64 x y)))
(fma.f64 2 y (*.f64 3 x))
(fma.f64 3 x (*.f64 2 y))
(+.f64 z (*.f64 x 3))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 z (*.f64 (*.f64 x 3) 1))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 (+.f64 z (*.f64 x 3)) (fma.f64 3 x (*.f64 x -3)))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 (+.f64 z (*.f64 x 3)) (fma.f64 (neg.f64 x) -3 (*.f64 x -3)))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 (+.f64 z (*.f64 x 3)) (fma.f64 (*.f64 x 3) 1 (*.f64 x -3)))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 (+.f64 z (*.f64 x 3)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x -3))) (pow.f64 (cbrt.f64 (*.f64 x -3)) 2) (*.f64 x -3)))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 (+.f64 z (*.f64 x 3)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 x -3))) (sqrt.f64 (*.f64 x -3)) (*.f64 x -3)))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(+.f64 (*.f64 x 3) z)
(fma.f64 x 3 z)
(fma.f64 3 x z)
(*.f64 (+.f64 z (*.f64 x 3)) 1)
(fma.f64 x 3 z)
(fma.f64 3 x z)
(*.f64 1 (+.f64 z (*.f64 x 3)))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(*.f64 (cbrt.f64 (+.f64 z (*.f64 x 3))) (pow.f64 (cbrt.f64 (+.f64 z (*.f64 x 3))) 2))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 z (*.f64 x 3))) 2) (cbrt.f64 (+.f64 z (*.f64 x 3))))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(*.f64 (sqrt.f64 (+.f64 z (*.f64 x 3))) (sqrt.f64 (+.f64 z (*.f64 x 3))))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(*.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 x -3) 3)) (/.f64 1 (fma.f64 z z (*.f64 (*.f64 x -3) (+.f64 z (*.f64 x -3))))))
(*.f64 (-.f64 (pow.f64 z 3) (*.f64 (pow.f64 x 3) -27)) (/.f64 1 (fma.f64 z z (*.f64 x (*.f64 -3 (+.f64 z (*.f64 x -3)))))))
(/.f64 (fma.f64 (pow.f64 x 3) 27 (pow.f64 z 3)) (fma.f64 z z (*.f64 x (*.f64 -3 (fma.f64 x -3 z)))))
(/.f64 (fma.f64 (pow.f64 x 3) 27 (pow.f64 z 3)) (fma.f64 x (*.f64 -3 (fma.f64 x -3 z)) (pow.f64 z 2)))
(*.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9)) (/.f64 1 (+.f64 z (*.f64 x -3))))
(/.f64 (fma.f64 z z (*.f64 (pow.f64 x 2) -9)) (fma.f64 x -3 z))
(/.f64 (fma.f64 (pow.f64 x 2) -9 (pow.f64 z 2)) (fma.f64 x -3 z))
(*.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 x -3))) (-.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 x -3))))
(*.f64 (+.f64 (sqrt.f64 (*.f64 x -3)) (sqrt.f64 z)) (-.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 x -3))))
(/.f64 1 (/.f64 (fma.f64 z z (*.f64 (*.f64 x -3) (+.f64 z (*.f64 x -3)))) (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 x -3) 3))))
(*.f64 (-.f64 (pow.f64 z 3) (*.f64 (pow.f64 x 3) -27)) (/.f64 1 (fma.f64 z z (*.f64 x (*.f64 -3 (+.f64 z (*.f64 x -3)))))))
(/.f64 (fma.f64 (pow.f64 x 3) 27 (pow.f64 z 3)) (fma.f64 z z (*.f64 x (*.f64 -3 (fma.f64 x -3 z)))))
(/.f64 (fma.f64 (pow.f64 x 3) 27 (pow.f64 z 3)) (fma.f64 x (*.f64 -3 (fma.f64 x -3 z)) (pow.f64 z 2)))
(/.f64 1 (/.f64 (+.f64 z (*.f64 x -3)) (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9))))
(*.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9)) (/.f64 1 (+.f64 z (*.f64 x -3))))
(/.f64 (fma.f64 z z (*.f64 (pow.f64 x 2) -9)) (fma.f64 x -3 z))
(/.f64 (fma.f64 (pow.f64 x 2) -9 (pow.f64 z 2)) (fma.f64 x -3 z))
(/.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 x -3) 3)) (fma.f64 z z (*.f64 (*.f64 x -3) (+.f64 z (*.f64 x -3)))))
(*.f64 (-.f64 (pow.f64 z 3) (*.f64 (pow.f64 x 3) -27)) (/.f64 1 (fma.f64 z z (*.f64 x (*.f64 -3 (+.f64 z (*.f64 x -3)))))))
(/.f64 (fma.f64 (pow.f64 x 3) 27 (pow.f64 z 3)) (fma.f64 z z (*.f64 x (*.f64 -3 (fma.f64 x -3 z)))))
(/.f64 (fma.f64 (pow.f64 x 3) 27 (pow.f64 z 3)) (fma.f64 x (*.f64 -3 (fma.f64 x -3 z)) (pow.f64 z 2)))
(/.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9)) (+.f64 z (*.f64 x -3)))
(*.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9)) (/.f64 1 (+.f64 z (*.f64 x -3))))
(/.f64 (fma.f64 z z (*.f64 (pow.f64 x 2) -9)) (fma.f64 x -3 z))
(/.f64 (fma.f64 (pow.f64 x 2) -9 (pow.f64 z 2)) (fma.f64 x -3 z))
(/.f64 (neg.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 x -3) 3))) (neg.f64 (fma.f64 z z (*.f64 (*.f64 x -3) (+.f64 z (*.f64 x -3))))))
(*.f64 (-.f64 (pow.f64 z 3) (*.f64 (pow.f64 x 3) -27)) (/.f64 1 (fma.f64 z z (*.f64 x (*.f64 -3 (+.f64 z (*.f64 x -3)))))))
(/.f64 (fma.f64 (pow.f64 x 3) 27 (pow.f64 z 3)) (fma.f64 z z (*.f64 x (*.f64 -3 (fma.f64 x -3 z)))))
(/.f64 (fma.f64 (pow.f64 x 3) 27 (pow.f64 z 3)) (fma.f64 x (*.f64 -3 (fma.f64 x -3 z)) (pow.f64 z 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9))) (neg.f64 (+.f64 z (*.f64 x -3))))
(*.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9)) (/.f64 1 (+.f64 z (*.f64 x -3))))
(/.f64 (fma.f64 z z (*.f64 (pow.f64 x 2) -9)) (fma.f64 x -3 z))
(/.f64 (fma.f64 (pow.f64 x 2) -9 (pow.f64 z 2)) (fma.f64 x -3 z))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x 3) 3)) (+.f64 (pow.f64 z 2) (-.f64 (*.f64 (*.f64 x 3) (*.f64 x 3)) (*.f64 z (*.f64 x 3)))))
(*.f64 (-.f64 (pow.f64 z 3) (*.f64 (pow.f64 x 3) -27)) (/.f64 1 (fma.f64 z z (*.f64 x (*.f64 -3 (+.f64 z (*.f64 x -3)))))))
(/.f64 (fma.f64 (pow.f64 x 3) 27 (pow.f64 z 3)) (fma.f64 z z (*.f64 x (*.f64 -3 (fma.f64 x -3 z)))))
(/.f64 (fma.f64 (pow.f64 x 3) 27 (pow.f64 z 3)) (fma.f64 x (*.f64 -3 (fma.f64 x -3 z)) (pow.f64 z 2)))
(/.f64 (-.f64 (pow.f64 z 2) (*.f64 (*.f64 x 3) (*.f64 x 3))) (-.f64 z (*.f64 x 3)))
(*.f64 (-.f64 (pow.f64 z 2) (*.f64 (pow.f64 x 2) 9)) (/.f64 1 (+.f64 z (*.f64 x -3))))
(/.f64 (fma.f64 z z (*.f64 (pow.f64 x 2) -9)) (fma.f64 x -3 z))
(/.f64 (fma.f64 (pow.f64 x 2) -9 (pow.f64 z 2)) (fma.f64 x -3 z))
(pow.f64 (+.f64 z (*.f64 x 3)) 1)
(fma.f64 x 3 z)
(fma.f64 3 x z)
(pow.f64 (cbrt.f64 (+.f64 z (*.f64 x 3))) 3)
(fma.f64 x 3 z)
(fma.f64 3 x z)
(pow.f64 (pow.f64 (+.f64 z (*.f64 x 3)) 3) 1/3)
(fma.f64 x 3 z)
(fma.f64 3 x z)
(pow.f64 (sqrt.f64 (+.f64 z (*.f64 x 3))) 2)
(fma.f64 x 3 z)
(fma.f64 3 x z)
(sqrt.f64 (pow.f64 (+.f64 z (*.f64 x 3)) 2))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(log.f64 (exp.f64 (+.f64 z (*.f64 x 3))))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 z (*.f64 x 3)))))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(cbrt.f64 (pow.f64 (+.f64 z (*.f64 x 3)) 3))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(expm1.f64 (log1p.f64 (+.f64 z (*.f64 x 3))))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(exp.f64 (log.f64 (+.f64 z (*.f64 x 3))))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(exp.f64 (*.f64 (log.f64 (+.f64 z (*.f64 x 3))) 1))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(log1p.f64 (expm1.f64 (+.f64 z (*.f64 x 3))))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(fma.f64 1 z (*.f64 x 3))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x 3))
(fma.f64 x 3 z)
(fma.f64 3 x z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x 3))
(fma.f64 x 3 z)
(fma.f64 3 x z)

eval87.0ms (1.7%)

Compiler

Compiled 1322 to 826 computations (37.5% saved)

prune49.0ms (1%)

Pruning

9 alts after pruning (1 fresh and 8 done)

PrunedKeptTotal
New98199
Fresh000
Picked033
Done156
Total999108
Accuracy
100.0%
Counts
108 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.1%
(fma.f64 3 x (*.f64 2 y))
71.3%
(fma.f64 3 x z)
64.9%
(-.f64 z (*.f64 -2 y))
71.2%
(-.f64 z (*.f64 -3 x))
71.2%
(+.f64 x (+.f64 z (*.f64 2 x)))
65.0%
(+.f64 x (*.f64 2 (+.f64 x y)))
36.2%
(*.f64 3 x)
30.6%
(*.f64 2 y)
37.0%
z
Compiler

Compiled 68 to 51 computations (25% saved)

localize95.0ms (1.9%)

Compiler

Compiled 17 to 12 computations (29.4% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune54.0ms (1.1%)

Pruning

9 alts after pruning (0 fresh and 9 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done088
Total099
Accuracy
100.0%
Counts
9 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.1%
(fma.f64 3 x (*.f64 2 y))
71.3%
(fma.f64 3 x z)
64.9%
(-.f64 z (*.f64 -2 y))
71.2%
(-.f64 z (*.f64 -3 x))
71.2%
(+.f64 x (+.f64 z (*.f64 2 x)))
65.0%
(+.f64 x (*.f64 2 (+.f64 x y)))
36.2%
(*.f64 3 x)
30.6%
(*.f64 2 y)
37.0%
z
Compiler

Compiled 140 to 91 computations (35% saved)

regimes92.0ms (1.8%)

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

4 calls:

33.0ms
z
7.0ms
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x)
7.0ms
x
7.0ms
y
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1z
100.0%1(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x)
Compiler

Compiled 26 to 17 computations (34.6% saved)

regimes75.0ms (1.5%)

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

4 calls:

50.0ms
y
7.0ms
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x)
6.0ms
x
6.0ms
z
Results
AccuracySegmentsBranch
99.9%1x
99.9%1y
99.9%1z
99.9%1(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x)
Compiler

Compiled 26 to 17 computations (34.6% saved)

regimes60.0ms (1.2%)

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

3 calls:

25.0ms
x
18.0ms
y
17.0ms
z
Results
AccuracySegmentsBranch
88.2%3x
93.9%4y
87.8%3z
Compiler

Compiled 12 to 9 computations (25% saved)

regimes13.0ms (0.2%)

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

1 calls:

12.0ms
y
Results
AccuracySegmentsBranch
89.7%3y
Compiler

Compiled 4 to 3 computations (25% saved)

regimes36.0ms (0.7%)

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

3 calls:

19.0ms
z
12.0ms
y
4.0ms
x
Results
AccuracySegmentsBranch
75.1%5z
71.2%1x
84.5%3y
Compiler

Compiled 12 to 9 computations (25% saved)

regimes110.0ms (2.1%)

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

3 calls:

78.0ms
z
22.0ms
y
10.0ms
x
Results
AccuracySegmentsBranch
62.6%9z
59.7%3x
63.7%6y
Compiler

Compiled 12 to 9 computations (25% saved)

regimes24.0ms (0.5%)

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

2 calls:

13.0ms
x
11.0ms
y
Results
AccuracySegmentsBranch
57.5%3y
41.1%4x
Compiler

Compiled 8 to 6 computations (25% saved)

regimes6.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
z
Outputs
z
Calls

2 calls:

3.0ms
z
2.0ms
y
Results
AccuracySegmentsBranch
37.0%1z
37.0%1y
Compiler

Compiled 8 to 6 computations (25% saved)

bsearch41.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
1023390584.4826728
40365256379861.42
11.0ms
-5.927888295144622e+41
-8.16914394612473e+40
15.0ms
-1.230582971800142e+154
-5.360731239938442e+149
Results
35.0ms339×256valid
1.0ms10×512valid
1.0ms1024valid
Compiler

Compiled 460 to 343 computations (25.4% saved)

bsearch25.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
3.8379094344776255e-18
6.662399173988023e-18
17.0ms
-5.777488300683347e+82
-1.6778442024722736e+75
Results
21.0ms198×256valid
1.0ms1024valid
1.0ms512valid
0.0ms2048valid
Compiler

Compiled 254 to 195 computations (23.2% saved)

bsearch24.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
1023390584.4826728
40365256379861.42
9.0ms
-1.0030067150891387e+117
-4.728775375330801e+116
Results
20.0ms197×256valid
1.0ms512valid
1.0ms1024valid
Compiler

Compiled 228 to 182 computations (20.2% saved)

bsearch35.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
1.966846536883743e-20
53913807.77002424
15.0ms
-2.5096449048425747e-23
-7.2370541152219075e-28
Results
30.0ms295×256valid
1.0ms512valid
1.0ms1024valid
Compiler

Compiled 248 to 203 computations (18.1% saved)

bsearch26.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
1023390584.4826728
40365256379861.42
12.0ms
-5.927888295144622e+41
-8.16914394612473e+40
Results
23.0ms217×256valid
1.0ms512valid
0.0ms1024valid
Compiler

Compiled 188 to 153 computations (18.6% saved)

simplify14.0ms (0.3%)

Algorithm
egg-herbie
Rules
28×+-commutative
24×*-commutative
20×sub-neg
14×neg-mul-1
14×neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064399
1103399
2128399
3142399
4151399
5153399
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 z (fma.f64 x -3 (*.f64 y -2)))
(+.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))
(if (<=.f64 y -42000000000000001012191849981386959177380560309284725193932323744767355416279998436602747565376096697911113315588306130410119373576197799662305759199232) (-.f64 z (*.f64 -2 y)) (if (<=.f64 y -190000000000000006980860359727698845630464) (+.f64 x (*.f64 2 (+.f64 x y))) (if (<=.f64 y 26000000000000) (-.f64 z (*.f64 -3 x)) (+.f64 x (*.f64 2 (+.f64 x y))))))
(if (<=.f64 y -145000000000000008430657546165283365969576312755228748604244282038817453506560) (-.f64 z (*.f64 -2 y)) (if (<=.f64 y 8437482395119095/1298074214633706907132624082305024) (-.f64 z (*.f64 -3 x)) (-.f64 z (*.f64 -2 y))))
(if (<=.f64 y -580000000000000026522467153354864349055574627155186554179822383795583084481723159173315519745734905440305059087777792) (*.f64 2 y) (if (<=.f64 y 40000000000000) (-.f64 z (*.f64 -3 x)) (*.f64 2 y)))
(if (<=.f64 x -4253529586511731/170141183460469231731687303715884105728) (*.f64 3 x) (if (<=.f64 x 5584463537939415/9007199254740992) z (*.f64 3 x)))
(if (<=.f64 y -520000000000000010961170199745673979494400) (*.f64 2 y) (if (<=.f64 y 29000000000000) z (*.f64 2 y)))
z
Outputs
(-.f64 z (fma.f64 x -3 (*.f64 y -2)))
(+.f64 (*.f64 2 (+.f64 x y)) (+.f64 x z))
(+.f64 (*.f64 2 (+.f64 x y)) (+.f64 z x))
(if (<=.f64 y -42000000000000001012191849981386959177380560309284725193932323744767355416279998436602747565376096697911113315588306130410119373576197799662305759199232) (-.f64 z (*.f64 -2 y)) (if (<=.f64 y -190000000000000006980860359727698845630464) (+.f64 x (*.f64 2 (+.f64 x y))) (if (<=.f64 y 26000000000000) (-.f64 z (*.f64 -3 x)) (+.f64 x (*.f64 2 (+.f64 x y))))))
(if (<=.f64 y -42000000000000001012191849981386959177380560309284725193932323744767355416279998436602747565376096697911113315588306130410119373576197799662305759199232) (-.f64 z (*.f64 y -2)) (if (or (<=.f64 y -190000000000000006980860359727698845630464) (not (<=.f64 y 26000000000000))) (+.f64 x (*.f64 2 (+.f64 x y))) (-.f64 z (*.f64 x -3))))
(if (<=.f64 y -145000000000000008430657546165283365969576312755228748604244282038817453506560) (-.f64 z (*.f64 -2 y)) (if (<=.f64 y 8437482395119095/1298074214633706907132624082305024) (-.f64 z (*.f64 -3 x)) (-.f64 z (*.f64 -2 y))))
(if (or (<=.f64 y -145000000000000008430657546165283365969576312755228748604244282038817453506560) (not (<=.f64 y 8437482395119095/1298074214633706907132624082305024))) (-.f64 z (*.f64 y -2)) (-.f64 z (*.f64 x -3)))
(if (<=.f64 y -580000000000000026522467153354864349055574627155186554179822383795583084481723159173315519745734905440305059087777792) (*.f64 2 y) (if (<=.f64 y 40000000000000) (-.f64 z (*.f64 -3 x)) (*.f64 2 y)))
(if (or (<=.f64 y -580000000000000026522467153354864349055574627155186554179822383795583084481723159173315519745734905440305059087777792) (not (<=.f64 y 40000000000000))) (*.f64 y 2) (-.f64 z (*.f64 x -3)))
(if (<=.f64 x -4253529586511731/170141183460469231731687303715884105728) (*.f64 3 x) (if (<=.f64 x 5584463537939415/9007199254740992) z (*.f64 3 x)))
(if (or (<=.f64 x -4253529586511731/170141183460469231731687303715884105728) (not (<=.f64 x 5584463537939415/9007199254740992))) (*.f64 x 3) z)
(if (<=.f64 y -520000000000000010961170199745673979494400) (*.f64 2 y) (if (<=.f64 y 29000000000000) z (*.f64 2 y)))
(if (or (<=.f64 y -520000000000000010961170199745673979494400) (not (<=.f64 y 29000000000000))) (*.f64 y 2) z)
z
Compiler

Compiled 134 to 97 computations (27.6% saved)

soundness1.2s (22.7%)

Rules
12096×fma-def
12096×fma-def
2202×unsub-neg
2202×unsub-neg
1336×distribute-neg-in
Iterations

Useful iterations: 16 (0.0ms)

IterNodesCost
048559
1152415
2590367
32616361
45071361
56452361
66858361
76972361
86983361
96983361
107630361
117837358
127861358
137869358
147869358
157869358
167873318
048559
1152415
2590367
32616361
45071361
56452361
66858361
76972361
86983361
96983361
107630361
117837358
127861358
137869358
147869358
157869358
167873318
Stop Event
node limit
node limit
Compiler

Compiled 346 to 128 computations (63% saved)

end0.0ms (0%)

preprocess78.0ms (1.5%)

Compiler

Compiled 254 to 166 computations (34.6% saved)

Profiling

Loading profile data...