Details

Time bar (total: 10.7s)

analyze484.0ms (4.5%)

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
18.8%18.7%81.1%0.1%0%0%0%8
25.6%25%72.5%0.1%2.3%0%0%9
36.7%34.3%59.3%0.1%6.2%0%0%10
44.2%40.6%51.3%0.1%8%0%0%11
52.1%46.8%43%0.1%10%0%0%12
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample1.8s (17.1%)

Results
1.6s8256×body256valid
233.0ms1192×body256infinite
Bogosity

preprocess215.0ms (2%)

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

Compiled 13 to 9 computations (30.8% saved)

simplify69.0ms (0.7%)

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

eval3.0ms (0%)

Compiler

Compiled 16 to 7 computations (56.3% 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 x) x)
0.0b
(+.f64 x (*.f64 y (-.f64 z x)))
Compiler

Compiled 19 to 11 computations (42.1% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 21 to 6 computations (71.4% saved)

series33.0ms (0.3%)

Counts
2 → 60
Calls

18 calls:

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

Compiled 2460 to 860 computations (65% saved)

rewrite118.0ms (1.1%)

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

simplify380.0ms (3.6%)

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

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 5 computations (66.7% saved)

series9.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(fma.f64 y (-.f64 z x) x)
0.0ms
y
@inf
(fma.f64 y (-.f64 z x) x)
0.0ms
z
@-inf
(fma.f64 y (-.f64 z x) x)
0.0ms
x
@inf
(fma.f64 y (-.f64 z x) x)
0.0ms
x
@-inf
(fma.f64 y (-.f64 z x) x)
Compiler

Compiled 1530 to 560 computations (63.4% saved)

rewrite68.0ms (0.6%)

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

simplify173.0ms (1.6%)

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

eval48.0ms (0.4%)

Compiler

Compiled 2677 to 723 computations (73% saved)

prune43.0ms (0.4%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1388146
Fresh000
Picked011
Done101
Total1399148
Error
0b
Counts
148 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
31.1b
(if (!=.f64 (-.f64 x (*.f64 y (-.f64 z x))) 0) (/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x)))) (fma.f64 y (-.f64 z x) x))
0.0b
(fma.f64 y (-.f64 z x) x)
0.0b
(+.f64 (+.f64 x (*.f64 y z)) (neg.f64 (*.f64 x y)))
0.0b
(+.f64 x (fma.f64 z y (neg.f64 (*.f64 x y))))
11.7b
(+.f64 x (*.f64 y z))
24.3b
(*.f64 (-.f64 1 y) x)
28.1b
(*.f64 y (-.f64 z x))
39.2b
(*.f64 y z)
35.1b
x
Compiler

Compiled 199 to 108 computations (45.7% saved)

localize16.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 z y (neg.f64 (*.f64 x y)))
0.0b
(+.f64 x (fma.f64 z y (neg.f64 (*.f64 x y))))
Compiler

Compiled 29 to 7 computations (75.9% saved)

series31.0ms (0.3%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(+.f64 x (fma.f64 z y (neg.f64 (*.f64 x y))))
1.0ms
y
@inf
(fma.f64 z y (neg.f64 (*.f64 x y)))
1.0ms
y
@-inf
(fma.f64 z y (neg.f64 (*.f64 x y)))
1.0ms
z
@0
(+.f64 x (fma.f64 z y (neg.f64 (*.f64 x y))))
1.0ms
x
@0
(+.f64 x (fma.f64 z y (neg.f64 (*.f64 x y))))
Compiler

Compiled 2830 to 945 computations (66.6% saved)

rewrite113.0ms (1.1%)

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

simplify732.0ms (6.9%)

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

localize6.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize12.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 5 computations (64.3% saved)

localize16.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 9 computations (35.7% saved)

series9.0ms (0.1%)

Counts
1 → 12
Calls

6 calls:

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

Compiled 390 to 180 computations (53.8% saved)

rewrite171.0ms (1.6%)

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

simplify1.1s (10.3%)

Algorithm
egglog
Counts
140 → 148
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 -1 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x x)) (neg.f64 (*.f64 y x)))
(fma.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 x) (neg.f64 (*.f64 y x)))
(fma.f64 x 1 (neg.f64 (*.f64 y x)))
(fma.f64 1 x (neg.f64 (*.f64 y x)))
(fma.f64 0 0 (*.f64 (-.f64 1 y) x))
(fma.f64 0 (sqrt.f64 3) (*.f64 (-.f64 1 y) x))
(fma.f64 0 1/2 (*.f64 (-.f64 1 y) x))
(fma.f64 0 6 (*.f64 (-.f64 1 y) x))
(fma.f64 0 (cbrt.f64 3) (*.f64 (-.f64 1 y) x))
(fma.f64 0 27 (*.f64 (-.f64 1 y) x))
(fma.f64 0 3/2 (*.f64 (-.f64 1 y) x))
(fma.f64 0 9 (*.f64 (-.f64 1 y) x))
(fma.f64 0 1/3 (*.f64 (-.f64 1 y) x))
(fma.f64 0 1 (*.f64 (-.f64 1 y) x))
(fma.f64 0 (cbrt.f64 9) (*.f64 (-.f64 1 y) x))
(fma.f64 9 0 (*.f64 (-.f64 1 y) x))
(fma.f64 1/2 0 (*.f64 (-.f64 1 y) x))
(fma.f64 6 0 (*.f64 (-.f64 1 y) x))
(fma.f64 3/2 0 (*.f64 (-.f64 1 y) x))
(fma.f64 1/3 0 (*.f64 (-.f64 1 y) x))
(fma.f64 1 0 (*.f64 (-.f64 1 y) x))
(fma.f64 0 3 (*.f64 (-.f64 1 y) x))
(fma.f64 0 4 (*.f64 (-.f64 1 y) x))
(fma.f64 0 2 (*.f64 (-.f64 1 y) x))
(fma.f64 3 0 (*.f64 (-.f64 1 y) x))
(fma.f64 4 0 (*.f64 (-.f64 1 y) x))
(fma.f64 2 0 (*.f64 (-.f64 1 y) x))
(if (!=.f64 (fma.f64 x x (*.f64 (neg.f64 (*.f64 y x)) (-.f64 (neg.f64 (*.f64 y x)) x))) 0) (/.f64 (+.f64 (pow.f64 x 3) (neg.f64 (pow.f64 (*.f64 x y) 3))) (fma.f64 x x (*.f64 (neg.f64 (*.f64 y x)) (-.f64 (neg.f64 (*.f64 y x)) x)))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 x 0) (/.f64 (+.f64 (pow.f64 x 3) (neg.f64 (pow.f64 (*.f64 x y) 3))) (fma.f64 x x (*.f64 (neg.f64 (*.f64 y x)) (-.f64 (neg.f64 (*.f64 y x)) x)))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (neg.f64 (*.f64 y x)) 0) (/.f64 (+.f64 (pow.f64 x 3) (neg.f64 (pow.f64 (*.f64 x y) 3))) (fma.f64 x x (*.f64 (neg.f64 (*.f64 y x)) (-.f64 (neg.f64 (*.f64 y x)) x)))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 x 0) (/.f64 (-.f64 1 (pow.f64 y 3)) (/.f64 (+.f64 1 (fma.f64 y y y)) x)) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (-.f64 1 (pow.f64 y 3)) 0) (/.f64 x (/.f64 (-.f64 -1 (fma.f64 y y y)) (+.f64 (pow.f64 y 3) -1))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (*.f64 x (+.f64 1 y)) 0) (/.f64 (fma.f64 x x (neg.f64 (pow.f64 (neg.f64 (*.f64 y x)) 2))) (*.f64 x (+.f64 1 y))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (+.f64 1 (*.f64 (fma.f64 y y y) (+.f64 -1 (fma.f64 y y y)))) 0) (/.f64 (*.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (+.f64 1 (*.f64 (fma.f64 y y y) (+.f64 -1 (fma.f64 y y y))))) (+.f64 1 (pow.f64 (fma.f64 y y y) 3))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (+.f64 (*.f64 (fma.f64 y y y) (-.f64 1 (fma.f64 y y y))) -1) 0) (*.f64 (/.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (+.f64 -1 (neg.f64 (pow.f64 (fma.f64 y y y) 3)))) (+.f64 (*.f64 (fma.f64 y y y) (-.f64 1 (fma.f64 y y y))) -1)) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (-.f64 (neg.f64 (*.f64 y x)) x) 0) (/.f64 (-.f64 (pow.f64 (neg.f64 (*.f64 y x)) 2) (*.f64 x x)) (-.f64 (neg.f64 (*.f64 y x)) x)) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (+.f64 0 (*.f64 (+.f64 y -1) x)) 0) (/.f64 (-.f64 0 (pow.f64 (*.f64 (-.f64 1 y) x) 2)) (+.f64 0 (*.f64 (+.f64 y -1) x))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (+.f64 (pow.f64 (neg.f64 (*.f64 y x)) 2) (-.f64 (*.f64 x x) (*.f64 (neg.f64 (*.f64 y x)) x))) 0) (/.f64 (+.f64 (pow.f64 x 3) (neg.f64 (pow.f64 (*.f64 x y) 3))) (+.f64 (pow.f64 (neg.f64 (*.f64 y x)) 2) (-.f64 (*.f64 x x) (*.f64 (neg.f64 (*.f64 y x)) x)))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (neg.f64 (*.f64 y x)) 0) (/.f64 (+.f64 (pow.f64 x 3) (neg.f64 (pow.f64 (*.f64 x y) 3))) (+.f64 (pow.f64 (neg.f64 (*.f64 y x)) 2) (-.f64 (*.f64 x x) (*.f64 (neg.f64 (*.f64 y x)) x)))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 x 0) (/.f64 (+.f64 (pow.f64 x 3) (neg.f64 (pow.f64 (*.f64 x y) 3))) (+.f64 (pow.f64 (neg.f64 (*.f64 y x)) 2) (-.f64 (*.f64 x x) (*.f64 (neg.f64 (*.f64 y x)) x)))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (*.f64 (+.f64 y -1) x) 0) (/.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 3) (+.f64 0 (+.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2) (*.f64 0 (*.f64 (+.f64 y -1) x))))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (+.f64 0 (+.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2) (*.f64 0 (*.f64 (+.f64 y -1) x)))) 0) (/.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 3) (+.f64 0 (+.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2) (*.f64 0 (*.f64 (+.f64 y -1) x))))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (*.f64 (-.f64 1 y) x) 0) (/.f64 1 (pow.f64 (*.f64 (-.f64 1 y) x) -1)) (*.f64 (-.f64 1 y) x))
(if (!=.f64 0 0) (/.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 3) (+.f64 0 (+.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2) (*.f64 0 (*.f64 (+.f64 y -1) x))))) (*.f64 (-.f64 1 y) x))
(+.f64 x (neg.f64 (*.f64 y x)))
(+.f64 (neg.f64 (*.f64 y x)) x)
(+.f64 0 (*.f64 (-.f64 1 y) x))
(-.f64 0 (*.f64 (+.f64 y -1) x))
(-.f64 (neg.f64 (*.f64 y x)) (neg.f64 x))
(-.f64 9 (+.f64 9 (*.f64 (+.f64 y -1) x)))
(-.f64 1 (+.f64 1 (*.f64 (+.f64 y -1) x)))
(-.f64 3 (+.f64 3 (*.f64 (+.f64 y -1) x)))
(-.f64 x (*.f64 x y))
(-.f64 x (*.f64 y x))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (-.f64 1 y)) (cbrt.f64 x))
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (-.f64 1 y) (cbrt.f64 x)))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 (cbrt.f64 x) (neg.f64 y)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 (neg.f64 y) (cbrt.f64 x)) (cbrt.f64 x)))
(*.f64 (neg.f64 (cbrt.f64 (*.f64 (+.f64 y -1) x))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 y -1) x)) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2))))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) x)))) (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (-.f64 1 y))) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) x)))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)) 2)) (cbrt.f64 (*.f64 (-.f64 1 y) x))))
(*.f64 (cbrt.f64 (cbrt.f64 x)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 (*.f64 x x)) (-.f64 1 y))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) x))) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2))))
(*.f64 (cbrt.f64 (*.f64 (-.f64 1 y) x)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)) (cbrt.f64 (*.f64 (-.f64 1 y) x)))
(*.f64 (*.f64 (*.f64 (-.f64 1 y) (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x x)) 2)))
(*.f64 (*.f64 (-.f64 1 y) (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 1 y) x)) (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)) 2)))
(*.f64 -1 (*.f64 (+.f64 y -1) x))
(*.f64 1 (*.f64 (-.f64 1 y) x))
(*.f64 (*.f64 (-.f64 1 y) x) 1)
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (-.f64 1 y)))
(*.f64 (cbrt.f64 (-.f64 1 y)) (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) x))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) x) (cbrt.f64 (-.f64 1 y)))
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (-.f64 1 y))) (cbrt.f64 (-.f64 1 y))) (cbrt.f64 (-.f64 1 y)))
(*.f64 (cbrt.f64 (-.f64 1 y)) (*.f64 (cbrt.f64 x) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2))))
(*.f64 (/.f64 (-.f64 1 (pow.f64 y 3)) (cbrt.f64 (+.f64 1 (fma.f64 y y y)))) (/.f64 x (cbrt.f64 (pow.f64 (-.f64 -1 (fma.f64 y y y)) 2))))
(*.f64 (-.f64 1 (pow.f64 y 3)) (/.f64 x (+.f64 1 (fma.f64 y y y))))
(*.f64 (/.f64 x (cbrt.f64 (+.f64 1 (fma.f64 y y y)))) (cbrt.f64 (*.f64 (pow.f64 (-.f64 1 y) 2) (-.f64 1 (pow.f64 y 3)))))
(*.f64 (*.f64 x (cbrt.f64 (-.f64 1 y))) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) (*.f64 x (cbrt.f64 (-.f64 1 y))))
(*.f64 (neg.f64 x) (+.f64 y -1))
(*.f64 (+.f64 y -1) (neg.f64 x))
(*.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (/.f64 -1 (-.f64 -1 (fma.f64 y y y))))
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (-.f64 1 y))) (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2))) 2))
(*.f64 2 (*.f64 1/2 (*.f64 (-.f64 1 y) x)))
(*.f64 1/2 (*.f64 2 (*.f64 (-.f64 1 y) x)))
(*.f64 3 (*.f64 1/3 (*.f64 (-.f64 1 y) x)))
(*.f64 1/3 (*.f64 3 (*.f64 (-.f64 1 y) x)))
(*.f64 (neg.f64 (cbrt.f64 (*.f64 x x))) (*.f64 (cbrt.f64 x) (+.f64 y -1)))
(*.f64 (neg.f64 (*.f64 x (cbrt.f64 (+.f64 y -1)))) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 (neg.f64 (cbrt.f64 x)) (*.f64 (+.f64 y -1) (cbrt.f64 (*.f64 x x))))
(*.f64 (*.f64 (+.f64 y -1) (cbrt.f64 (*.f64 x x))) (neg.f64 (cbrt.f64 x)))
(*.f64 (*.f64 x (cbrt.f64 (+.f64 y -1))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 (cbrt.f64 (+.f64 y -1)) (neg.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) x)))
(*.f64 (*.f64 (+.f64 y -1) x) -1)
(*.f64 (*.f64 (+.f64 y -1) (cbrt.f64 x)) (neg.f64 (cbrt.f64 (*.f64 x x))))
(*.f64 (/.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (cbrt.f64 (+.f64 1 (fma.f64 y y y)))) (/.f64 1 (cbrt.f64 (pow.f64 (-.f64 -1 (fma.f64 y y y)) 2))))
(*.f64 (*.f64 x (+.f64 (pow.f64 y 3) -1)) (/.f64 1 (-.f64 -1 (fma.f64 y y y))))
(*.f64 (*.f64 (cbrt.f64 (-.f64 1 (pow.f64 y 3))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) x)) (cbrt.f64 (/.f64 -1 (-.f64 -1 (fma.f64 y y y)))))
(/.f64 (/.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (cbrt.f64 (+.f64 1 (fma.f64 y y y)))) (cbrt.f64 (pow.f64 (-.f64 -1 (fma.f64 y y y)) 2)))
(/.f64 (*.f64 x (+.f64 (pow.f64 y 3) -1)) (-.f64 -1 (fma.f64 y y y)))
(/.f64 (*.f64 (cbrt.f64 (-.f64 1 (pow.f64 y 3))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) x)) (cbrt.f64 (+.f64 1 (fma.f64 y y y))))
(/.f64 (*.f64 (*.f64 x (cbrt.f64 (-.f64 1 y))) (cbrt.f64 (pow.f64 (+.f64 (pow.f64 y 3) -1) 2))) (cbrt.f64 (pow.f64 (-.f64 -1 (fma.f64 y y y)) 2)))
(/.f64 (*.f64 (*.f64 x (cbrt.f64 (-.f64 1 y))) (cbrt.f64 (*.f64 (-.f64 1 y) (-.f64 1 (pow.f64 y 3))))) (cbrt.f64 (+.f64 1 (fma.f64 y y y))))
(/.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)) (cbrt.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))))) (cbrt.f64 (+.f64 1 (fma.f64 y y y))))
(/.f64 (*.f64 (/.f64 (-.f64 1 (pow.f64 y 3)) (cbrt.f64 (+.f64 1 (fma.f64 y y y)))) x) (cbrt.f64 (pow.f64 (-.f64 -1 (fma.f64 y y y)) 2)))
(/.f64 (*.f64 (-.f64 1 y) x) 1)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 y) x)) 2)
(/.f64 (/.f64 (*.f64 x (+.f64 (pow.f64 y 3) -1)) 1) (-.f64 -1 (fma.f64 y y y)))
(/.f64 (/.f64 (*.f64 x (+.f64 (pow.f64 y 3) -1)) (cbrt.f64 (+.f64 1 (fma.f64 y y y)))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 (fma.f64 y y y)) 2))))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 (pow.f64 y 3) 3))) (*.f64 (+.f64 1 (fma.f64 y y y)) (+.f64 1 (+.f64 (pow.f64 (pow.f64 y 3) 2) (pow.f64 y 3)))))
(/.f64 (*.f64 (-.f64 1 (pow.f64 (pow.f64 y 3) 3)) x) (*.f64 (+.f64 1 (fma.f64 y y y)) (+.f64 1 (+.f64 (pow.f64 (pow.f64 y 3) 2) (pow.f64 y 3)))))
(/.f64 (neg.f64 (/.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (cbrt.f64 (+.f64 1 (fma.f64 y y y))))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 (fma.f64 y y y)) 2))))
(/.f64 (neg.f64 (*.f64 (cbrt.f64 (-.f64 1 (pow.f64 y 3))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) x))) (cbrt.f64 (-.f64 -1 (fma.f64 y y y))))
(/.f64 (cbrt.f64 (*.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (pow.f64 (*.f64 (-.f64 1 y) x) 2))) (cbrt.f64 (+.f64 1 (fma.f64 y y y))))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (+.f64 1 (fma.f64 y y y)))
(pow.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) x)) 3)
(pow.f64 (*.f64 (-.f64 1 y) x) 1)
(neg.f64 (*.f64 (+.f64 y -1) x))
(neg.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (+.f64 y -1) (cbrt.f64 x))))
(neg.f64 (-.f64 (*.f64 (+.f64 y -1) x) 0))
(cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 3))
Outputs
x
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 x (-.f64 1 y))
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 x (-.f64 1 y))
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 x (-.f64 1 y))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x x)) (neg.f64 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(fma.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 x) (neg.f64 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(fma.f64 x 1 (neg.f64 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(fma.f64 1 x (neg.f64 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(fma.f64 0 0 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 0 (sqrt.f64 3) (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 0 1/2 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 0 6 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 0 (cbrt.f64 3) (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 0 27 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 0 3/2 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 0 9 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 0 1/3 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 0 1 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 0 (cbrt.f64 9) (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 9 0 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 1/2 0 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 6 0 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 3/2 0 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 1/3 0 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 1 0 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 0 3 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 0 4 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 0 2 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 3 0 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 4 0 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(fma.f64 2 0 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(if (!=.f64 (fma.f64 x x (*.f64 (neg.f64 (*.f64 y x)) (-.f64 (neg.f64 (*.f64 y x)) x))) 0) (/.f64 (+.f64 (pow.f64 x 3) (neg.f64 (pow.f64 (*.f64 x y) 3))) (fma.f64 x x (*.f64 (neg.f64 (*.f64 y x)) (-.f64 (neg.f64 (*.f64 y x)) x)))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (fma.f64 x x (*.f64 (*.f64 y x) (*.f64 x (+.f64 1 y)))) 0) (/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 x x (*.f64 (*.f64 y x) (*.f64 x (+.f64 1 y))))) (*.f64 x (-.f64 1 y)))
(if (!=.f64 x 0) (/.f64 (+.f64 (pow.f64 x 3) (neg.f64 (pow.f64 (*.f64 x y) 3))) (fma.f64 x x (*.f64 (neg.f64 (*.f64 y x)) (-.f64 (neg.f64 (*.f64 y x)) x)))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 x 0) (/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 x x (*.f64 (*.f64 y x) (*.f64 x (+.f64 1 y))))) (*.f64 x (-.f64 1 y)))
(if (!=.f64 (neg.f64 (*.f64 y x)) 0) (/.f64 (+.f64 (pow.f64 x 3) (neg.f64 (pow.f64 (*.f64 x y) 3))) (fma.f64 x x (*.f64 (neg.f64 (*.f64 y x)) (-.f64 (neg.f64 (*.f64 y x)) x)))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (neg.f64 (*.f64 y x)) 0) (/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 x x (*.f64 (*.f64 y x) (*.f64 x (+.f64 1 y))))) (*.f64 x (-.f64 1 y)))
(if (!=.f64 x 0) (/.f64 (-.f64 1 (pow.f64 y 3)) (/.f64 (+.f64 1 (fma.f64 y y y)) x)) (*.f64 (-.f64 1 y) x))
(if (!=.f64 x 0) (/.f64 (-.f64 1 y) (/.f64 1 x)) (*.f64 x (-.f64 1 y)))
(if (!=.f64 (-.f64 1 (pow.f64 y 3)) 0) (/.f64 x (/.f64 (-.f64 -1 (fma.f64 y y y)) (+.f64 (pow.f64 y 3) -1))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (-.f64 1 (pow.f64 y 3)) 0) (/.f64 x (/.f64 (-.f64 -1 (fma.f64 y y y)) (+.f64 (pow.f64 y 3) -1))) (*.f64 x (-.f64 1 y)))
(if (!=.f64 (*.f64 x (+.f64 1 y)) 0) (/.f64 (fma.f64 x x (neg.f64 (pow.f64 (neg.f64 (*.f64 y x)) 2))) (*.f64 x (+.f64 1 y))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (*.f64 x (+.f64 1 y)) 0) (/.f64 (fma.f64 x x (neg.f64 (pow.f64 (*.f64 y x) 2))) (*.f64 x (+.f64 1 y))) (*.f64 x (-.f64 1 y)))
(if (!=.f64 (+.f64 1 (*.f64 (fma.f64 y y y) (+.f64 -1 (fma.f64 y y y)))) 0) (/.f64 (*.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (+.f64 1 (*.f64 (fma.f64 y y y) (+.f64 -1 (fma.f64 y y y))))) (+.f64 1 (pow.f64 (fma.f64 y y y) 3))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (fma.f64 (fma.f64 y y y) (+.f64 -1 (fma.f64 y y y)) 1) 0) (/.f64 (*.f64 (fma.f64 x (pow.f64 y 3) (neg.f64 x)) (fma.f64 (fma.f64 y y y) (+.f64 -1 (fma.f64 y y y)) 1)) (-.f64 -1 (pow.f64 (fma.f64 y y y) 3))) (*.f64 x (-.f64 1 y)))
(if (!=.f64 (+.f64 (*.f64 (fma.f64 y y y) (-.f64 1 (fma.f64 y y y))) -1) 0) (*.f64 (/.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (+.f64 -1 (neg.f64 (pow.f64 (fma.f64 y y y) 3)))) (+.f64 (*.f64 (fma.f64 y y y) (-.f64 1 (fma.f64 y y y))) -1)) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (fma.f64 (fma.f64 y y y) (-.f64 1 (fma.f64 y y y)) -1) 0) (/.f64 (*.f64 (fma.f64 (fma.f64 y y y) (-.f64 1 (fma.f64 y y y)) -1) (*.f64 x (-.f64 1 (pow.f64 y 3)))) (-.f64 -1 (pow.f64 (fma.f64 y y y) 3))) (*.f64 x (-.f64 1 y)))
(if (!=.f64 (-.f64 (neg.f64 (*.f64 y x)) x) 0) (/.f64 (-.f64 (pow.f64 (neg.f64 (*.f64 y x)) 2) (*.f64 x x)) (-.f64 (neg.f64 (*.f64 y x)) x)) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (neg.f64 (*.f64 x (+.f64 1 y))) 0) (/.f64 (fma.f64 x x (neg.f64 (pow.f64 (*.f64 y x) 2))) (*.f64 x (+.f64 1 y))) (*.f64 x (-.f64 1 y)))
(if (!=.f64 (+.f64 0 (*.f64 (+.f64 y -1) x)) 0) (/.f64 (-.f64 0 (pow.f64 (*.f64 (-.f64 1 y) x) 2)) (+.f64 0 (*.f64 (+.f64 y -1) x))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (*.f64 (+.f64 y -1) x) 0) (/.f64 (pow.f64 (*.f64 x (-.f64 1 y)) 2) (*.f64 x (-.f64 1 y))) (*.f64 x (-.f64 1 y)))
(if (!=.f64 (+.f64 (pow.f64 (neg.f64 (*.f64 y x)) 2) (-.f64 (*.f64 x x) (*.f64 (neg.f64 (*.f64 y x)) x))) 0) (/.f64 (+.f64 (pow.f64 x 3) (neg.f64 (pow.f64 (*.f64 x y) 3))) (+.f64 (pow.f64 (neg.f64 (*.f64 y x)) 2) (-.f64 (*.f64 x x) (*.f64 (neg.f64 (*.f64 y x)) x)))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (fma.f64 x x (*.f64 (*.f64 y x) (*.f64 x (+.f64 1 y)))) 0) (/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 x x (*.f64 (*.f64 y x) (*.f64 x (+.f64 1 y))))) (*.f64 x (-.f64 1 y)))
(if (!=.f64 (neg.f64 (*.f64 y x)) 0) (/.f64 (+.f64 (pow.f64 x 3) (neg.f64 (pow.f64 (*.f64 x y) 3))) (+.f64 (pow.f64 (neg.f64 (*.f64 y x)) 2) (-.f64 (*.f64 x x) (*.f64 (neg.f64 (*.f64 y x)) x)))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (neg.f64 (*.f64 y x)) 0) (/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 x x (*.f64 (*.f64 y x) (*.f64 x (+.f64 1 y))))) (*.f64 x (-.f64 1 y)))
(if (!=.f64 x 0) (/.f64 (+.f64 (pow.f64 x 3) (neg.f64 (pow.f64 (*.f64 x y) 3))) (+.f64 (pow.f64 (neg.f64 (*.f64 y x)) 2) (-.f64 (*.f64 x x) (*.f64 (neg.f64 (*.f64 y x)) x)))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 x 0) (/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 x x (*.f64 (*.f64 y x) (*.f64 x (+.f64 1 y))))) (*.f64 x (-.f64 1 y)))
(if (!=.f64 (*.f64 (+.f64 y -1) x) 0) (/.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 3) (+.f64 0 (+.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2) (*.f64 0 (*.f64 (+.f64 y -1) x))))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (*.f64 (+.f64 y -1) x) 0) (/.f64 (pow.f64 (*.f64 x (-.f64 1 y)) 2) (*.f64 x (-.f64 1 y))) (*.f64 x (-.f64 1 y)))
(if (!=.f64 (+.f64 0 (+.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2) (*.f64 0 (*.f64 (+.f64 y -1) x)))) 0) (/.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 3) (+.f64 0 (+.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2) (*.f64 0 (*.f64 (+.f64 y -1) x))))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (pow.f64 (*.f64 x (-.f64 1 y)) 2) 0) (/.f64 (pow.f64 (*.f64 x (-.f64 1 y)) 2) (*.f64 x (-.f64 1 y))) (*.f64 x (-.f64 1 y)))
(if (!=.f64 (*.f64 (-.f64 1 y) x) 0) (/.f64 1 (pow.f64 (*.f64 (-.f64 1 y) x) -1)) (*.f64 (-.f64 1 y) x))
(if (!=.f64 (*.f64 x (-.f64 1 y)) 0) (pow.f64 (/.f64 1 (*.f64 x (-.f64 1 y))) -1) (*.f64 x (-.f64 1 y)))
(if (!=.f64 0 0) (/.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 3) (+.f64 0 (+.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2) (*.f64 0 (*.f64 (+.f64 y -1) x))))) (*.f64 (-.f64 1 y) x))
(if (!=.f64 0 0) (/.f64 (pow.f64 (*.f64 x (-.f64 1 y)) 2) (*.f64 x (-.f64 1 y))) (*.f64 x (-.f64 1 y)))
(+.f64 x (neg.f64 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(+.f64 (neg.f64 (*.f64 y x)) x)
(*.f64 x (-.f64 1 y))
(+.f64 0 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(-.f64 0 (*.f64 (+.f64 y -1) x))
(*.f64 x (-.f64 1 y))
(-.f64 (neg.f64 (*.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 1 y))
(-.f64 9 (+.f64 9 (*.f64 (+.f64 y -1) x)))
(*.f64 x (-.f64 1 y))
(-.f64 1 (+.f64 1 (*.f64 (+.f64 y -1) x)))
(*.f64 x (-.f64 1 y))
(-.f64 3 (+.f64 3 (*.f64 (+.f64 y -1) x)))
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 x y))
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (-.f64 1 y)) (cbrt.f64 x))
(*.f64 x (-.f64 1 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (-.f64 1 y) (cbrt.f64 x)))
(*.f64 x (-.f64 1 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 (cbrt.f64 x) (neg.f64 y)) (cbrt.f64 x)))
(*.f64 x (-.f64 1 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 (neg.f64 y) (cbrt.f64 x)) (cbrt.f64 x)))
(*.f64 x (-.f64 1 y))
(*.f64 (neg.f64 (cbrt.f64 (*.f64 (+.f64 y -1) x))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)))
(*.f64 x (-.f64 1 y))
(*.f64 (cbrt.f64 (*.f64 (+.f64 y -1) x)) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2))))
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) x)))) (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2))))
(*.f64 x (-.f64 1 y))
(*.f64 (cbrt.f64 (cbrt.f64 (-.f64 1 y))) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) x)))
(*.f64 x (-.f64 1 y))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)) 2)) (cbrt.f64 (*.f64 (-.f64 1 y) x))))
(*.f64 x (-.f64 1 y))
(*.f64 (cbrt.f64 (cbrt.f64 x)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 (*.f64 x x)) (-.f64 1 y))))
(*.f64 x (-.f64 1 y))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) x))) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2))))
(*.f64 x (-.f64 1 y))
(*.f64 (cbrt.f64 (*.f64 (-.f64 1 y) x)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)))
(*.f64 x (-.f64 1 y))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)) (cbrt.f64 (*.f64 (-.f64 1 y) x)))
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 (*.f64 (-.f64 1 y) (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x x)) 2)))
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 (-.f64 1 y) (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)))
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 1 y) x)) (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)) 2)))
(*.f64 x (-.f64 1 y))
(*.f64 -1 (*.f64 (+.f64 y -1) x))
(*.f64 x (-.f64 1 y))
(*.f64 1 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 (-.f64 1 y) x) 1)
(*.f64 x (-.f64 1 y))
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(*.f64 x (-.f64 1 y))
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (-.f64 1 y)))
(*.f64 x (-.f64 1 y))
(*.f64 (cbrt.f64 (-.f64 1 y)) (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) x))
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) x) (cbrt.f64 (-.f64 1 y)))
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (-.f64 1 y))) (cbrt.f64 (-.f64 1 y))) (cbrt.f64 (-.f64 1 y)))
(*.f64 x (-.f64 1 y))
(*.f64 (cbrt.f64 (-.f64 1 y)) (*.f64 (cbrt.f64 x) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2))))
(*.f64 x (-.f64 1 y))
(*.f64 (/.f64 (-.f64 1 (pow.f64 y 3)) (cbrt.f64 (+.f64 1 (fma.f64 y y y)))) (/.f64 x (cbrt.f64 (pow.f64 (-.f64 -1 (fma.f64 y y y)) 2))))
(*.f64 x (-.f64 1 y))
(*.f64 (-.f64 1 (pow.f64 y 3)) (/.f64 x (+.f64 1 (fma.f64 y y y))))
(*.f64 x (-.f64 1 y))
(*.f64 (/.f64 x (cbrt.f64 (+.f64 1 (fma.f64 y y y)))) (cbrt.f64 (*.f64 (pow.f64 (-.f64 1 y) 2) (-.f64 1 (pow.f64 y 3)))))
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 x (cbrt.f64 (-.f64 1 y))) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 x (-.f64 1 y))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) (*.f64 x (cbrt.f64 (-.f64 1 y))))
(*.f64 x (-.f64 1 y))
(*.f64 (neg.f64 x) (+.f64 y -1))
(*.f64 x (-.f64 1 y))
(*.f64 (+.f64 y -1) (neg.f64 x))
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (/.f64 -1 (-.f64 -1 (fma.f64 y y y))))
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (-.f64 1 y))) (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2))) 2))
(*.f64 x (-.f64 1 y))
(*.f64 2 (*.f64 1/2 (*.f64 (-.f64 1 y) x)))
(*.f64 x (-.f64 1 y))
(*.f64 1/2 (*.f64 2 (*.f64 (-.f64 1 y) x)))
(*.f64 x (-.f64 1 y))
(*.f64 3 (*.f64 1/3 (*.f64 (-.f64 1 y) x)))
(*.f64 x (-.f64 1 y))
(*.f64 1/3 (*.f64 3 (*.f64 (-.f64 1 y) x)))
(*.f64 x (-.f64 1 y))
(*.f64 (neg.f64 (cbrt.f64 (*.f64 x x))) (*.f64 (cbrt.f64 x) (+.f64 y -1)))
(*.f64 x (-.f64 1 y))
(*.f64 (neg.f64 (*.f64 x (cbrt.f64 (+.f64 y -1)))) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 x (cbrt.f64 (*.f64 (+.f64 y -1) (neg.f64 (pow.f64 (-.f64 1 y) 2)))))
(*.f64 (neg.f64 (cbrt.f64 x)) (*.f64 (+.f64 y -1) (cbrt.f64 (*.f64 x x))))
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 (+.f64 y -1) (cbrt.f64 (*.f64 x x))) (neg.f64 (cbrt.f64 x)))
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 x (cbrt.f64 (+.f64 y -1))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 x (cbrt.f64 (*.f64 (+.f64 y -1) (neg.f64 (pow.f64 (-.f64 1 y) 2)))))
(*.f64 (cbrt.f64 (+.f64 y -1)) (neg.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) x)))
(*.f64 x (cbrt.f64 (*.f64 (+.f64 y -1) (neg.f64 (pow.f64 (-.f64 1 y) 2)))))
(*.f64 (*.f64 (+.f64 y -1) x) -1)
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 (+.f64 y -1) (cbrt.f64 x)) (neg.f64 (cbrt.f64 (*.f64 x x))))
(*.f64 x (-.f64 1 y))
(*.f64 (/.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (cbrt.f64 (+.f64 1 (fma.f64 y y y)))) (/.f64 1 (cbrt.f64 (pow.f64 (-.f64 -1 (fma.f64 y y y)) 2))))
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 x (+.f64 (pow.f64 y 3) -1)) (/.f64 1 (-.f64 -1 (fma.f64 y y y))))
(*.f64 x (-.f64 1 y))
(*.f64 (*.f64 (cbrt.f64 (-.f64 1 (pow.f64 y 3))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) x)) (cbrt.f64 (/.f64 -1 (-.f64 -1 (fma.f64 y y y)))))
(*.f64 x (-.f64 1 y))
(/.f64 (/.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (cbrt.f64 (+.f64 1 (fma.f64 y y y)))) (cbrt.f64 (pow.f64 (-.f64 -1 (fma.f64 y y y)) 2)))
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 x (+.f64 (pow.f64 y 3) -1)) (-.f64 -1 (fma.f64 y y y)))
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 (cbrt.f64 (-.f64 1 (pow.f64 y 3))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) x)) (cbrt.f64 (+.f64 1 (fma.f64 y y y))))
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 (*.f64 x (cbrt.f64 (-.f64 1 y))) (cbrt.f64 (pow.f64 (+.f64 (pow.f64 y 3) -1) 2))) (cbrt.f64 (pow.f64 (-.f64 -1 (fma.f64 y y y)) 2)))
(/.f64 (*.f64 x (cbrt.f64 (*.f64 (-.f64 1 y) (pow.f64 (+.f64 (pow.f64 y 3) -1) 2)))) (cbrt.f64 (pow.f64 (-.f64 -1 (fma.f64 y y y)) 2)))
(/.f64 (*.f64 (*.f64 x (cbrt.f64 (-.f64 1 y))) (cbrt.f64 (*.f64 (-.f64 1 y) (-.f64 1 (pow.f64 y 3))))) (cbrt.f64 (+.f64 1 (fma.f64 y y y))))
(/.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 2)) (cbrt.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))))) (cbrt.f64 (+.f64 1 (fma.f64 y y y))))
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 (/.f64 (-.f64 1 (pow.f64 y 3)) (cbrt.f64 (+.f64 1 (fma.f64 y y y)))) x) (cbrt.f64 (pow.f64 (-.f64 -1 (fma.f64 y y y)) 2)))
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 (-.f64 1 y) x) 1)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 y) x)) 2)
(*.f64 x (-.f64 1 y))
(/.f64 (/.f64 (*.f64 x (+.f64 (pow.f64 y 3) -1)) 1) (-.f64 -1 (fma.f64 y y y)))
(*.f64 x (-.f64 1 y))
(/.f64 (/.f64 (*.f64 x (+.f64 (pow.f64 y 3) -1)) (cbrt.f64 (+.f64 1 (fma.f64 y y y)))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 (fma.f64 y y y)) 2))))
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 (pow.f64 y 3) 3))) (*.f64 (+.f64 1 (fma.f64 y y y)) (+.f64 1 (+.f64 (pow.f64 (pow.f64 y 3) 2) (pow.f64 y 3)))))
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 (-.f64 1 (pow.f64 (pow.f64 y 3) 3)) x) (*.f64 (+.f64 1 (fma.f64 y y y)) (+.f64 1 (+.f64 (pow.f64 (pow.f64 y 3) 2) (pow.f64 y 3)))))
(*.f64 x (-.f64 1 y))
(/.f64 (neg.f64 (/.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (cbrt.f64 (+.f64 1 (fma.f64 y y y))))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 (fma.f64 y y y)) 2))))
(*.f64 x (-.f64 1 y))
(/.f64 (neg.f64 (*.f64 (cbrt.f64 (-.f64 1 (pow.f64 y 3))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) x))) (cbrt.f64 (-.f64 -1 (fma.f64 y y y))))
(*.f64 x (-.f64 1 y))
(/.f64 (cbrt.f64 (*.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (pow.f64 (*.f64 (-.f64 1 y) x) 2))) (cbrt.f64 (+.f64 1 (fma.f64 y y y))))
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 x (-.f64 1 (pow.f64 y 3))) (+.f64 1 (fma.f64 y y y)))
(*.f64 x (-.f64 1 y))
(pow.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 3) 1/3)
(*.f64 x (-.f64 1 y))
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) x)) 3)
(*.f64 x (-.f64 1 y))
(pow.f64 (*.f64 (-.f64 1 y) x) 1)
(*.f64 x (-.f64 1 y))
(neg.f64 (*.f64 (+.f64 y -1) x))
(*.f64 x (-.f64 1 y))
(neg.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (+.f64 y -1) (cbrt.f64 x))))
(*.f64 x (-.f64 1 y))
(neg.f64 (-.f64 (*.f64 (+.f64 y -1) x) 0))
(*.f64 x (-.f64 1 y))
(cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) x) 3))
(*.f64 x (-.f64 1 y))

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 5 computations (64.3% saved)

series10.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

Compiled 790 to 30 computations (96.2% saved)

rewrite179.0ms (1.7%)

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

simplify417.0ms (3.9%)

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

eval224.0ms (2.1%)

Compiler

Compiled 7812 to 3022 computations (61.3% saved)

prune157.0ms (1.5%)

Pruning

10 alts after pruning (6 fresh and 4 done)

PrunedKeptTotal
New4055410
Fresh213
Picked011
Done235
Total40910419
Error
0b
Counts
419 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
28.1b
(fma.f64 z y (neg.f64 (*.f64 x y)))
11.7b
(fma.f64 z y x)
28.1b
(+.f64 (*.f64 y z) (neg.f64 (*.f64 x y)))
0.0b
(+.f64 x (fma.f64 (neg.f64 y) x (*.f64 z y)))
11.7b
(+.f64 x (*.f64 y z))
24.3b
(*.f64 (-.f64 1 y) x)
28.1b
(*.f64 y (-.f64 z x))
39.2b
(*.f64 y z)
51.9b
(neg.f64 (*.f64 y x))
35.1b
x
Compiler

Compiled 128 to 81 computations (36.7% saved)

localize15.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (neg.f64 y) x (*.f64 z y))
0.0b
(+.f64 x (fma.f64 (neg.f64 y) x (*.f64 z y)))
Compiler

Compiled 27 to 7 computations (74.1% saved)

series35.0ms (0.3%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
1.0ms
y
@0
(fma.f64 (neg.f64 y) x (*.f64 z y))
1.0ms
x
@0
(+.f64 x (fma.f64 (neg.f64 y) x (*.f64 z y)))
1.0ms
y
@-inf
(+.f64 x (fma.f64 (neg.f64 y) x (*.f64 z y)))
1.0ms
x
@-inf
(+.f64 x (fma.f64 (neg.f64 y) x (*.f64 z y)))
1.0ms
y
@inf
(fma.f64 (neg.f64 y) x (*.f64 z y))
Compiler

Compiled 3070 to 1430 computations (53.4% saved)

rewrite148.0ms (1.4%)

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

simplify893.0ms (8.4%)

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

localize12.0ms (0.1%)

Compiler

Compiled 12 to 5 computations (58.3% saved)

localize18.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 y z) (neg.f64 (*.f64 x y)))
Compiler

Compiled 24 to 7 computations (70.8% saved)

series18.0ms (0.2%)

Counts
1 → 36
Calls

9 calls:

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

Compiled 1370 to 500 computations (63.5% saved)

rewrite110.0ms (1%)

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

simplify499.0ms (4.7%)

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

localize24.0ms (0.2%)

Compiler

Compiled 10 to 4 computations (60% saved)

localize14.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 20 to 6 computations (70% saved)

eval161.0ms (1.5%)

Compiler

Compiled 5816 to 1563 computations (73.1% saved)

prune104.0ms (1%)

Pruning

10 alts after pruning (3 fresh and 7 done)

PrunedKeptTotal
New2772279
Fresh011
Picked011
Done268
Total27910289
Error
0b
Counts
289 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
28.1b
(fma.f64 (neg.f64 y) x (*.f64 z y))
28.1b
(fma.f64 z y (neg.f64 (*.f64 x y)))
11.7b
(fma.f64 z y x)
28.1b
(-.f64 (*.f64 z y) (*.f64 x y))
11.7b
(+.f64 x (*.f64 y z))
24.3b
(*.f64 (-.f64 1 y) x)
28.1b
(*.f64 y (-.f64 z x))
39.2b
(*.f64 y z)
51.9b
(neg.f64 (*.f64 y x))
35.1b
x
Compiler

Compiled 78 to 50 computations (35.9% saved)

localize13.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 19 to 6 computations (68.4% saved)

series14.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

Compiled 1370 to 500 computations (63.5% saved)

rewrite115.0ms (1.1%)

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

simplify601.0ms (5.6%)

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

localize13.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 18 to 6 computations (66.7% saved)

eval50.0ms (0.5%)

Compiler

Compiled 2668 to 757 computations (71.6% saved)

prune42.0ms (0.4%)

Pruning

10 alts after pruning (2 fresh and 8 done)

PrunedKeptTotal
New1411142
Fresh011
Picked101
Done088
Total14210152
Error
0b
Counts
152 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
45.0b
(if (!=.f64 (-.f64 (neg.f64 (*.f64 x y)) (*.f64 z y)) 0) (/.f64 (*.f64 (*.f64 y (+.f64 z x)) (*.f64 y (-.f64 x z))) (-.f64 (neg.f64 (*.f64 x y)) (*.f64 z y))) (*.f64 y (-.f64 z x)))
28.1b
(fma.f64 z y (neg.f64 (*.f64 x y)))
11.7b
(fma.f64 z y x)
28.1b
(-.f64 (*.f64 z y) (*.f64 x y))
11.7b
(+.f64 x (*.f64 y z))
24.3b
(*.f64 (-.f64 1 y) x)
28.1b
(*.f64 y (-.f64 z x))
39.2b
(*.f64 y z)
51.9b
(neg.f64 (*.f64 y x))
35.1b
x
Compiler

Compiled 107 to 62 computations (42.1% saved)

regimes90.0ms (0.8%)

Counts
18 → 1
Calls
Call 1
Inputs
x
(*.f64 y z)
(neg.f64 (*.f64 y x))
(*.f64 y (-.f64 z x))
(*.f64 (-.f64 1 y) x)
(+.f64 x (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 z x)))
(-.f64 (*.f64 z y) (*.f64 x y))
(+.f64 (*.f64 y z) (neg.f64 (*.f64 x y)))
(+.f64 (+.f64 x (*.f64 y z)) (neg.f64 (*.f64 x y)))
(if (!=.f64 (-.f64 (neg.f64 (*.f64 x y)) (*.f64 z y)) 0) (/.f64 (*.f64 (*.f64 y (+.f64 z x)) (*.f64 y (-.f64 x z))) (-.f64 (neg.f64 (*.f64 x y)) (*.f64 z y))) (*.f64 y (-.f64 z x)))
(fma.f64 z y x)
(fma.f64 y (-.f64 z x) x)
(fma.f64 z y (neg.f64 (*.f64 x y)))
(fma.f64 (neg.f64 y) x (*.f64 z y))
(+.f64 x (fma.f64 z y (neg.f64 (*.f64 x y))))
(+.f64 x (fma.f64 (neg.f64 y) x (*.f64 z y)))
(if (!=.f64 (-.f64 x (*.f64 y (-.f64 z x))) 0) (/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x)))) (fma.f64 y (-.f64 z x) x))
Outputs
(+.f64 x (fma.f64 z y (neg.f64 (*.f64 x y))))
Calls

4 calls:

30.0ms
(+.f64 x (*.f64 y (-.f64 z x)))
19.0ms
z
17.0ms
y
17.0ms
x
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1(+.f64 x (*.f64 y (-.f64 z x)))
Compiler

Compiled 193 to 60 computations (68.9% saved)

regimes41.0ms (0.4%)

Counts
15 → 1
Calls
Call 1
Inputs
x
(*.f64 y z)
(neg.f64 (*.f64 y x))
(*.f64 y (-.f64 z x))
(*.f64 (-.f64 1 y) x)
(+.f64 x (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 z x)))
(-.f64 (*.f64 z y) (*.f64 x y))
(+.f64 (*.f64 y z) (neg.f64 (*.f64 x y)))
(+.f64 (+.f64 x (*.f64 y z)) (neg.f64 (*.f64 x y)))
(if (!=.f64 (-.f64 (neg.f64 (*.f64 x y)) (*.f64 z y)) 0) (/.f64 (*.f64 (*.f64 y (+.f64 z x)) (*.f64 y (-.f64 x z))) (-.f64 (neg.f64 (*.f64 x y)) (*.f64 z y))) (*.f64 y (-.f64 z x)))
(fma.f64 z y x)
(fma.f64 y (-.f64 z x) x)
(fma.f64 z y (neg.f64 (*.f64 x y)))
(fma.f64 (neg.f64 y) x (*.f64 z y))
Outputs
(fma.f64 y (-.f64 z x) x)
Calls

4 calls:

9.0ms
z
9.0ms
(+.f64 x (*.f64 y (-.f64 z x)))
8.0ms
x
8.0ms
y
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1(+.f64 x (*.f64 y (-.f64 z x)))
Compiler

Compiled 140 to 49 computations (65% saved)

regimes35.0ms (0.3%)

Counts
12 → 1
Calls
Call 1
Inputs
x
(*.f64 y z)
(neg.f64 (*.f64 y x))
(*.f64 y (-.f64 z x))
(*.f64 (-.f64 1 y) x)
(+.f64 x (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 z x)))
(-.f64 (*.f64 z y) (*.f64 x y))
(+.f64 (*.f64 y z) (neg.f64 (*.f64 x y)))
(+.f64 (+.f64 x (*.f64 y z)) (neg.f64 (*.f64 x y)))
(if (!=.f64 (-.f64 (neg.f64 (*.f64 x y)) (*.f64 z y)) 0) (/.f64 (*.f64 (*.f64 y (+.f64 z x)) (*.f64 y (-.f64 x z))) (-.f64 (neg.f64 (*.f64 x y)) (*.f64 z y))) (*.f64 y (-.f64 z x)))
(fma.f64 z y x)
Outputs
(+.f64 (+.f64 x (*.f64 y z)) (neg.f64 (*.f64 x y)))
Calls

4 calls:

9.0ms
z
9.0ms
(+.f64 x (*.f64 y (-.f64 z x)))
8.0ms
x
7.0ms
y
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1(+.f64 x (*.f64 y (-.f64 z x)))
Compiler

Compiled 120 to 45 computations (62.5% saved)

regimes27.0ms (0.3%)

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

4 calls:

7.0ms
(+.f64 x (*.f64 y (-.f64 z x)))
6.0ms
y
6.0ms
z
6.0ms
x
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1(+.f64 x (*.f64 y (-.f64 z x)))
Compiler

Compiled 70 to 33 computations (52.9% saved)

regimes48.0ms (0.5%)

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

3 calls:

17.0ms
x
15.0ms
z
15.0ms
y
Results
ErrorSegmentsBranch
9.0b4x
0.9b3y
4.7b3z
Compiler

Compiled 38 to 21 computations (44.7% saved)

bsearch24.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
8.0ms
0.0036325196763426697
0.012973905067357103
16.0ms
-65315105342.9566
-131584.89599633575
Results
21.0ms224×body256valid
1.0msbody256infinite
Compiler

Compiled 268 to 179 computations (33.2% saved)

regimes94.0ms (0.9%)

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

3 calls:

40.0ms
y
26.0ms
x
26.0ms
z
Results
ErrorSegmentsBranch
13.8b3x
8.3b5y
13.1b5z
Compiler

Compiled 33 to 20 computations (39.4% saved)

bsearch80.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
0.0036325196763426697
0.012973905067357103
23.0ms
6.627434958270567e-165
8.161732066391485e-162
19.0ms
2.9275440173768463e-199
2.2265838609465975e-197
23.0ms
-6.457211522034053e-36
-1.633225383099855e-40
Results
70.0ms448×body256valid
Compiler

Compiled 430 to 315 computations (26.7% saved)

regimes162.0ms (1.5%)

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

3 calls:

76.0ms
z
47.0ms
x
36.0ms
y
Results
ErrorSegmentsBranch
17.5b5x
8.3b5y
20.1b7z
Compiler

Compiled 28 to 17 computations (39.3% saved)

bsearch88.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
2.322506577955048e-41
1.0316423205776755e-36
25.0ms
6.627434958270567e-165
8.161732066391485e-162
18.0ms
2.9275440173768463e-199
2.2265838609465975e-197
22.0ms
-6.457211522034053e-36
-1.633225383099855e-40
Results
78.0ms496×body256valid
Compiler

Compiled 420 to 306 computations (27.1% saved)

regimes101.0ms (0.9%)

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

3 calls:

46.0ms
y
32.0ms
z
21.0ms
x
Results
ErrorSegmentsBranch
25.0b3x
17.6b7y
23.9b5z
Compiler

Compiled 23 to 15 computations (34.8% saved)

bsearch105.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
2.322506577955048e-41
1.0316423205776755e-36
12.0ms
6.627434958270567e-165
8.161732066391485e-162
13.0ms
2.9275440173768463e-199
2.2265838609465975e-197
15.0ms
-6.457211522034053e-36
-1.633225383099855e-40
19.0ms
-65315105342.9566
-131584.89599633575
30.0ms
-2.05818270140673e+143
-5.676774380386339e+135
Results
83.0ms784×body256valid
11.0ms75×body256infinite
Compiler

Compiled 658 to 488 computations (25.8% saved)

regimes38.0ms (0.4%)

Accuracy

Total -42.9b remaining (-223.1%)

Threshold costs -42.9b (-223.1%)

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

3 calls:

14.0ms
z
13.0ms
y
11.0ms
x
Results
ErrorSegmentsBranch
25.0b3x
19.2b5y
23.9b5z
Compiler

Compiled 19 to 13 computations (31.6% saved)

bsearch52.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
12.0ms
2.322506577955048e-41
1.0316423205776755e-36
17.0ms
6.627434958270567e-165
8.161732066391485e-162
11.0ms
2.9275440173768463e-199
2.2265838609465975e-197
12.0ms
-6.457211522034053e-36
-1.633225383099855e-40
Results
47.0ms496×body256valid
Compiler

Compiled 388 to 290 computations (25.3% saved)

simplify8.0ms (0.1%)

Stop Event
fuel
Compiler

Compiled 221 to 121 computations (45.2% saved)

soundness0.0ms (0%)

end76.0ms (0.7%)

Compiler

Compiled 194 to 79 computations (59.3% saved)

Profiling

Loading profile data...