--- gforth/prim 2012/03/17 22:18:59 1.268 +++ gforth/prim 2012/03/18 15:49:14 1.270 @@ -2325,6 +2325,7 @@ CLOBBER_TOS_WORKAROUND_END; flnp1 ( r1 -- r2 ) float-ext f_l_n_p_one ""@i{r2}=ln(@i{r1}+1)"" +CLOBBER_TOS_WORKAROUND_START; #ifdef HAVE_LOG1P extern double #ifdef NeXT @@ -2335,6 +2336,7 @@ r2 = log1p(r1); #else r2 = log(r1+1.); #endif +CLOBBER_TOS_WORKAROUND_END; flog ( r1 -- r2 ) float-ext f_log ""The decimal logarithm."" @@ -2357,8 +2359,7 @@ CLOBBER_TOS_WORKAROUND_END; fsincos ( r1 -- r2 r3 ) float-ext f_sine_cos ""@i{r2}=sin(@i{r1}), @i{r3}=cos(@i{r1})"" CLOBBER_TOS_WORKAROUND_START; -r2 = sin(r1); -r3 = cos(r1); +sincos(r1, &r2, &r3); CLOBBER_TOS_WORKAROUND_END; fsqrt ( r1 -- r2 ) float-ext f_square_root