math only operates on double + coerce for casting to another type