@@ -3903,7 +3903,6 @@ _mpd_qexp_check_one(mpd_t *result, const mpd_t *a, const mpd_context_t *ctx,
39033903 /* abs(a) <= 9 * 10**(-prec-1) */
39043904 if (_mpd_cmp (& aa , & lim ) <= 0 ) {
39053905 _settriple (result , 0 , 1 , 0 );
3906- _mpd_zeropad (result , ctx , status );
39073906 * status |= MPD_Rounded |MPD_Inexact ;
39083907 return 1 ;
39093908 }
@@ -4074,8 +4073,6 @@ _mpd_qexp(mpd_t *result, const mpd_t *a, const mpd_context_t *ctx,
40744073 }
40754074#endif
40764075
4077- _mpd_zeropad (result , ctx , status );
4078-
40794076 mpd_del (& tmp );
40804077 mpd_del (& sum );
40814078 * status |= (workctx .status & MPD_Errors );
@@ -4148,6 +4145,7 @@ mpd_qexp(mpd_t *result, const mpd_t *a, const mpd_context_t *ctx,
41484145 if (mpd_isspecial (result ) || mpd_iszerocoeff (result ) ||
41494146 mpd_qcmp (& t1 , & t2 , status ) == 0 ) {
41504147 workctx .clamp = ctx -> clamp ;
4148+ _mpd_zeropad (result , ctx , status );
41514149 mpd_check_underflow (result , & workctx , status );
41524150 mpd_qfinalize (result , & workctx , status );
41534151 break ;
0 commit comments