public AstNodeStm vsrt3()
{
int VectorSize = ONE_TWO;
if (VectorSize != 4) return ast.Statement();
var VVD = VEC(VD, VType.VFloat, VectorSize);
var VVS = VEC(VS, VType.VFloat, VectorSize);
return VVD.SetVector(Index =>
{
switch (Index)
{
case 0: return ast.CallStatic((Func<float, float, float>)MathFloat.Max, VVS[0], VVS[1]);
case 1: return ast.CallStatic((Func<float, float, float>)MathFloat.Min, VVS[0], VVS[1]);
case 2: return ast.CallStatic((Func<float, float, float>)MathFloat.Max, VVS[2], VVS[3]);
case 3: return ast.CallStatic((Func<float, float, float>)MathFloat.Min, VVS[2], VVS[3]);
default: throw (new InvalidOperationException("vsrt3.Assert!"));
}
}, PC);
}