Is it worth converting 
    (1 - exp(x)) 
to 
    -expm1(x)

so the above line would be:

    bvi_->adj_ -= adj_ / exp1m(ad_ - bvi_->val_);