Details

Time bar (total: 21.3s)

analyze176.0ms (0.8%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
12.5%12.5%87.4%0.1%0%0%0%7
14.8%12.5%71.8%0.1%15.6%0%0%8
22.6%18.7%64%0.1%17.2%0%0%9
32.7%25%51.5%0.1%23.4%0%0%10
41%31.2%44.9%0.1%23.8%0%0%11
49.5%37.1%37.8%0.1%25%0%0%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample875.0ms (4.1%)

Results
750.0ms8256×body256valid
114.0ms1226×body256infinite
Bogosity

preprocess2.9s (13.5%)

Algorithm
egglog
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
(-.f64 (*.f64 y y) (*.f64 (*.f64 x 4) z))
(-.f64 (*.f64 z z) (*.f64 (*.f64 y 4) x))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z 4) y))
Outputs
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
(fma.f64 x x (*.f64 -4 (*.f64 z y)))
(-.f64 (*.f64 y y) (*.f64 (*.f64 x 4) z))
(fma.f64 y y (*.f64 (*.f64 z -4) x))
(-.f64 (*.f64 z z) (*.f64 (*.f64 y 4) x))
(fma.f64 z z (*.f64 (*.f64 x -4) y))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z 4) y))
(fma.f64 x x (*.f64 -4 (*.f64 z y)))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify1.4s (6.8%)

Algorithm
egglog
Counts
1 → 2
Calls
Call 1
Inputs
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
Outputs
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
(fma.f64 y (*.f64 z -4) (pow.f64 x 2))

eval1.0ms (0%)

Compiler

Compiled 20 to 13 computations (35% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(fma.f64 y (*.f64 z -4) (pow.f64 x 2))
0.0b
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
Compiler

Compiled 23 to 16 computations (30.4% saved)

localize13.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
Compiler

Compiled 27 to 14 computations (48.1% saved)

series14.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
0.0ms
y
@inf
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
0.0ms
y
@0
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
0.0ms
x
@inf
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
0.0ms
z
@0
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
Compiler

Compiled 1500 to 870 computations (42% saved)

rewrite1.5s (7.1%)

Algorithm
batch-egg-rewrite
Rules
69×egg-rr
Counts
1 → 69
Calls
Call 1
Inputs
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 y (*.f64 4 z))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 y (*.f64 4 z)))))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 y (*.f64 z -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2))) (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2))) (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (+.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (*.f64 0 (cbrt.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)))))) (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x (cbrt.f64 x)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (*.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 y (*.f64 z -4)))))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 y (*.f64 z -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (-.f64 (*.f64 x (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 y (*.f64 z -4))) (cbrt.f64 (pow.f64 x 2))))) (+.f64 (cbrt.f64 (*.f64 y (*.f64 z -4))) (cbrt.f64 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (*.f64 0 (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (+.f64 0 (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 z -4)) (neg.f64 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 x 2) (*.f64 y (*.f64 4 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 z) (*.f64 4 y) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 z -4) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y -4) (cbrt.f64 z)) (cbrt.f64 (pow.f64 z 2)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 4 y) (neg.f64 z) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 y) (*.f64 4 z) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y (*.f64 z -4))) (cbrt.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y -4) z (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 y -4) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y (*.f64 z -4)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (*.f64 y (*.f64 z -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (pow.f64 x 2)) x) (*.f64 y (*.f64 z -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 x (cbrt.f64 x)) (*.f64 y (*.f64 z -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2)) (*.f64 y (*.f64 z -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 x 2) (*.f64 y (*.f64 z -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 2) 1 (*.f64 y (*.f64 z -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y (*.f64 4 z))) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2))) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 y (*.f64 4 z)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (pow.f64 x 2) 0) (*.f64 (pow.f64 x 2) (+.f64 (/.f64 (*.f64 y (*.f64 z -4)) (pow.f64 x 2)) 1)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)) 0) (/.f64 (neg.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 y (*.f64 z -4)) (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 y (*.f64 z -4)) 0) (*.f64 (*.f64 y (*.f64 z -4)) (+.f64 1 (/.f64 (pow.f64 x 2) (*.f64 y (*.f64 z -4))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 0) (/.f64 1 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) -1)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 y (*.f64 z -4)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) (pow.f64 (pow.f64 x 2) 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (+.f64 0 (-.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) (*.f64 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (*.f64 0 (+.f64 1 (/.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 0))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (pow.f64 x 2)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (+.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2) (+.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 y (*.f64 z -4)) (neg.f64 (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) (pow.f64 (pow.f64 x 2) 2)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) (pow.f64 (pow.f64 x 2) 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 0 (-.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) (*.f64 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2))))) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (+.f64 0 (-.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) (*.f64 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2) (+.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 y (*.f64 z -4)) (neg.f64 (pow.f64 x 2))))) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (+.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2) (+.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 y (*.f64 z -4)) (neg.f64 (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (pow.f64 x 2) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) (pow.f64 (pow.f64 x 2) 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (+.f64 0 (-.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) (*.f64 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 y (*.f64 z -4)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (+.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2) (+.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 y (*.f64 z -4)) (neg.f64 (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 1 0) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 2 0) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 y (*.f64 4 z)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) (pow.f64 (pow.f64 x 2) 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 z -4)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 x 2) (*.f64 y (*.f64 z -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y (*.f64 z -4)) 0) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 0)))))

simplify2.3s (11%)

Algorithm
egglog
Counts
105 → 113
Calls
Call 1
Inputs
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 (+.f64 (*.f64 x (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 y (*.f64 4 z))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 y (*.f64 4 z)))))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 y (*.f64 z -4)))))
(*.f64 (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2))) (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2))))
(*.f64 (cbrt.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2))) (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2))))
(*.f64 1 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(*.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 1)
(*.f64 (+.f64 0 (+.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (*.f64 0 (cbrt.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)))))) (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2))))
(*.f64 (+.f64 (*.f64 x (cbrt.f64 x)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (*.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 y (*.f64 z -4)))))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 y (*.f64 z -4)))))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (-.f64 (*.f64 x (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 y (*.f64 z -4))) (cbrt.f64 (pow.f64 x 2))))) (+.f64 (cbrt.f64 (*.f64 y (*.f64 z -4))) (cbrt.f64 (pow.f64 x 2))))
(*.f64 (+.f64 0 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (*.f64 0 (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (+.f64 0 (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))
(*.f64 -1 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)))
(*.f64 (/.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) 2)
(*.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)) -1)
(-.f64 (*.f64 y (*.f64 z -4)) (neg.f64 (pow.f64 x 2)))
(-.f64 (pow.f64 x 2) (*.f64 y (*.f64 4 z)))
(-.f64 0 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)))
(/.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 1)
(/.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)) -1)
(fma.f64 (neg.f64 z) (*.f64 4 y) (pow.f64 x 2))
(fma.f64 y (*.f64 z -4) (pow.f64 x 2))
(fma.f64 (*.f64 (*.f64 y -4) (cbrt.f64 z)) (cbrt.f64 (pow.f64 z 2)) (pow.f64 x 2))
(fma.f64 (*.f64 4 y) (neg.f64 z) (pow.f64 x 2))
(fma.f64 (neg.f64 y) (*.f64 4 z) (pow.f64 x 2))
(fma.f64 (cbrt.f64 (*.f64 y (*.f64 z -4))) (cbrt.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (pow.f64 x 2))
(fma.f64 (*.f64 y -4) z (pow.f64 x 2))
(fma.f64 z (*.f64 y -4) (pow.f64 x 2))
(fma.f64 1 (*.f64 y (*.f64 z -4)) (pow.f64 x 2))
(fma.f64 x x (*.f64 y (*.f64 z -4)))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (pow.f64 x 2)) x) (*.f64 y (*.f64 z -4)))
(fma.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 x (cbrt.f64 x)) (*.f64 y (*.f64 z -4)))
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2)) (*.f64 y (*.f64 z -4)))
(fma.f64 1 (pow.f64 x 2) (*.f64 y (*.f64 z -4)))
(fma.f64 (pow.f64 x 2) 1 (*.f64 y (*.f64 z -4)))
(fma.f64 (cbrt.f64 (*.f64 y (*.f64 4 z))) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2))) (pow.f64 x 2))
(fma.f64 -1 (*.f64 y (*.f64 4 z)) (pow.f64 x 2))
(fma.f64 0 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(fma.f64 1 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 1)
(pow.f64 (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2))) 3)
(pow.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) 1/3)
(cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3))
(neg.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)))
(if (!=.f64 (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (pow.f64 x 2) 0) (*.f64 (pow.f64 x 2) (+.f64 (/.f64 (*.f64 y (*.f64 z -4)) (pow.f64 x 2)) 1)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)) 0) (/.f64 (neg.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (-.f64 (*.f64 y (*.f64 z -4)) (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (*.f64 y (*.f64 z -4)) 0) (*.f64 (*.f64 y (*.f64 z -4)) (+.f64 1 (/.f64 (pow.f64 x 2) (*.f64 y (*.f64 z -4))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 0 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 0) (/.f64 1 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) -1)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (*.f64 y (*.f64 z -4)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) (pow.f64 (pow.f64 x 2) 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 0 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (+.f64 0 (-.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) (*.f64 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 0 0) (*.f64 0 (+.f64 1 (/.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 0))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (neg.f64 (pow.f64 x 2)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (+.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2) (+.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 y (*.f64 z -4)) (neg.f64 (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) (pow.f64 (pow.f64 x 2) 2)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) (pow.f64 (pow.f64 x 2) 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (+.f64 0 (-.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) (*.f64 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2))))) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (+.f64 0 (-.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) (*.f64 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2) (+.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 y (*.f64 z -4)) (neg.f64 (pow.f64 x 2))))) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (+.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2) (+.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 y (*.f64 z -4)) (neg.f64 (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (pow.f64 x 2) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) (pow.f64 (pow.f64 x 2) 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (+.f64 0 (-.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) (*.f64 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (*.f64 y (*.f64 z -4)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (+.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2) (+.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 y (*.f64 z -4)) (neg.f64 (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 1 0) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 2 0) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (*.f64 y (*.f64 4 z)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) (pow.f64 (pow.f64 x 2) 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(+.f64 (*.f64 y (*.f64 z -4)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 y (*.f64 z -4)))
(+.f64 (-.f64 (*.f64 y (*.f64 z -4)) 0) (pow.f64 x 2))
(+.f64 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(+.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 0)
Outputs
(*.f64 -4 (*.f64 y z))
(*.f64 y (*.f64 z -4))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(+.f64 (*.f64 y (*.f64 z -4)) (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(+.f64 (*.f64 y (*.f64 z -4)) (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(+.f64 (*.f64 y (*.f64 z -4)) (pow.f64 (/.f64 1 x) -2))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 -4 (*.f64 y z) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 -4 (*.f64 y z) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 -4 (*.f64 y z) (pow.f64 (/.f64 -1 x) -2))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(*.f64 -4 (*.f64 y z))
(*.f64 y (*.f64 z -4))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(*.f64 -4 (*.f64 y z))
(*.f64 y (*.f64 z -4))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(*.f64 -4 (*.f64 y z))
(*.f64 y (*.f64 z -4))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(*.f64 -4 (*.f64 y z))
(*.f64 y (*.f64 z -4))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(*.f64 (+.f64 (*.f64 x (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 y (*.f64 4 z))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 y (*.f64 4 z)))))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 y (*.f64 z -4)))))
(*.f64 (fma.f64 x (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 y (*.f64 4 z))) (+.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (*.f64 y (*.f64 4 z)))))) (+.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (*.f64 y (*.f64 z -4)))))
(*.f64 (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2))) (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2))))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(*.f64 (cbrt.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2))) (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2))))
(cbrt.f64 (*.f64 (-.f64 (*.f64 y (*.f64 4 z)) (*.f64 x x)) (neg.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 2))))
(*.f64 1 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(*.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 1)
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(*.f64 (+.f64 0 (+.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (*.f64 0 (cbrt.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)))))) (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2))))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(*.f64 (+.f64 (*.f64 x (cbrt.f64 x)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (*.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 y (*.f64 z -4)))))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 y (*.f64 z -4)))))
(*.f64 (fma.f64 x (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 y (*.f64 z -4))) (-.f64 (cbrt.f64 (*.f64 y (*.f64 z -4))) (pow.f64 (cbrt.f64 x) 2)))) (+.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (*.f64 y (*.f64 z -4)))))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (-.f64 (*.f64 x (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 y (*.f64 z -4))) (cbrt.f64 (pow.f64 x 2))))) (+.f64 (cbrt.f64 (*.f64 y (*.f64 z -4))) (cbrt.f64 (pow.f64 x 2))))
(*.f64 (fma.f64 x (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 y (*.f64 z -4))) (-.f64 (cbrt.f64 (*.f64 y (*.f64 z -4))) (pow.f64 (cbrt.f64 x) 2)))) (+.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (*.f64 y (*.f64 z -4)))))
(*.f64 (+.f64 0 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (*.f64 0 (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (+.f64 0 (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(*.f64 -1 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 4 z)))
(*.f64 (/.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) 2)
(*.f64 2 (*.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 1/2))
(*.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)) -1)
(-.f64 (*.f64 x x) (*.f64 y (*.f64 4 z)))
(-.f64 (*.f64 y (*.f64 z -4)) (neg.f64 (pow.f64 x 2)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(-.f64 (pow.f64 x 2) (*.f64 y (*.f64 4 z)))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 4 z)))
(-.f64 0 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 4 z)))
(/.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 1)
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(/.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)) -1)
(-.f64 (*.f64 x x) (*.f64 y (*.f64 4 z)))
(fma.f64 (neg.f64 z) (*.f64 4 y) (pow.f64 x 2))
(fma.f64 (neg.f64 z) (*.f64 4 y) (*.f64 x x))
(fma.f64 y (*.f64 z -4) (pow.f64 x 2))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(fma.f64 (*.f64 (*.f64 y -4) (cbrt.f64 z)) (cbrt.f64 (pow.f64 z 2)) (pow.f64 x 2))
(fma.f64 (*.f64 (*.f64 y -4) (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) (*.f64 x x))
(fma.f64 (*.f64 4 y) (neg.f64 z) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 4 z)))
(fma.f64 (neg.f64 y) (*.f64 4 z) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 4 z)))
(fma.f64 (cbrt.f64 (*.f64 y (*.f64 z -4))) (cbrt.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (pow.f64 x 2))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(fma.f64 (*.f64 y -4) z (pow.f64 x 2))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(fma.f64 z (*.f64 y -4) (pow.f64 x 2))
(fma.f64 z (*.f64 y -4) (*.f64 x x))
(fma.f64 1 (*.f64 y (*.f64 z -4)) (pow.f64 x 2))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(fma.f64 x x (*.f64 y (*.f64 z -4)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (pow.f64 x 2)) x) (*.f64 y (*.f64 z -4)))
(fma.f64 (cbrt.f64 x) (*.f64 (pow.f64 (cbrt.f64 x) 2) x) (*.f64 y (*.f64 z -4)))
(fma.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 x (cbrt.f64 x)) (*.f64 y (*.f64 z -4)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x (cbrt.f64 x)) (*.f64 y (*.f64 z -4)))
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2)) (*.f64 y (*.f64 z -4)))
(fma.f64 (*.f64 x (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) (*.f64 y (*.f64 z -4)))
(fma.f64 1 (pow.f64 x 2) (*.f64 y (*.f64 z -4)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(fma.f64 (pow.f64 x 2) 1 (*.f64 y (*.f64 z -4)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(fma.f64 (cbrt.f64 (*.f64 y (*.f64 4 z))) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2))) (pow.f64 x 2))
(fma.f64 (cbrt.f64 (*.f64 y (*.f64 4 z))) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2))) (*.f64 x x))
(fma.f64 -1 (*.f64 y (*.f64 4 z)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 4 z)))
(fma.f64 0 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(fma.f64 1 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 1)
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(pow.f64 (cbrt.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2))) 3)
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(pow.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) 1/3)
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(cbrt.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(neg.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 4 z)))
(if (!=.f64 (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (fma.f64 y (*.f64 4 z) (*.f64 x x)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x x) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (fma.f64 y (*.f64 4 z) (*.f64 x x))) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (pow.f64 x 2) 0) (*.f64 (pow.f64 x 2) (+.f64 (/.f64 (*.f64 y (*.f64 z -4)) (pow.f64 x 2)) 1)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (*.f64 x x) 0) (*.f64 (*.f64 x x) (-.f64 (/.f64 (*.f64 y (*.f64 z -4)) (*.f64 x x)) -1)) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)) 0) (/.f64 (neg.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (-.f64 (*.f64 y (*.f64 4 z)) (*.f64 x x)) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 2) (-.f64 (*.f64 x x) (*.f64 y (*.f64 4 z)))) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (-.f64 (*.f64 y (*.f64 z -4)) (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (-.f64 (*.f64 y (*.f64 z -4)) (*.f64 x x)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x x) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 2)) (fma.f64 y (*.f64 4 z) (*.f64 x x))) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (*.f64 y (*.f64 z -4)) 0) (*.f64 (*.f64 y (*.f64 z -4)) (+.f64 1 (/.f64 (pow.f64 x 2) (*.f64 y (*.f64 z -4))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (*.f64 y (*.f64 z -4)) 0) (*.f64 y (*.f64 (*.f64 z -4) (-.f64 (/.f64 (/.f64 (*.f64 x x) y) (*.f64 z -4)) -1))) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (-.f64 (*.f64 y (*.f64 4 z)) (pow.f64 x 2)) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (-.f64 (*.f64 y (*.f64 4 z)) (*.f64 x x)) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 3) (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 2)) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 2) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 3) (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 2)) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 0 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 0 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 3) (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 2)) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 0) (/.f64 1 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) -1)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 0) (/.f64 1 (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) -1)) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (*.f64 y (*.f64 z -4)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) (pow.f64 (pow.f64 x 2) 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (*.f64 y (*.f64 z -4)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (*.f64 x x)) (pow.f64 (*.f64 x x) 2))) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 0 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (+.f64 0 (-.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) (*.f64 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 0 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 3) (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 2)) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 0 0) (*.f64 0 (+.f64 1 (/.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 0))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 0 0) 0 (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (neg.f64 (pow.f64 x 2)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (+.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2) (+.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 y (*.f64 z -4)) (neg.f64 (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (neg.f64 (*.f64 x x)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 y (*.f64 z -4)) (-.f64 (*.f64 y (*.f64 z -4)) (*.f64 x x))))) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) (pow.f64 (pow.f64 x 2) 2)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) (pow.f64 (pow.f64 x 2) 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (*.f64 x x)) (pow.f64 (*.f64 x x) 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (*.f64 x x)) (pow.f64 (*.f64 x x) 2))) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (+.f64 0 (-.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) (*.f64 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2))))) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (+.f64 0 (-.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) (*.f64 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 2) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 3) (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 2)) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2) (+.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 y (*.f64 z -4)) (neg.f64 (pow.f64 x 2))))) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (+.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2) (+.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 y (*.f64 z -4)) (neg.f64 (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 y (*.f64 z -4)) (-.f64 (*.f64 y (*.f64 z -4)) (*.f64 x x)))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 y (*.f64 z -4)) (-.f64 (*.f64 y (*.f64 z -4)) (*.f64 x x))))) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (pow.f64 x 2) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) (pow.f64 (pow.f64 x 2) 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (*.f64 x x)) (pow.f64 (*.f64 x x) 2))) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 3) (+.f64 0 (-.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 2) (*.f64 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 0) (/.f64 (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 3) (pow.f64 (fma.f64 y (*.f64 z -4) (*.f64 x x)) 2)) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (*.f64 y (*.f64 z -4)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (+.f64 (pow.f64 (*.f64 y (*.f64 z -4)) 2) (+.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 y (*.f64 z -4)) (neg.f64 (pow.f64 x 2)))))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (*.f64 y (*.f64 z -4)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 y (*.f64 z -4)) (-.f64 (*.f64 y (*.f64 z -4)) (*.f64 x x))))) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 1 0) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 1 0) (fma.f64 y (*.f64 z -4) (*.f64 x x)) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 2 0) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 2 0) (fma.f64 y (*.f64 z -4) (*.f64 x x)) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(if (!=.f64 (*.f64 y (*.f64 4 z)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (pow.f64 x 2)) (pow.f64 (pow.f64 x 2) 2))) (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(if (!=.f64 (*.f64 y (*.f64 4 z)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (*.f64 y (*.f64 z -4)) 3)) (fma.f64 (*.f64 y (*.f64 4 z)) (fma.f64 y (*.f64 4 z) (*.f64 x x)) (pow.f64 (*.f64 x x) 2))) (fma.f64 y (*.f64 z -4) (*.f64 x x)))
(+.f64 (*.f64 y (*.f64 z -4)) (pow.f64 x 2))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 y (*.f64 z -4)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (-.f64 (*.f64 y (*.f64 z -4)) 0) (pow.f64 x 2))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 0 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)))
(fma.f64 y (*.f64 z -4) (*.f64 x x))
(+.f64 (fma.f64 y (*.f64 z -4) (pow.f64 x 2)) 0)
(fma.f64 y (*.f64 z -4) (*.f64 x x))

localize10.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 y (*.f64 z -4) (pow.f64 x 2))
Compiler

Compiled 22 to 14 computations (36.4% saved)

series14.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(fma.f64 y (*.f64 z -4) (pow.f64 x 2))
0.0ms
x
@-inf
(fma.f64 y (*.f64 z -4) (pow.f64 x 2))
0.0ms
y
@0
(fma.f64 y (*.f64 z -4) (pow.f64 x 2))
0.0ms
z
@-inf
(fma.f64 y (*.f64 z -4) (pow.f64 x 2))
0.0ms
z
@inf
(fma.f64 y (*.f64 z -4) (pow.f64 x 2))
Compiler

Compiled 1500 to 870 computations (42% saved)

rewrite1.4s (6.7%)

Algorithm
batch-egg-rewrite
Rules
43×egg-rr
Counts
1 → 43
Calls
Call 1
Inputs
(fma.f64 y (*.f64 z -4) (pow.f64 x 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))) (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 2)) (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2) (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2) 2) (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (-.f64 (*.f64 x (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 x 2))))) (+.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x (cbrt.f64 x)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (*.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 -4 (*.f64 y z)))))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 -4 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 -4 z) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 y) (*.f64 (*.f64 (cbrt.f64 (pow.f64 y 2)) z) -4) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -4 z) y (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (cbrt.f64 (*.f64 -4 z))) (cbrt.f64 (*.f64 16 (pow.f64 z 2))) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -4 y) z (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (pow.f64 x 2)) x) (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2)) (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 x (cbrt.f64 x)) (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 2) 1 (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -4 (*.f64 y z)) 1 (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y z) -4 (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 3) (pow.f64 (pow.f64 x 3) 2)) (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2) (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (*.f64 (*.f64 -4 (*.f64 y z)) (+.f64 1 (/.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z))))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2) (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z))))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 3) (pow.f64 (pow.f64 x 3) 2)) (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2) (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (pow.f64 x 2) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 3) (pow.f64 (pow.f64 x 3) 2)) (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2) (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (pow.f64 x 2) 0) (*.f64 (pow.f64 x 2) (+.f64 1 (/.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2)))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 x x (*.f64 4 (*.f64 y z))) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))) (*.f64 1/2 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 1/2) (*.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 1/2))))))

simplify2.4s (11.5%)

Algorithm
egglog
Counts
79 → 66
Calls
Call 1
Inputs
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(*.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))) (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 2)) (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2) (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 2))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2) 2) (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2) 2))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (-.f64 (*.f64 x (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 x 2))))) (+.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 x 2))))
(*.f64 (+.f64 (*.f64 x (cbrt.f64 x)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (*.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 -4 (*.f64 y z)))))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 -4 (*.f64 y z)))))
(*.f64 1 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(*.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 1)
(/.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 1)
(/.f64 (*.f64 2 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))) 2)
(/.f64 (*.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 2) 2)
(fma.f64 y (*.f64 -4 z) (pow.f64 x 2))
(fma.f64 (cbrt.f64 y) (*.f64 (*.f64 (cbrt.f64 (pow.f64 y 2)) z) -4) (pow.f64 x 2))
(fma.f64 (*.f64 -4 z) y (pow.f64 x 2))
(fma.f64 (*.f64 y (cbrt.f64 (*.f64 -4 z))) (cbrt.f64 (*.f64 16 (pow.f64 z 2))) (pow.f64 x 2))
(fma.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (pow.f64 x 2))
(fma.f64 (*.f64 -4 y) z (pow.f64 x 2))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (pow.f64 x 2)) x) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2)) (*.f64 -4 (*.f64 y z)))
(fma.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 x (cbrt.f64 x)) (*.f64 -4 (*.f64 y z)))
(fma.f64 1 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2))
(fma.f64 1 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (pow.f64 x 2) 1 (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 (*.f64 y z)) 1 (pow.f64 x 2))
(fma.f64 (*.f64 y z) -4 (pow.f64 x 2))
(pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 1)
(pow.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))) 3)
(pow.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 3) 1/3)
(cbrt.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 3))
(if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 3) (pow.f64 (pow.f64 x 3) 2)) (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2) (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (*.f64 (*.f64 -4 (*.f64 y z)) (+.f64 1 (/.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z))))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2) (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z))))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 3) (pow.f64 (pow.f64 x 3) 2)) (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2) (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(if (!=.f64 (pow.f64 x 2) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 3) (pow.f64 (pow.f64 x 3) 2)) (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2) (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(if (!=.f64 (pow.f64 x 2) 0) (*.f64 (pow.f64 x 2) (+.f64 1 (/.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2)))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(if (!=.f64 (-.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(if (!=.f64 (fma.f64 x x (*.f64 4 (*.f64 y z))) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (*.f64 1/2 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))) (*.f64 1/2 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))))
(+.f64 (*.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 1/2) (*.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 1/2))
Outputs
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (pow.f64 (/.f64 1 x) -2))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 (*.f64 -4 y) z (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 (*.f64 -4 y) z (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 (*.f64 -4 y) z (pow.f64 (/.f64 -1 x) -2))
(*.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))) (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 2)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 2)) (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2) (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 2))))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2) 2) (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))) 2) 2))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (-.f64 (*.f64 x (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 x 2))))) (+.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 x 2))))
(*.f64 (fma.f64 x (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (-.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (pow.f64 (cbrt.f64 x) 2)))) (+.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (pow.f64 (cbrt.f64 x) 2)))
(*.f64 (+.f64 (*.f64 x (cbrt.f64 x)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (*.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 -4 (*.f64 y z)))))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 -4 (*.f64 y z)))))
(*.f64 (fma.f64 x (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (-.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (pow.f64 (cbrt.f64 x) 2)))) (+.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (pow.f64 (cbrt.f64 x) 2)))
(*.f64 1 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 1)
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(/.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 1)
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(/.f64 (*.f64 2 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))) 2)
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(/.f64 (*.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 2) 2)
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(fma.f64 y (*.f64 -4 z) (pow.f64 x 2))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(fma.f64 (cbrt.f64 y) (*.f64 (*.f64 (cbrt.f64 (pow.f64 y 2)) z) -4) (pow.f64 x 2))
(fma.f64 (cbrt.f64 y) (*.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 -4 z)) (*.f64 x x))
(fma.f64 (*.f64 -4 z) y (pow.f64 x 2))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(fma.f64 (*.f64 y (cbrt.f64 (*.f64 -4 z))) (cbrt.f64 (*.f64 16 (pow.f64 z 2))) (pow.f64 x 2))
(fma.f64 (*.f64 y (cbrt.f64 (*.f64 -4 z))) (cbrt.f64 (*.f64 16 (*.f64 z z))) (*.f64 x x))
(fma.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (pow.f64 x 2))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(fma.f64 (*.f64 -4 y) z (pow.f64 x 2))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (pow.f64 x 2)) x) (*.f64 -4 (*.f64 y z)))
(fma.f64 (cbrt.f64 x) (*.f64 x (pow.f64 (cbrt.f64 x) 2)) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2)) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 x (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 x (cbrt.f64 x)) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 x (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 1 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(fma.f64 1 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(fma.f64 (pow.f64 x 2) 1 (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(fma.f64 (*.f64 -4 (*.f64 y z)) 1 (pow.f64 x 2))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(fma.f64 (*.f64 y z) -4 (pow.f64 x 2))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 1)
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(pow.f64 (cbrt.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))) 3)
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(pow.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 3) 1/3)
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(cbrt.f64 (pow.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 3))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 3) (pow.f64 (pow.f64 x 3) 2)) (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2) (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (/.f64 (fma.f64 -64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 x x) 3)) (fma.f64 (fma.f64 x x (*.f64 (*.f64 y z) 4)) (*.f64 x x) (pow.f64 (*.f64 (*.f64 y z) 4) 2))) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (*.f64 (*.f64 -4 (*.f64 y z)) (+.f64 1 (/.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z))))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (*.f64 (*.f64 -4 (*.f64 y z)) (fma.f64 (*.f64 x x) (/.f64 -1/4 (*.f64 y z)) 1)) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2) (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z))))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 3) (pow.f64 (pow.f64 x 3) 2)) (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2) (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(if (!=.f64 (fma.f64 (fma.f64 x x (*.f64 (*.f64 y z) 4)) (*.f64 x x) (pow.f64 (*.f64 (*.f64 y z) 4) 2)) 0) (/.f64 (fma.f64 -64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 x x) 3)) (fma.f64 (fma.f64 x x (*.f64 (*.f64 y z) 4)) (*.f64 x x) (pow.f64 (*.f64 (*.f64 y z) 4) 2))) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(if (!=.f64 (pow.f64 x 2) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 3) (pow.f64 (pow.f64 x 3) 2)) (+.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2) (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (fma.f64 -64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 x x) 3)) (fma.f64 (fma.f64 x x (*.f64 (*.f64 y z) 4)) (*.f64 x x) (pow.f64 (*.f64 (*.f64 y z) 4) 2))) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(if (!=.f64 (pow.f64 x 2) 0) (*.f64 (pow.f64 x 2) (+.f64 1 (/.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2)))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(if (!=.f64 (*.f64 x x) 0) (*.f64 (*.f64 x x) (-.f64 1 (/.f64 (*.f64 (*.f64 y z) 4) (*.f64 x x)))) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(if (!=.f64 (-.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(if (!=.f64 (-.f64 (*.f64 -4 (*.f64 y z)) (*.f64 x x)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x x) 2) (pow.f64 (*.f64 (*.f64 y z) 4) 2)) (fma.f64 x x (*.f64 (*.f64 y z) 4))) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(if (!=.f64 (fma.f64 x x (*.f64 4 (*.f64 y z))) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)))
(if (!=.f64 (fma.f64 x x (*.f64 (*.f64 y z) 4)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x x) 2) (pow.f64 (*.f64 (*.f64 y z) 4) 2)) (fma.f64 x x (*.f64 (*.f64 y z) 4))) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (*.f64 x x))
(+.f64 (*.f64 1/2 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))) (*.f64 1/2 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2))))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (*.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 1/2) (*.f64 (fma.f64 y (*.f64 -4 z) (pow.f64 x 2)) 1/2))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))

eval67.0ms (0.3%)

Compiler

Compiled 4083 to 2556 computations (37.4% saved)

prune40.0ms (0.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1754179
Fresh000
Picked101
Done011
Total1765181
Error
0b
Counts
181 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
0.0b
(fma.f64 x x (*.f64 y (*.f64 z -4)))
0.0b
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
23.0b
(*.f64 y (*.f64 z -4))
36.8b
(*.f64 x x)
Compiler

Compiled 48 to 32 computations (33.3% saved)

localize10.0ms (0%)

Compiler

Compiled 7 to 4 computations (42.9% saved)

localize5.0ms (0%)

Compiler

Compiled 14 to 9 computations (35.7% saved)

localize8.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x x (*.f64 y (*.f64 z -4)))
Compiler

Compiled 23 to 13 computations (43.5% saved)

series12.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@0
(fma.f64 x x (*.f64 y (*.f64 z -4)))
0.0ms
y
@0
(fma.f64 x x (*.f64 y (*.f64 z -4)))
0.0ms
z
@0
(fma.f64 x x (*.f64 y (*.f64 z -4)))
0.0ms
x
@inf
(fma.f64 x x (*.f64 y (*.f64 z -4)))
0.0ms
x
@-inf
(fma.f64 x x (*.f64 y (*.f64 z -4)))
Compiler

Compiled 1500 to 870 computations (42% saved)

rewrite1.4s (6.7%)

Algorithm
batch-egg-rewrite
Rules
49×egg-rr
Counts
1 → 49
Calls
Call 1
Inputs
(fma.f64 x x (*.f64 y (*.f64 z -4)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z)))) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 2)) (cbrt.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (-.f64 (cbrt.f64 (pow.f64 (pow.f64 x 2) 2)) (*.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 x 2))))) (+.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (pow.f64 x 2) 2)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (*.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 -4 (*.f64 y z)))))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 -4 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x x (*.f64 -4 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -4 y) z (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -4 z)) (*.f64 (cbrt.f64 (*.f64 16 (pow.f64 z 2))) y) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (pow.f64 y 2)) (*.f64 -4 z)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 -4 y) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y z) (cbrt.f64 -4)) (cbrt.f64 16) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -4 z) y (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (cbrt.f64 (*.f64 -4 (*.f64 y z))) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 -4 z) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (pow.f64 x 2)) x) (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -4 z) (cbrt.f64 y)) (cbrt.f64 (pow.f64 y 2)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (cbrt.f64 (*.f64 -4 z))) (cbrt.f64 (*.f64 16 (pow.f64 z 2))) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (pow.f64 (pow.f64 x 2) 2)) (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2)) (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y 2)) (*.f64 (*.f64 -4 z) (cbrt.f64 y)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 16) (*.f64 (*.f64 y z) (cbrt.f64 -4)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 16 (pow.f64 z 2))) y) (cbrt.f64 (*.f64 -4 z)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 16 (pow.f64 z 2))) (*.f64 y (cbrt.f64 (*.f64 -4 z))) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (pow.f64 y 2)) (*.f64 -4 z)) (cbrt.f64 y) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (pow.f64 x 2)) x) (cbrt.f64 x) (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 x (cbrt.f64 x)) (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (pow.f64 x 2) 2)) (cbrt.f64 (pow.f64 x 2)) (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y z) -4 (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -4 (*.f64 y z) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 2) 1 (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -4 (*.f64 y z)) 1 (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (pow.f64 x 2) 0) (/.f64 (fma.f64 (pow.f64 (*.f64 y z) 3) -64 (pow.f64 (pow.f64 x 3) 2)) (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (pow.f64 x 2) 0) (*.f64 (pow.f64 x 2) (fma.f64 (/.f64 y x) (/.f64 (*.f64 -4 z) x) 1)) (fma.f64 x x (*.f64 -4 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z))))) 0) (/.f64 (fma.f64 (pow.f64 (*.f64 y z) 3) -64 (pow.f64 (pow.f64 x 3) 2)) (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (/.f64 (fma.f64 (pow.f64 (*.f64 y z) 3) -64 (pow.f64 (pow.f64 x 3) 2)) (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (*.f64 (*.f64 -4 (*.f64 y z)) (+.f64 1 (/.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z))))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 x x (*.f64 4 (*.f64 y z))) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2))))))

simplify2.3s (11%)

Algorithm
egglog
Counts
85 → 73
Calls
Call 1
Inputs
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 (cbrt.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z)))) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 2)) (cbrt.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z)))))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (-.f64 (cbrt.f64 (pow.f64 (pow.f64 x 2) 2)) (*.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 x 2))))) (+.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 x 2))))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (pow.f64 x 2) 2)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (*.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 -4 (*.f64 y z)))))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 -4 (*.f64 y z)))))
(*.f64 1 (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(*.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 1)
(/.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 1)
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (pow.f64 x 2))
(fma.f64 (cbrt.f64 (*.f64 -4 z)) (*.f64 (cbrt.f64 (*.f64 16 (pow.f64 z 2))) y) (pow.f64 x 2))
(fma.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (pow.f64 y 2)) (*.f64 -4 z)) (pow.f64 x 2))
(fma.f64 z (*.f64 -4 y) (pow.f64 x 2))
(fma.f64 (*.f64 (*.f64 y z) (cbrt.f64 -4)) (cbrt.f64 16) (pow.f64 x 2))
(fma.f64 (*.f64 -4 z) y (pow.f64 x 2))
(fma.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (pow.f64 x 2))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (cbrt.f64 (*.f64 -4 (*.f64 y z))) (pow.f64 x 2))
(fma.f64 y (*.f64 -4 z) (pow.f64 x 2))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (pow.f64 x 2)) x) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 (*.f64 -4 z) (cbrt.f64 y)) (cbrt.f64 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 (*.f64 y (cbrt.f64 (*.f64 -4 z))) (cbrt.f64 (*.f64 16 (pow.f64 z 2))) (pow.f64 x 2))
(fma.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (pow.f64 (pow.f64 x 2) 2)) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2)) (*.f64 -4 (*.f64 y z)))
(fma.f64 (cbrt.f64 (pow.f64 y 2)) (*.f64 (*.f64 -4 z) (cbrt.f64 y)) (pow.f64 x 2))
(fma.f64 (cbrt.f64 16) (*.f64 (*.f64 y z) (cbrt.f64 -4)) (pow.f64 x 2))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 16 (pow.f64 z 2))) y) (cbrt.f64 (*.f64 -4 z)) (pow.f64 x 2))
(fma.f64 (cbrt.f64 (*.f64 16 (pow.f64 z 2))) (*.f64 y (cbrt.f64 (*.f64 -4 z))) (pow.f64 x 2))
(fma.f64 (*.f64 (cbrt.f64 (pow.f64 y 2)) (*.f64 -4 z)) (cbrt.f64 y) (pow.f64 x 2))
(fma.f64 (*.f64 (cbrt.f64 (pow.f64 x 2)) x) (cbrt.f64 x) (*.f64 -4 (*.f64 y z)))
(fma.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 x (cbrt.f64 x)) (*.f64 -4 (*.f64 y z)))
(fma.f64 (cbrt.f64 (pow.f64 (pow.f64 x 2) 2)) (cbrt.f64 (pow.f64 x 2)) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 y z) -4 (pow.f64 x 2))
(fma.f64 -4 (*.f64 y z) (pow.f64 x 2))
(fma.f64 1 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2))
(fma.f64 1 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (pow.f64 x 2) 1 (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 (*.f64 y z)) 1 (pow.f64 x 2))
(pow.f64 (pow.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z)))) 3)
(pow.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 1)
(cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 3))
(if (!=.f64 (pow.f64 x 2) 0) (/.f64 (fma.f64 (pow.f64 (*.f64 y z) 3) -64 (pow.f64 (pow.f64 x 3) 2)) (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (pow.f64 x 2) 0) (*.f64 (pow.f64 x 2) (fma.f64 (/.f64 y x) (/.f64 (*.f64 -4 z) x) 1)) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z))))) 0) (/.f64 (fma.f64 (pow.f64 (*.f64 y z) 3) -64 (pow.f64 (pow.f64 x 3) 2)) (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (/.f64 (fma.f64 (pow.f64 (*.f64 y z) 3) -64 (pow.f64 (pow.f64 x 3) 2)) (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (*.f64 (*.f64 -4 (*.f64 y z)) (+.f64 1 (/.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z))))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (fma.f64 x x (*.f64 4 (*.f64 y z))) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (-.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2))
Outputs
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (pow.f64 (/.f64 1 x) -2))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 (*.f64 -4 y) z (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 (*.f64 -4 y) z (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 (*.f64 -4 y) z (pow.f64 (/.f64 -1 x) -2))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(*.f64 (cbrt.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z)))) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 2)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 2)) (cbrt.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z)))))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (-.f64 (cbrt.f64 (pow.f64 (pow.f64 x 2) 2)) (*.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 x 2))))) (+.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 x 2))))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (pow.f64 x 2) 2)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (*.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 -4 (*.f64 y z)))))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 -4 (*.f64 y z)))))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(*.f64 1 (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(*.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 1)
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(/.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 1)
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 y) z (pow.f64 x 2))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 (cbrt.f64 (*.f64 -4 z)) (*.f64 (cbrt.f64 (*.f64 16 (pow.f64 z 2))) y) (pow.f64 x 2))
(fma.f64 (cbrt.f64 (*.f64 -4 z)) (*.f64 y (cbrt.f64 (*.f64 16 (*.f64 z z)))) (*.f64 x x))
(fma.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (pow.f64 y 2)) (*.f64 -4 z)) (pow.f64 x 2))
(fma.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (*.f64 (*.f64 y y) -64)) z) (*.f64 x x))
(fma.f64 z (*.f64 -4 y) (pow.f64 x 2))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 (*.f64 y z) (cbrt.f64 -4)) (cbrt.f64 16) (pow.f64 x 2))
(fma.f64 (*.f64 (*.f64 y z) (cbrt.f64 -4)) (cbrt.f64 16) (*.f64 x x))
(fma.f64 (*.f64 -4 z) y (pow.f64 x 2))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(fma.f64 (cbrt.f64 (*.f64 -4 (*.f64 y z))) (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (pow.f64 x 2))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (cbrt.f64 (*.f64 -4 (*.f64 y z))) (pow.f64 x 2))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 y (*.f64 -4 z) (pow.f64 x 2))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (pow.f64 x 2)) x) (*.f64 -4 (*.f64 y z)))
(fma.f64 (cbrt.f64 x) (*.f64 x (pow.f64 (cbrt.f64 x) 2)) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 (*.f64 -4 z) (cbrt.f64 y)) (cbrt.f64 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 (*.f64 -4 (*.f64 z (cbrt.f64 y))) (pow.f64 (cbrt.f64 y) 2) (*.f64 x x))
(fma.f64 (*.f64 y (cbrt.f64 (*.f64 -4 z))) (cbrt.f64 (*.f64 16 (pow.f64 z 2))) (pow.f64 x 2))
(fma.f64 (*.f64 y (cbrt.f64 (*.f64 -4 z))) (cbrt.f64 (*.f64 16 (*.f64 z z))) (*.f64 x x))
(fma.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (pow.f64 (pow.f64 x 2) 2)) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2)) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 x (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (cbrt.f64 (pow.f64 y 2)) (*.f64 (*.f64 -4 z) (cbrt.f64 y)) (pow.f64 x 2))
(fma.f64 (*.f64 -4 (*.f64 z (cbrt.f64 y))) (pow.f64 (cbrt.f64 y) 2) (*.f64 x x))
(fma.f64 (cbrt.f64 16) (*.f64 (*.f64 y z) (cbrt.f64 -4)) (pow.f64 x 2))
(fma.f64 (*.f64 (*.f64 y z) (cbrt.f64 -4)) (cbrt.f64 16) (*.f64 x x))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 16 (pow.f64 z 2))) y) (cbrt.f64 (*.f64 -4 z)) (pow.f64 x 2))
(fma.f64 (cbrt.f64 (*.f64 -4 z)) (*.f64 y (cbrt.f64 (*.f64 16 (*.f64 z z)))) (*.f64 x x))
(fma.f64 (cbrt.f64 (*.f64 16 (pow.f64 z 2))) (*.f64 y (cbrt.f64 (*.f64 -4 z))) (pow.f64 x 2))
(fma.f64 (*.f64 y (cbrt.f64 (*.f64 -4 z))) (cbrt.f64 (*.f64 16 (*.f64 z z))) (*.f64 x x))
(fma.f64 (*.f64 (cbrt.f64 (pow.f64 y 2)) (*.f64 -4 z)) (cbrt.f64 y) (pow.f64 x 2))
(fma.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (*.f64 (*.f64 y y) -64)) z) (*.f64 x x))
(fma.f64 (*.f64 (cbrt.f64 (pow.f64 x 2)) x) (cbrt.f64 x) (*.f64 -4 (*.f64 y z)))
(fma.f64 (cbrt.f64 x) (*.f64 x (pow.f64 (cbrt.f64 x) 2)) (*.f64 -4 (*.f64 y z)))
(fma.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 x (cbrt.f64 x)) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 x (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (cbrt.f64 (pow.f64 (pow.f64 x 2) 2)) (cbrt.f64 (pow.f64 x 2)) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 y z) -4 (pow.f64 x 2))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 -4 (*.f64 y z) (pow.f64 x 2))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 1 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 1 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 (pow.f64 x 2) 1 (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 (*.f64 y z)) 1 (pow.f64 x 2))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(pow.f64 (pow.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 3) 1/3)
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(pow.f64 (cbrt.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z)))) 3)
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(pow.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 1)
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 -4 (*.f64 y z))) 3))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(if (!=.f64 (pow.f64 x 2) 0) (/.f64 (fma.f64 (pow.f64 (*.f64 y z) 3) -64 (pow.f64 (pow.f64 x 3) 2)) (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (fma.f64 (pow.f64 (*.f64 y z) 3) -64 (pow.f64 (*.f64 x x) 3)) (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (*.f64 x x) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (pow.f64 x 2) 0) (*.f64 (pow.f64 x 2) (fma.f64 (/.f64 y x) (/.f64 (*.f64 -4 z) x) 1)) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (*.f64 x x) 0) (*.f64 (*.f64 x x) (fma.f64 (/.f64 y x) (/.f64 (*.f64 -4 z) x) 1)) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z))))) 0) (/.f64 (fma.f64 (pow.f64 (*.f64 y z) 3) -64 (pow.f64 (pow.f64 x 3) 2)) (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (*.f64 x x) (fma.f64 x x (*.f64 4 (*.f64 y z))))) 0) (/.f64 (fma.f64 (pow.f64 (*.f64 y z) 3) -64 (pow.f64 (*.f64 x x) 3)) (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (*.f64 x x) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (/.f64 (fma.f64 (pow.f64 (*.f64 y z) 3) -64 (pow.f64 (pow.f64 x 3) 2)) (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (pow.f64 x 2) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (/.f64 (fma.f64 (pow.f64 (*.f64 y z) 3) -64 (pow.f64 (*.f64 x x) 3)) (fma.f64 (pow.f64 (*.f64 y z) 2) 16 (*.f64 (*.f64 x x) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (*.f64 (*.f64 -4 (*.f64 y z)) (+.f64 1 (/.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z))))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (*.f64 -4 (*.f64 y z)) 0) (*.f64 (fma.f64 (*.f64 x x) (/.f64 -1/4 (*.f64 y z)) 1) (*.f64 -4 (*.f64 y z))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (fma.f64 x x (*.f64 4 (*.f64 y z))) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (fma.f64 x x (*.f64 4 (*.f64 y z))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x x) 2) (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (-.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(if (!=.f64 (-.f64 (*.f64 -4 (*.f64 y z)) (*.f64 x x)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x x) 2) (pow.f64 (*.f64 -4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 x x (*.f64 -4 (*.f64 y z))))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 x 2))
(fma.f64 x x (*.f64 -4 (*.f64 y z)))

localize8.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
Compiler

Compiled 21 to 10 computations (52.4% saved)

series12.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@0
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
0.0ms
z
@0
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
0.0ms
y
@0
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
0.0ms
y
@-inf
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
0.0ms
y
@inf
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
Compiler

Compiled 1500 to 870 computations (42% saved)

rewrite1.5s (7.2%)

Algorithm
batch-egg-rewrite
Rules
47×egg-rr
Counts
1 → 47
Calls
Call 1
Inputs
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2))) (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 2)) (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 2)) 2)) (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 -4 (*.f64 z y))) (-.f64 (cbrt.f64 (*.f64 -4 (*.f64 z y))) (cbrt.f64 (pow.f64 x 2))))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 -4 (*.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 4 (*.f64 z y)) 2)) (*.f64 x (cbrt.f64 x))) (*.f64 (cbrt.f64 (*.f64 -4 (*.f64 z y))) (cbrt.f64 (pow.f64 x 2)))) (+.f64 (cbrt.f64 (*.f64 -4 (*.f64 z y))) (cbrt.f64 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -4 (*.f64 z y)) (neg.f64 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 4 (*.f64 z y)) (pow.f64 x 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -4 z) y (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 -4 z) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 -4 y) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -4 z)) (*.f64 (cbrt.f64 (*.f64 16 (pow.f64 z 2))) y) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (*.f64 -4 (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (pow.f64 x 2)) x) (*.f64 -4 (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -4 (*.f64 z (cbrt.f64 y))) (cbrt.f64 (pow.f64 y 2)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 x (cbrt.f64 x)) (*.f64 -4 (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2)) (*.f64 -4 (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -4 (*.f64 z y))) (cbrt.f64 (pow.f64 (*.f64 4 (*.f64 z y)) 2)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -4 (*.f64 z y) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -4 (*.f64 z y)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 x 2) (*.f64 -4 (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -4 (*.f64 z y)) 1 (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 2) 1 (*.f64 -4 (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 4 (*.f64 z y)) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 -4 (*.f64 z y)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (pow.f64 (pow.f64 x 3) 2)) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 -4 (*.f64 z y)) 0) (*.f64 (*.f64 -4 (*.f64 z y)) (+.f64 1 (/.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 z y))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y))))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (pow.f64 (pow.f64 x 3) 2)) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (pow.f64 x 2) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (pow.f64 (pow.f64 x 3) 2)) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (pow.f64 x 2) 0) (*.f64 (pow.f64 x 2) (+.f64 1 (/.f64 (*.f64 -4 (*.f64 z y)) (pow.f64 x 2)))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 -4 (*.f64 z y)) (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 4 (*.f64 z y)) 2)) (fma.f64 x x (*.f64 4 (*.f64 z y)))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 x x (*.f64 4 (*.f64 z y))) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 4 (*.f64 z y)) 2)) (fma.f64 x x (*.f64 4 (*.f64 z y)))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (neg.f64 (pow.f64 (pow.f64 x 3) 2))) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y))))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (neg.f64 (pow.f64 (pow.f64 x 3) 2))) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 -4 (*.f64 z y)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (neg.f64 (pow.f64 (pow.f64 x 3) 2))) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -4 (*.f64 z y)) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 -4 (*.f64 z y)) 0) (pow.f64 x 2))))))

simplify2.4s (11.5%)

Algorithm
egglog
Counts
83 → 76
Calls
Call 1
Inputs
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(*.f64 -4 (*.f64 y z))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(*.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2))) (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 2)) (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 2)) 2)) (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) 2))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 2)) 2)))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) 2))
(*.f64 (+.f64 (*.f64 x (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 -4 (*.f64 z y))) (-.f64 (cbrt.f64 (*.f64 -4 (*.f64 z y))) (cbrt.f64 (pow.f64 x 2))))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 -4 (*.f64 z y)))))
(*.f64 (-.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 4 (*.f64 z y)) 2)) (*.f64 x (cbrt.f64 x))) (*.f64 (cbrt.f64 (*.f64 -4 (*.f64 z y))) (cbrt.f64 (pow.f64 x 2)))) (+.f64 (cbrt.f64 (*.f64 -4 (*.f64 z y))) (cbrt.f64 (pow.f64 x 2))))
(*.f64 1 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(*.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 1)
(-.f64 (*.f64 -4 (*.f64 z y)) (neg.f64 (pow.f64 x 2)))
(/.f64 (-.f64 (*.f64 4 (*.f64 z y)) (pow.f64 x 2)) -1)
(/.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 1)
(fma.f64 (*.f64 -4 z) y (pow.f64 x 2))
(fma.f64 y (*.f64 -4 z) (pow.f64 x 2))
(fma.f64 z (*.f64 -4 y) (pow.f64 x 2))
(fma.f64 (cbrt.f64 (*.f64 -4 z)) (*.f64 (cbrt.f64 (*.f64 16 (pow.f64 z 2))) y) (pow.f64 x 2))
(fma.f64 x x (*.f64 -4 (*.f64 z y)))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (pow.f64 x 2)) x) (*.f64 -4 (*.f64 z y)))
(fma.f64 (*.f64 -4 (*.f64 z (cbrt.f64 y))) (cbrt.f64 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 x (cbrt.f64 x)) (*.f64 -4 (*.f64 z y)))
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2)) (*.f64 -4 (*.f64 z y)))
(fma.f64 (cbrt.f64 (*.f64 -4 (*.f64 z y))) (cbrt.f64 (pow.f64 (*.f64 4 (*.f64 z y)) 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 z y) (pow.f64 x 2))
(fma.f64 1 (*.f64 -4 (*.f64 z y)) (pow.f64 x 2))
(fma.f64 1 (pow.f64 x 2) (*.f64 -4 (*.f64 z y)))
(fma.f64 (*.f64 -4 (*.f64 z y)) 1 (pow.f64 x 2))
(fma.f64 (pow.f64 x 2) 1 (*.f64 -4 (*.f64 z y)))
(pow.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2))) 3)
(pow.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 3) 1/3)
(pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 1)
(cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 3))
(neg.f64 (*.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) -1))
(neg.f64 (-.f64 (*.f64 4 (*.f64 z y)) (pow.f64 x 2)))
(if (!=.f64 (*.f64 -4 (*.f64 z y)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (pow.f64 (pow.f64 x 3) 2)) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (*.f64 -4 (*.f64 z y)) 0) (*.f64 (*.f64 -4 (*.f64 z y)) (+.f64 1 (/.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 z y))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y))))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (pow.f64 (pow.f64 x 3) 2)) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (pow.f64 x 2) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (pow.f64 (pow.f64 x 3) 2)) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (pow.f64 x 2) 0) (*.f64 (pow.f64 x 2) (+.f64 1 (/.f64 (*.f64 -4 (*.f64 z y)) (pow.f64 x 2)))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (-.f64 (*.f64 -4 (*.f64 z y)) (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 4 (*.f64 z y)) 2)) (fma.f64 x x (*.f64 4 (*.f64 z y)))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (fma.f64 x x (*.f64 4 (*.f64 z y))) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 4 (*.f64 z y)) 2)) (fma.f64 x x (*.f64 4 (*.f64 z y)))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (neg.f64 (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (neg.f64 (pow.f64 (pow.f64 x 3) 2))) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y))))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (neg.f64 (pow.f64 (pow.f64 x 3) 2))) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (*.f64 -4 (*.f64 z y)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (neg.f64 (pow.f64 (pow.f64 x 3) 2))) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(+.f64 (*.f64 -4 (*.f64 z y)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 z y)))
(+.f64 (-.f64 (*.f64 -4 (*.f64 z y)) 0) (pow.f64 x 2))
Outputs
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 -4 (*.f64 y z))
(*.f64 (*.f64 -4 z) y)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 -4 (*.f64 y z))
(*.f64 (*.f64 -4 z) y)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 -4 (*.f64 y z))
(*.f64 (*.f64 -4 z) y)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 -4 (*.f64 y z))
(*.f64 (*.f64 -4 z) y)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 -4 (*.f64 y z))
(*.f64 (*.f64 -4 z) y)
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 -4 (*.f64 y z)))
(fma.f64 (*.f64 -4 z) y (pow.f64 (/.f64 1 x) -2))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 (*.f64 -4 z) y (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 (*.f64 -4 z) y (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 -4 (*.f64 y z)) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 (*.f64 -4 z) y (pow.f64 (/.f64 -1 x) -2))
(*.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2))) (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 2)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 2)) (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2))))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 2)) 2)) (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) 2))
(cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (*.f64 x x))) (pow.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (*.f64 x x))) (fma.f64 (*.f64 -4 z) y (*.f64 x x))) 2)))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 2)) 2)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))) 2))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 (+.f64 (*.f64 x (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 -4 (*.f64 z y))) (-.f64 (cbrt.f64 (*.f64 -4 (*.f64 z y))) (cbrt.f64 (pow.f64 x 2))))) (+.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (*.f64 -4 (*.f64 z y)))))
(*.f64 (fma.f64 (cbrt.f64 (*.f64 (*.f64 -4 z) y)) (-.f64 (cbrt.f64 (*.f64 (*.f64 -4 z) y)) (pow.f64 (cbrt.f64 x) 2)) (*.f64 (cbrt.f64 x) x)) (+.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (*.f64 (*.f64 -4 z) y))))
(*.f64 (-.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 4 (*.f64 z y)) 2)) (*.f64 x (cbrt.f64 x))) (*.f64 (cbrt.f64 (*.f64 -4 (*.f64 z y))) (cbrt.f64 (pow.f64 x 2)))) (+.f64 (cbrt.f64 (*.f64 -4 (*.f64 z y))) (cbrt.f64 (pow.f64 x 2))))
(*.f64 (fma.f64 (cbrt.f64 (*.f64 (*.f64 -4 z) y)) (-.f64 (cbrt.f64 (*.f64 (*.f64 -4 z) y)) (pow.f64 (cbrt.f64 x) 2)) (*.f64 (cbrt.f64 x) x)) (+.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (*.f64 (*.f64 -4 z) y))))
(*.f64 1 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(*.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 1)
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(-.f64 (*.f64 -4 (*.f64 z y)) (neg.f64 (pow.f64 x 2)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(/.f64 (-.f64 (*.f64 4 (*.f64 z y)) (pow.f64 x 2)) -1)
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(/.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 1)
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(fma.f64 (*.f64 -4 z) y (pow.f64 x 2))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(fma.f64 y (*.f64 -4 z) (pow.f64 x 2))
(fma.f64 y (*.f64 -4 z) (*.f64 x x))
(fma.f64 z (*.f64 -4 y) (pow.f64 x 2))
(fma.f64 z (*.f64 -4 y) (*.f64 x x))
(fma.f64 (cbrt.f64 (*.f64 -4 z)) (*.f64 (cbrt.f64 (*.f64 16 (pow.f64 z 2))) y) (pow.f64 x 2))
(fma.f64 (cbrt.f64 (*.f64 -4 z)) (*.f64 (cbrt.f64 (*.f64 16 (*.f64 z z))) y) (*.f64 x x))
(fma.f64 x x (*.f64 -4 (*.f64 z y)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (pow.f64 x 2)) x) (*.f64 -4 (*.f64 z y)))
(fma.f64 (cbrt.f64 x) (*.f64 (pow.f64 (cbrt.f64 x) 2) x) (*.f64 (*.f64 -4 z) y))
(fma.f64 (*.f64 -4 (*.f64 z (cbrt.f64 y))) (cbrt.f64 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 (*.f64 -4 (*.f64 z (cbrt.f64 y))) (pow.f64 (cbrt.f64 y) 2) (*.f64 x x))
(fma.f64 (cbrt.f64 (pow.f64 x 2)) (*.f64 x (cbrt.f64 x)) (*.f64 -4 (*.f64 z y)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) x) (*.f64 (*.f64 -4 z) y))
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2)) (*.f64 -4 (*.f64 z y)))
(fma.f64 (*.f64 (cbrt.f64 x) x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (*.f64 -4 z) y))
(fma.f64 (cbrt.f64 (*.f64 -4 (*.f64 z y))) (cbrt.f64 (pow.f64 (*.f64 4 (*.f64 z y)) 2)) (pow.f64 x 2))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(fma.f64 -4 (*.f64 z y) (pow.f64 x 2))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(fma.f64 1 (*.f64 -4 (*.f64 z y)) (pow.f64 x 2))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(fma.f64 1 (pow.f64 x 2) (*.f64 -4 (*.f64 z y)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(fma.f64 (*.f64 -4 (*.f64 z y)) 1 (pow.f64 x 2))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(fma.f64 (pow.f64 x 2) 1 (*.f64 -4 (*.f64 z y)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(pow.f64 (cbrt.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2))) 3)
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(pow.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 3) 1/3)
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 1)
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(cbrt.f64 (pow.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) 3))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(neg.f64 (*.f64 (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)) -1))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(neg.f64 (-.f64 (*.f64 4 (*.f64 z y)) (pow.f64 x 2)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(if (!=.f64 (*.f64 -4 (*.f64 z y)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (pow.f64 (pow.f64 x 3) 2)) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (*.f64 (*.f64 -4 z) y) 0) (/.f64 (fma.f64 -64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 x x) 3)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 -4 (*.f64 (*.f64 y z) (fma.f64 x x (*.f64 4 (*.f64 y z))))))) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(if (!=.f64 (*.f64 -4 (*.f64 z y)) 0) (*.f64 (*.f64 -4 (*.f64 z y)) (+.f64 1 (/.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 z y))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (*.f64 (*.f64 -4 z) y) 0) (*.f64 (*.f64 (*.f64 -4 z) y) (fma.f64 (*.f64 x x) (/.f64 -1/4 (*.f64 y z)) 1)) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(if (!=.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y))))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (pow.f64 (pow.f64 x 3) 2)) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 -4 (*.f64 (*.f64 y z) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) 0) (/.f64 (fma.f64 -64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 x x) 3)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 -4 (*.f64 (*.f64 y z) (fma.f64 x x (*.f64 4 (*.f64 y z))))))) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(if (!=.f64 (pow.f64 x 2) 0) (/.f64 (+.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (pow.f64 (pow.f64 x 3) 2)) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (fma.f64 -64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 x x) 3)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 -4 (*.f64 (*.f64 y z) (fma.f64 x x (*.f64 4 (*.f64 y z))))))) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(if (!=.f64 (pow.f64 x 2) 0) (*.f64 (pow.f64 x 2) (+.f64 1 (/.f64 (*.f64 -4 (*.f64 z y)) (pow.f64 x 2)))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (*.f64 x x) 0) (*.f64 (-.f64 1 (/.f64 (*.f64 4 (*.f64 y z)) (*.f64 x x))) (*.f64 x x)) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(if (!=.f64 (-.f64 (*.f64 -4 (*.f64 z y)) (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 4 (*.f64 z y)) 2)) (fma.f64 x x (*.f64 4 (*.f64 z y)))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (-.f64 (*.f64 (*.f64 -4 z) y) (*.f64 x x)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x x) 2) (pow.f64 (*.f64 4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(if (!=.f64 (fma.f64 x x (*.f64 4 (*.f64 z y))) 0) (/.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (pow.f64 (*.f64 4 (*.f64 z y)) 2)) (fma.f64 x x (*.f64 4 (*.f64 z y)))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (fma.f64 x x (*.f64 4 (*.f64 y z))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x x) 2) (pow.f64 (*.f64 4 (*.f64 y z)) 2)) (fma.f64 x x (*.f64 4 (*.f64 y z)))) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(if (!=.f64 (neg.f64 (pow.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (neg.f64 (pow.f64 (pow.f64 x 3) 2))) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (neg.f64 (*.f64 x x)) 0) (/.f64 (fma.f64 -64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 x x) 3)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 -4 (*.f64 (*.f64 y z) (fma.f64 x x (*.f64 4 (*.f64 y z))))))) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(if (!=.f64 (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y))))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (neg.f64 (pow.f64 (pow.f64 x 3) 2))) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 -4 (*.f64 (*.f64 y z) (fma.f64 x x (*.f64 4 (*.f64 y z)))))) 0) (/.f64 (fma.f64 -64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 x x) 3)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 -4 (*.f64 (*.f64 y z) (fma.f64 x x (*.f64 4 (*.f64 y z))))))) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(if (!=.f64 (*.f64 -4 (*.f64 z y)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 -4 (*.f64 z y)) 3) (neg.f64 (pow.f64 (pow.f64 x 3) 2))) (-.f64 (pow.f64 (pow.f64 x 2) 2) (*.f64 (*.f64 -4 (*.f64 z y)) (fma.f64 x x (*.f64 4 (*.f64 z y)))))) (fma.f64 (*.f64 -4 z) y (pow.f64 x 2)))
(if (!=.f64 (*.f64 (*.f64 -4 z) y) 0) (/.f64 (fma.f64 -64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 x x) 3)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 -4 (*.f64 (*.f64 y z) (fma.f64 x x (*.f64 4 (*.f64 y z))))))) (fma.f64 (*.f64 -4 z) y (*.f64 x x)))
(+.f64 (*.f64 -4 (*.f64 z y)) (pow.f64 x 2))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (pow.f64 x 2) (*.f64 -4 (*.f64 z y)))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
(+.f64 (-.f64 (*.f64 -4 (*.f64 z y)) 0) (pow.f64 x 2))
(fma.f64 (*.f64 -4 z) y (*.f64 x x))

eval54.0ms (0.3%)

Compiler

Compiled 2985 to 1724 computations (42.2% saved)

prune19.0ms (0.1%)

Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New1490149
Fresh000
Picked011
Done044
Total1495154
Error
0b
Counts
154 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(fma.f64 (*.f64 -4 z) y (*.f64 x x))
0.0b
(fma.f64 x x (*.f64 y (*.f64 z -4)))
0.0b
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
23.0b
(*.f64 y (*.f64 z -4))
36.8b
(*.f64 x x)
Compiler

Compiled 48 to 32 computations (33.3% saved)

regimes32.0ms (0.1%)

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

7 calls:

5.0ms
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
5.0ms
(*.f64 y 4)
4.0ms
x
4.0ms
y
4.0ms
z
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
0.0b1(*.f64 x x)
0.0b1(*.f64 (*.f64 y 4) z)
0.0b1(*.f64 y 4)
Compiler

Compiled 88 to 55 computations (37.5% saved)

regimes25.0ms (0.1%)

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

7 calls:

4.0ms
y
3.0ms
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
3.0ms
(*.f64 y 4)
3.0ms
x
3.0ms
z
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) z))
0.0b1(*.f64 x x)
0.0b1(*.f64 (*.f64 y 4) z)
0.0b1(*.f64 y 4)
Compiler

Compiled 64 to 43 computations (32.8% saved)

regimes52.0ms (0.2%)

Accuracy

Total -49.4b remaining (-523.5%)

Threshold costs -49.4b (-523.5%)

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

4 calls:

24.0ms
y
11.0ms
x
10.0ms
z
6.0ms
(*.f64 x x)
Results
ErrorSegmentsBranch
9.4b3x
14.2b9y
18.3b3z
9.7b2(*.f64 x x)
Compiler

Compiled 29 to 20 computations (31% saved)

bsearch25.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
9.0ms
34975746974665834000.0
1.4671422518286706e+20
16.0ms
-9.586257892087357e-37
-2.7189812266157045e-52
Results
22.0ms256×body256valid
Compiler

Compiled 274 to 205 computations (25.2% saved)

simplify1.0ms (0%)

Stop Event
done
Compiler

Compiled 51 to 32 computations (37.3% saved)

soundness0.0ms (0%)

end26.0ms (0.1%)

Compiler

Compiled 42 to 21 computations (50% saved)

Profiling

Loading profile data...