Lines Matching refs:x
123 extern double exp(x)
124 double x;
130 if(x!=x) return(x); /* x is NaN */
132 if( x <= lnhuge ) {
133 if( x >= lntiny ) {
137 k=invln2*x+copysign(0.5,x); /* k=NINT(x/ln2) */
141 hi=x-k*ln2hi;
142 x=hi-(lo=k*ln2lo);
145 z=x*x;
146 c= x - z*(p1+z*(p2+z*(p3+z*(p4+z*p5))));
147 return scalb(1.0+(hi-(lo-(x*c)/(2.0-c))),k);
154 if(finite(x)) return(scalb(1.0,-5000));
163 return( finite(x) ? scalb(1.0,5000) : x);
170 double __exp__D(x, c) in __exp__D() argument
171 double x, c; in __exp__D()
177 if (x!=x) return(x); /* x is NaN */
179 if ( x <= lnhuge ) {
180 if ( x >= lntiny ) {
183 z = invln2*x;
184 k = (int)z + copysign(.5, x);
188 hi=(x-k*ln2hi); /* Exact. */
189 x= hi - (lo = k*ln2lo-c);
191 z=x*x;
192 c= x - z*(p1+z*(p2+z*(p3+z*(p4+z*p5))));
193 c = (x*c)/(2.0-c);
201 if(finite(x)) return(scalb(1.0,-5000));
210 return( finite(x) ? scalb(1.0,5000) : x);