Expr Sqrt(Expr e) { var @const = e.AsConst(); if(@const != null && @const.Value == BigRational.Zero) return Expr.Zero; return builder.Sqrt(e); }
static bool IsMinusOne(Expr expr) { return expr.AsConst().If<BigRational>(x => x == BigInteger.MinusOne).ReturnSuccess(); }