real-> nonnegative