add precision generation d->s