úÎI`CÏh      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab c d e f g  Safe-Inferred0Base 2 logarithm of argument, rounded downwards.+Converts precisions from decimal to binary.UOperator allowing function expecting binary precision to be applied to decimal ditto. Safe-Inferred†Common functions collected to allow for instances which handle dependency problems for intervals, and for automatic differentiation. Safe-Inferred          Safe-Inferred Scaling.  scale x n computes x * 2^n using bit shifts.dCorrectly rounded result for negative n. Rounds upwards when decimal part of unrounded result is .5  None2Memoizing a function which satisfies the property f (p-r) = scale (f p) (-r) for all r > 0=. Unsafe; based on ideas from Lennart Augustsson's uglymemo.None †A real number/interval is a function from required precision to an integer interval; for numbers the interval is thin (has radius 1).#USmart constructor; uses an (unfortunately unsafe) memoizing technique for efficiency.$8Selector; computes integer interval for given precision.%6prec n x is an interval of width 10^(-n) containing x. !"#$% !"#$" !#$% !"#$%None&0Constructs an interval from midpoint and radius.'IConstructs an interval from end points (which can be given in any order).(Returns midpoint of argument.)Returns radius of argument.*#Returns left end point of argument.+$Returns right end point of argument.,#Convex hull of a list of intervals.-UTests whether first arg is contained in second, using total tests of given precision..4Intersection of intervals; empty intersection gives h1%Total, approximate equality test. If x =?= y  d returns i, then x and y* are definitely not equal. If it returns j;, then the absolute value of their difference is less than 10^(-d) (but they may be non-equal).2'Total, approximate inequality test. If x <! y  d returns j, then x is definitely smaller than y, If it returns i, x may still be smaller than y', but their difference is then at most 10^(-d). 3x >! y is the same as y <! x.5 Prints an  V with given number of decimals. Rounding error is up to one unit in the last position.6 Prints an  k in scientific notation with given number of digits. Rounding error is up to one unit in the last position.7ZForces evaluation of second argument to given number of decimals; returns second argument.>IReal is an instance of k3 but it should be avoided; see introduction. Use x ? n to print x with n decimals.A8Equality test for overlapping values is non-terminating.H$Division by zero is non-terminating.$&'()*+,-./0123456789:;<=>?@ABCDEFGHI&'()*+,-./0123456789:;<=$&'*)(+,-.IHGFE/DCBA@0?1234>56789:;=<$&'()*+,-./0123456789:;<=>?@ABCDEFGHI&'12356NoneYEGenerates real numbers uniformly distributed over the given interval.ZeGenerates real intervals of varying width, with midpoints uniformly distributed over given interval.[{Generates random expressions built from values generated by argument generator, arithmetic operators and applications of l functions.]_Basic test that the argument is a proper real number (is thin and satisfies Cauchy criterion).^™Basic test that argument is a proper interval (the end points are proper numbers, with left end smaller than right end). JKLMNOPQRSTUVWXYZ[\]^_`aJKLMNOPQRSTUVWXYZ[\]^_LONMJKPQRSTUVaWX`YZ[\]^_JKLONMPQRSTUVWXYZ[\]^_`a Noneb‚Balanced fold, minimizing depth of call tree. Assumes associative operator. Often much more efficient than foldl/foldr when type a is   and the list is long.c;Balanced fold for associative operator over non-empty list.dABalanced sum, reorganized for (much) better efficiency when type a is   and the list is long.g$1st arg should be length of 2nd arg.bcdefgbcdefgbcdefgbcdefg None' &'()*+,-./123567YZ[]^bcdefg' /56231&',.*+()-bcdegfYZ[]^7m    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUUVWXYZ[\]^_`abcdefghijk l m n o p qrstuvwuvxryzr{|} ireal-0.1Data.Number.IReal.AuxiliaryData.Number.IReal.Powers!Data.Number.IReal.IntegerIntervalData.Number.IReal.ScalableData.Number.IReal.UnsafeMemoData.Number.IReal.IReal!Data.Number.IReal.IRealOperationsData.Number.IReal.GeneratorsData.Number.IReal.FoldBData.Number.IReallg2dec2bits atDecimalsPowerssqpow$fPowersInteger$fPowersDoubleIntegerIntervalIuptomidIradIlowerIupperIisThinivalCase$fPowersIntegerInterval$fNumIntegerIntervalVarPrecprecprecBScalablescale$fVarPrecDouble $fVarPrec[]$fScalableDouble$fScalableIntegerInterval$fScalableRatio$fScalableInteger unsafeMemomemoIOIRealIR Precisionirappr$fVarPrecIReal+--+-midradlowerupperhull containedIn intersectiontoDoublecomp=?=! showIReal???force powerSeriesg0pshalfPi quarterPilog2 $fShowIReal $fEnumIReal $fOrdIReal $fEqIReal$fScalableIReal $fPowersIReal$fRealFloatIReal$fRealFracIReal $fRealIReal$fFloatingIReal$fFractionalIReal $fNumIRealFracDigPZMmzpftailfracnfracpfracexpandgenIReal uniformNum uniformIvalexprGenisCauchy propIsRealNumpropIsRealIvalforAllI$fArbitraryIReal$fArbitraryFracfoldbfoldb1bsumfoldb'isum'isumN'base Data.MaybeNothingghc-prim GHC.TypesFalseTrueGHC.ShowShow GHC.FloatFloating