    RoundedSpecialConstEffort MPFR
    where
    type SpecialConstEffortIndicator MPFR = MPFRPrec
    specialConstDefaultEffort sample = getPrecision sample

instance 
    RoundedSpecialConst MPFR
    where
    piUpEff prec _ = withPrec prec pi
    piDnEff prec _ = negate $ withPrecRoundDown prec (- pi)
    eUpEff prec _ = withPrec prec (exp 1)