* installing *source* package ‘nlmixr2est’ ...
** this is package ‘nlmixr2est’ version ‘7.1.0’
** package ‘nlmixr2est’ successfully unpacked and MD5 sums checked
** using staged installation
--------[begin src/Makevars]--------
# -*- mode: makefile-gmake -*-
ARMA=/data/localhost/ripley/R/test-dev/RcppArmadillo/include
BH=/data/localhost/ripley/R/test-dev/BH/include
RCPP=/data/localhost/ripley/R/test-dev/Rcpp/include
RXP=/data/localhost/ripley/R/test-dev/rxode2/include
EG=/data/localhost/ripley/R/test-dev/RcppEigen/include

CXX_STD     = CXX17

PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) $(SHLIB_OPENMP_CXXFLAGS)
PKG_CXXFLAGS = -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"$(BH)" -I"$(RCPP)" -I"$(ARMA)" -I"$(RXP)" -I"$(EG)"  $(SHLIB_OPENMP_CXXFLAGS) -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE
SHLIB_LDFLAGS = $(SHLIB_CXXLDFLAGS)
SHLIB_LD = $(SHLIB_CXXLD)
SOURCES_C = init.c rprintf.c merge3.c lbfgsR.c utilc.c
SOURCES_CPP = uninformativeEtas.cpp nlm.cpp filterNormalLike.cpp inner.cpp odeSwap.cpp imp.cpp npCommon.cpp npag.cpp npb.cpp foceiGrad.cpp shi21.cpp nearPD.cpp censEst.cpp saem.cpp expandNlme.cpp npde.cpp shrink.cpp ires.cpp res.cpp cwres.cpp censResid.cpp cholse.cpp neldermead.cpp resid.cpp slice.cpp RcppExportMod.cpp RcppExports.cpp rxcmp.cpp vaeEncoder.cpp
OBJECTS = $(SOURCES_CPP:.cpp=.o) $(SOURCES_C:.c=.o)

all: $(SHLIB)
$(SHLIB): $(OBJECTS)

# Rebuild every object when any header changes.  Without this the objects have
# no header dependencies at all, so editing a shared header leaves stale objects
# linking against the previous signature -- which fails at LOAD time with an
# undefined symbol, or silently keeps running the OLD code, long after a build
# that reported success.
#
# MUST come after `all:` -- the first target in a makefile is the default goal,
# so putting this above it makes the first OBJECT the default and every build
# silently compiles that one file and stops, producing no shared object at all.
#
# -I../inst/include is on the compile line above and sources do include from
# there (nlmixr2est.h, nlmixr2estLikContrib.h, lin_cmt.hpp), so those headers
# need covering too, or the same stale-object failure stays open for exactly
# the headers that cross the package boundary.
HEADERS = armahead.h censEst.h censResid.h cwres.h evaluate.h foceiGrad.h \
          imp.h impQrng.h inner.h ires.h likContribUtil.h logSumExp.h \
          nearPD.h nmMcmcRng.h nmParallel.h nmParallelCore.h nmSeqSeed.h \
          np.h npCommon.h npde.h odeSwap.h res.h rxProtect.h rxomp.h scale.h \
          shi21.h shrink.h solveWarnHelper.h truncNorm.h \
          trustHessianUpdate.h utilc.h vaeEncoder.h \
          ../inst/include/lin_cmt.hpp ../inst/include/nlmixr2est.h \
          ../inst/include/nlmixr2estFoceiPtr.h \
          ../inst/include/nlmixr2estLikContrib.h \
          ../inst/include/nlmixr2estLikContribPtr.h \
          ../inst/include/nlmixr2estNlmPtr.h \
          ../inst/include/nlmixr2est_RcppExports.h \
          ../inst/include/nlmixr2est_types.h
$(OBJECTS): $(HEADERS)
--------[end src/Makevars]--------
** libs
specified C++17
using C compiler: ‘gcc (GCC) 16.2.1 20260819 (Red Hat 16.2.1-2)’
using C++ compiler: ‘g++ (GCC) 16.2.1 20260819 (Red Hat 16.2.1-2)’
using C++17
make[1]: Entering directory '/data/localhost/ripley/R/packages/tests-devel/nlmixr2est/src'
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c uninformativeEtas.cpp -o uninformativeEtas.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c nlm.cpp -o nlm.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c filterNormalLike.cpp -o filterNormalLike.o
In file included from nlm.cpp:6:
censEst.h: In function ‘void censNormalPartials(double, double, double, double, double, int, double*)’:
censEst.h:392:16: warning: unused variable ‘rx_expr_31’ [-Wunused-variable]
  392 |         double rx_expr_31 = erf(rx_expr_25);
      |                ^~~~~~~~~~
censEst.h:351:14: warning: unused variable ‘rx_expr_21’ [-Wunused-variable]
  351 |       double rx_expr_21 = erf(rx_expr_18);
      |              ^~~~~~~~~~
censEst.h:472:16: warning: unused variable ‘rx_expr_31’ [-Wunused-variable]
  472 |         double rx_expr_31 = erf(rx_expr_25);
      |                ^~~~~~~~~~
censEst.h:431:14: warning: unused variable ‘rx_expr_21’ [-Wunused-variable]
  431 |       double rx_expr_21 = erf(rx_expr_18);
      |              ^~~~~~~~~~
censEst.h:590:14: warning: unused variable ‘rx_expr_48’ [-Wunused-variable]
  590 |       double rx_expr_48 = erf(rx_expr_44);
      |              ^~~~~~~~~~
censEst.h:591:14: warning: unused variable ‘rx_expr_49’ [-Wunused-variable]
  591 |       double rx_expr_49 = erf(rx_expr_46);
      |              ^~~~~~~~~~
censEst.h:517:12: warning: unused variable ‘rx_expr_29’ [-Wunused-variable]
  517 |     double rx_expr_29 = erf(rx_expr_26);
      |            ^~~~~~~~~~
censEst.h:518:12: warning: unused variable ‘rx_expr_30’ [-Wunused-variable]
  518 |     double rx_expr_30 = erf(rx_expr_28);
      |            ^~~~~~~~~~
censEst.h:714:14: warning: unused variable ‘rx_expr_34’ [-Wunused-variable]
  714 |       double rx_expr_34 = erf(rx_expr_31);
      |              ^~~~~~~~~~
censEst.h:679:12: warning: unused variable ‘rx_expr_18’ [-Wunused-variable]
  679 |     double rx_expr_18 = erf(rx_expr_17);
      |            ^~~~~~~~~~
nlm.cpp: In function ‘Rcpp::RObject nlmSetup(Rcpp::Environment)’:
nlm.cpp:326:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
  326 |   for (int i = 0; i < nlmOp.ntheta; ++i) {
      |                   ~~^~~~~~~~~~~~~~
nlm.cpp: In function ‘Rcpp::RObject nlmScalePar(Rcpp::RObject)’:
nlm.cpp:350:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
  350 |   for (int i = 0; i < nlmOp.ntheta; i++) {
      |                   ~~^~~~~~~~~~~~~~
nlm.cpp: In function ‘Rcpp::NumericVector nlmUnscalePar(Rcpp::NumericVector)’:
nlm.cpp:386:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
  386 |   for (int i = 0; i < nlmOp.ntheta; i++) {
      |                   ~~^~~~~~~~~~~~~~
nlm.cpp: In function ‘arma::mat nlmSolveGradId(arma::vec&, int)’:
nlm.cpp:680:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
  680 |   for (int ii = 0; ii < nlmOp.ntheta; ++ii) {
      |                    ~~~^~~~~~~~~~~~~~
nlm.cpp: In function ‘Rcpp::NumericVector nlmGetScaleC(arma::vec&, double)’:
nlm.cpp:829:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
  829 |   for(int i = 0; i < nlmOp.ntheta; ++i) {
      |                  ~~^~~~~~~~~~~~~~
nlm.cpp: In function ‘Rcpp::NumericVector solveGradNls(arma::vec&, int)’:
nlm.cpp:882:12: warning: unused variable ‘llik’ [-Wunused-variable]
  882 |     double llik;
      |            ^~~~
nlm.cpp: In function ‘Rcpp::RObject nlmAdjustHessian(Rcpp::RObject, arma::vec)’:
nlm.cpp:1397:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 1397 |   for (int i = 0; i < nlmOp.ntheta; ++i) {
      |                   ~~^~~~~~~~~~~~~~
nlm.cpp: In function ‘Rcpp::RObject nlmAdjustCov(Rcpp::RObject, arma::vec)’:
nlm.cpp:1411:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 1411 |   for (int i = 0; i < nlmOp.ntheta; ++i) {
      |                   ~~^~~~~~~~~~~~~~
nlm.cpp: In function ‘int nlmixr2NlmEval(const double*, int, double*, double*)’:
nlm.cpp:1456:14: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 1456 |   if (ntheta != nlmOp.ntheta || theta == NULL ||
      |       ~~~~~~~^~~~~~~~~~~~~~~
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c inner.cpp -o inner.o
In file included from inner.cpp:8:
censEst.h: In function ‘void censNormalPartials(double, double, double, double, double, int, double*)’:
censEst.h:392:16: warning: unused variable ‘rx_expr_31’ [-Wunused-variable]
  392 |         double rx_expr_31 = erf(rx_expr_25);
      |                ^~~~~~~~~~
censEst.h:351:14: warning: unused variable ‘rx_expr_21’ [-Wunused-variable]
  351 |       double rx_expr_21 = erf(rx_expr_18);
      |              ^~~~~~~~~~
censEst.h:472:16: warning: unused variable ‘rx_expr_31’ [-Wunused-variable]
  472 |         double rx_expr_31 = erf(rx_expr_25);
      |                ^~~~~~~~~~
censEst.h:431:14: warning: unused variable ‘rx_expr_21’ [-Wunused-variable]
  431 |       double rx_expr_21 = erf(rx_expr_18);
      |              ^~~~~~~~~~
censEst.h:590:14: warning: unused variable ‘rx_expr_48’ [-Wunused-variable]
  590 |       double rx_expr_48 = erf(rx_expr_44);
      |              ^~~~~~~~~~
censEst.h:591:14: warning: unused variable ‘rx_expr_49’ [-Wunused-variable]
  591 |       double rx_expr_49 = erf(rx_expr_46);
      |              ^~~~~~~~~~
censEst.h:517:12: warning: unused variable ‘rx_expr_29’ [-Wunused-variable]
  517 |     double rx_expr_29 = erf(rx_expr_26);
      |            ^~~~~~~~~~
censEst.h:518:12: warning: unused variable ‘rx_expr_30’ [-Wunused-variable]
  518 |     double rx_expr_30 = erf(rx_expr_28);
      |            ^~~~~~~~~~
censEst.h:714:14: warning: unused variable ‘rx_expr_34’ [-Wunused-variable]
  714 |       double rx_expr_34 = erf(rx_expr_31);
      |              ^~~~~~~~~~
censEst.h:679:12: warning: unused variable ‘rx_expr_18’ [-Wunused-variable]
  679 |     double rx_expr_18 = erf(rx_expr_17);
      |            ^~~~~~~~~~
inner.cpp: In function ‘bool etaInBound(double*)’:
inner.cpp:1359:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 1359 |   for (int j = 0; j < op_focei.neta; j++) em(j, 0) = eta[j];
      |                   ~~^~~~~~~~~~~~~~~
inner.cpp: In function ‘void fdPinRefEtaForce(focei_ind*, rx_solving_options_ind*, const std::vector<double>&)’:
inner.cpp:2538:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 2538 |   if ((int)refEta.size() == op_focei.neta) {
      |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
inner.cpp:2539:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 2539 |     for (int i = 0; i < op_focei.neta; ++i) {
      |                     ~~^~~~~~~~~~~~~~~
inner.cpp: In function ‘double likInner0(double*, int)’:
inner.cpp:2912:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 2912 |       for (int ii = 0; ii < op_focei.neta; ++ii) {
      |                        ~~~^~~~~~~~~~~~~~~
inner.cpp:2943:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 2943 |         for (int ii = 0; ii < op_focei.neta; ++ii) {
      |                          ~~~^~~~~~~~~~~~~~~
inner.cpp: In function ‘double LikInner2(double*, int, int)’:
inner.cpp:3992:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 3992 |         for (; curi < _aqn; curi++) {
      |                ~~~~~^~~~~~
inner.cpp: In function ‘int innerOpt1(int, int)’:
inner.cpp:4164:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 4164 |     for (int _j = 0; _j < op_focei.neta; _j++) {
      |                      ~~~^~~~~~~~~~~~~~~
inner.cpp:4201:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 4201 |       for (int j = 0; j < op_focei.neta; j++) etaNew[j] = fInd->eta[j];
      |                       ~~^~~~~~~~~~~~~~~
inner.cpp:4205:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 4205 |         for (int j = 0; j < op_focei.neta; j++)
      |                         ~~^~~~~~~~~~~~~~~
inner.cpp: In function ‘void fillEtaRestartSamples(rx_solve*)’:
inner.cpp:5911:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 5911 |         for (int j = 0; j < op_focei.neta; ++j) {
      |                         ~~^~~~~~~~~~~~~~~
inner.cpp:5934:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 5934 |           for (int j = 0; j < op_focei.neta; ++j) z[j] = rxNormEng(0.0, 1.0);
      |                           ~~^~~~~~~~~~~~~~~
inner.cpp: In function ‘void innerOpt()’:
inner.cpp:5995:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 5995 |             if (nCopy > op_focei.neta) nCopy = op_focei.neta;
      |                 ~~~~~~^~~~~~~~~~~~~~~
inner.cpp:5998:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 5998 |             if (nCopy < op_focei.neta) {
      |                 ~~~~~~^~~~~~~~~~~~~~~
inner.cpp:6013:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 6013 |     for (int id = 0; id < getRxNsubAndMix(rx); id++){
      |                      ~~~^~~~~~~~~~~~~~~~~~~~~
inner.cpp: In function ‘void foceiSetupNoEta_()’:
inner.cpp:8139:29: warning: unused variable ‘ind’ [-Wunused-variable]
 8139 |     rx_solving_options_ind *ind = getSolvingOptionsInd(rx, i);
      |                             ^~~
inner.cpp: In function ‘void foceiSetupEta_(Rcpp::NumericMatrix)’:
inner.cpp:8274:17: warning: variable ‘k’ set but not used [-Wunused-but-set-variable=]
 8274 |   size_t j = 0, k = 0, ii=0, jj = 0, iA=0, iB=0, iH=0, iVid=0;
      |                 ^
inner.cpp:8274:50: warning: variable ‘iH’ set but not used [-Wunused-but-set-variable=]
 8274 |   size_t j = 0, k = 0, ii=0, jj = 0, iA=0, iB=0, iH=0, iVid=0;
      |                                                  ^~
inner.cpp: In function ‘Rcpp::NumericVector foceiSetup_(const Rcpp::RObject&, const Rcpp::RObject&, Rcpp::NumericVector, Rcpp::IntegerVector, Rcpp::Nullable<Rcpp::Vector<10, Rcpp::PreserveStorage> >, Rcpp::Nullable<Rcpp::Vector<10, Rcpp::PreserveStorage> >, Rcpp::RObject, Rcpp::Nullable<Rcpp::Vector<14, Rcpp::PreserveStorage> >, Rcpp::Nullable<Rcpp::Vector<14, Rcpp::PreserveStorage> >, Rcpp::Nullable<Rcpp::Matrix<14> >, Rcpp::Nullable<Rcpp::Vector<19> >)’:
inner.cpp:8976:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 8976 |       if (etaMat1.ncol() != op_focei.neta){
      |           ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
inner.cpp: In function ‘double foceiOfvOptim(int, double*, void*)’:
inner.cpp:9885:7: warning: unused variable ‘finalize’ [-Wunused-variable]
 9885 |   int finalize = 0, i = 0;
      |       ^~~~~~~~
inner.cpp: In function ‘void outerGradNumOptim(int, double*, double*, void*)’:
inner.cpp:9952:7: warning: unused variable ‘finalize’ [-Wunused-variable]
 9952 |   int finalize=0, i = 0;
      |       ^~~~~~~~
inner.cpp: In function ‘void parHistData(Rcpp::Environment, bool)’:
inner.cpp:12409:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long long unsigned int’ [-Wsign-compare]
12409 |       for (i = 0; i < min2(op_focei.nparsPrint+1, vals.n_cols); i++){
      |                     ^
inner.cpp: In function ‘void foceiFinalizeTables(Rcpp::Environment)’:
inner.cpp:12544:12: warning: unused variable ‘k’ [-Wunused-variable]
12544 |   int j=0, k=0, l=0;
      |            ^
inner.cpp:12544:17: warning: unused variable ‘l’ [-Wunused-variable]
12544 |   int j=0, k=0, l=0;
      |                 ^
inner.cpp: In function ‘Rcpp::Environment foceiFitCpp_(Rcpp::Environment)’:
inner.cpp:14397:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
14397 |         for (int j = 0; j < op_focei.neta; ++j) {
      |                         ~~^~~~~~~~~~~~~~~
inner.cpp: In function ‘Rcpp::NumericVector foceiIndLik_(Rcpp::NumericVector, Rcpp::IntegerVector)’:
inner.cpp:15969:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
15969 |     for (int i = 0; i < op_focei.neta; ++i) {
      |                     ~~^~~~~~~~~~~~~~~
inner.cpp: In function ‘void foceiFdOmegaSteps(Rcpp::NumericMatrix, Rcpp::NumericMatrix, const std::vector<int, std::allocator<int> >&, arma::vec&, arma::vec&, std::vector<double>&, int, int, int, bool, double)’:
inner.cpp:16309:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
16309 |   for (int i = 0; i < op_focei.npars; ++i) {
      |                   ~~^~~~~~~~~~~~~~~~
inner.cpp: In function ‘Rcpp::NumericMatrix foceiOuterFdIndCore(Rcpp::IntegerVector, Rcpp::NumericMatrix, const FdIndPoint&)’:
inner.cpp:16662:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
16662 |         if ((int)e.size() == op_focei.neta) src = &e;
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
inner.cpp:16665:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
16665 |         for (int i = 0; i < op_focei.neta; ++i) _fdThRefEta[q][(size_t)i] = (*src)[(size_t)i];
      |                         ~~^~~~~~~~~~~~~~~
inner.cpp:16667:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
16667 |         for (int i = 0; i < op_focei.neta; ++i) _fdThRefEta[q][(size_t)i] = fI->saveEta[i];
      |                         ~~^~~~~~~~~~~~~~~
inner.cpp:16670:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
16670 |         for (int i = 0; i < op_focei.neta; ++i) {
      |                         ~~^~~~~~~~~~~~~~~
inner.cpp:16692:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
16692 |       for (int i = 0; i < op_focei.npars; ++i) {
      |                       ~~^~~~~~~~~~~~~~~~
inner.cpp: In lambda function:
inner.cpp:17064:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int, std::allocator<int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
17064 |       for (int d = 0; d < C.f1.size(); ++d) E.a(ko, C.fDirIdx[d]) = lhs[C.f1[d]];
      |                       ~~^~~~~~~~~~~~~
inner.cpp:17065:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int, std::allocator<int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
17065 |       for (int r = 0; r < C.f2.size(); ++r) {
      |                       ~~^~~~~~~~~~~~~
inner.cpp:17071:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int, std::allocator<int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
17071 |         for (int d = 0; d < C.rvar1.size(); ++d) E.aR(ko, d) = lhs[C.rvar1[d]];
      |                         ~~^~~~~~~~~~~~~~~~
inner.cpp:17072:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int, std::allocator<int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
17072 |         for (int r = 0; r < C.rvar2.size(); ++r) {
      |                         ~~^~~~~~~~~~~~~~~~
inner.cpp:17079:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int, std::allocator<int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
17079 |           for (int d = 0; d < r1.size(); ++d) E.RsigDir(ko, d, s) = lhs[r1[d]];
      |                           ~~^~~~~~~~~~~
inner.cpp:17081:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int, std::allocator<int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
17081 |         for (int r = 0; r < C.rsig2.size(); ++r) {
      |                         ~~^~~~~~~~~~~~~~~~
inner.cpp: In function ‘bool gradPooledCore(const FoceiGradPooledSetup&, const std::vector<double>&, const arma::mat&, const arma::mat&, const arma::cube&, const arma::vec&, int, arma::vec&, arma::cube&, double&)’:
inner.cpp:18402:61: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
18402 |     if (!flagged.empty() && npAll > 0 && (int)G.gMap.size() == op_focei.npars) {
      |                                          ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
inner.cpp: In function ‘bool analyticOuterGradDirect(double*, double*)’:
inner.cpp:18736:12: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘unsigned int’ [-Wsign-compare]
18736 |   if (neta != op_focei.neta || (int)G.gMap.size() != npars) return declineHere(103);
      |       ~~~~~^~~~~~~~~~~~~~~~
inner.cpp: In function ‘Rcpp::RObject foceiGradPooledDirect_(Rcpp::NumericVector, Rcpp::NumericMatrix, Rcpp::NumericMatrix, Rcpp::List, Rcpp::NumericVector, int)’:
inner.cpp:18807:12: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘unsigned int’ [-Wsign-compare]
18807 |   if (neta != op_focei.neta) return R_NilValue;
      |       ~~~~~^~~~~~~~~~~~~~~~
inner.cpp: In function ‘int foceiDimsFlags(rx_solving_options*)’:
inner.cpp:21636:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
21636 |   for (int k = 0; k < op_focei.neta; ++k) {
      |                   ~~^~~~~~~~~~~~~~~
inner.cpp: In function ‘int nlmixr2FoceiSetOmegaInv(const double*, int)’:
inner.cpp:21695:32: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
21695 |   if (omegaInv == NULL || neta != op_focei.neta || neta <= 0) return -2;
      |                           ~~~~~^~~~~~~~~~~~~~~~
inner.cpp: In function ‘int foceiCondBatchCheck(const double*, const double*, int, int)’:
inner.cpp:21763:12: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
21763 |   if (neta != op_focei.neta || neta <= 0 || op_focei.fo == 1) return -2;
      |       ~~~~~^~~~~~~~~~~~~~~~
inner.cpp:21765:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
21765 |   if (nid != (int)getRxNsub(rx) * (op_focei.mixIdxN + 1)) return -2;
      |       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.cpp: In function ‘Rcpp::List vaeTrainCpp_(Rcpp::List, Rcpp::List, Rcpp::List, int, Rcpp::NumericVector, int, Rcpp::NumericVector, Rcpp::CharacterVector, Rcpp::List, Rcpp::RObject, Rcpp::IntegerVector)’:
inner.cpp:24060:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
24060 |     for (int m = 0; m < op_focei.mixIdxN; ++m) mixThIdx[m] = op_focei.mixIdx[m] - 1;
      |                     ~~^~~~~~~~~~~~~~~~~~
inner.cpp:25366:47: warning: comparison of integer expressions of different signedness: ‘arma::uword’ {aka ‘long long unsigned int’} and ‘int’ [-Wsign-compare]
25366 |             sReg[k] = regIdx[j]; sMap[k] = (j < (int)regErrMapV.n_elem) ? regErrMapV[j] : -1;
      |                                             ~~^~~~~~~~~~~~~~~~~~~~~~~~
inner.cpp: In function ‘bool foceiHessianSensitivitySupport(int)’:
inner.cpp:25799:12: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘unsigned int’ [-Wsign-compare]
25799 |     g.neta == op_focei.neta && (int)g.gMap.size() == n && !g.nLam &&
      |     ~~~~~~~^~~~~~~~~~~~~~~~
In file included from nmParallel.h:32,
                 from inner.cpp:21:
nmParallelCore.h: In instantiation of ‘void nmForEach(int, int, bool, nmFlags, F&&) [with Scope = nmNoScope; F = vaeTrainCpp_(Rcpp::List, Rcpp::List, Rcpp::List, int, Rcpp::NumericVector, int, Rcpp::NumericVector, Rcpp::CharacterVector, Rcpp::List, Rcpp::RObject, Rcpp::IntegerVector)::<lambda(int)>&]’:
nmParallelCore.h:83:19:   required from ‘void nmForEach(int, int, bool, F&&) [with Scope = nmNoScope; F = vaeTrainCpp_(Rcpp::List, Rcpp::List, Rcpp::List, int, Rcpp::NumericVector, int, Rcpp::NumericVector, Rcpp::CharacterVector, Rcpp::List, Rcpp::RObject, Rcpp::IntegerVector)::<lambda(int)>]’
   83 |   nmForEach<Scope>(n, cores, par, nmDefault, body);
      |   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.cpp:24677:16:   required from here
24677 |       nmForEach(zDim, cores, cores > 1, [&](int k) {
      |       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24678 |         if (isFreeR[k]) return;
      |         ~~~~~~~~~~~~~~~~~~~~~~~
24679 |         // fixed structural theta: hold the intercept at ini, add no covariates
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24680 |         if (zPopFixR[k]) { intercept[k] = zPop[k]; zPopMat.col(k).fill(zPop[k]); return; }
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24681 |         // GLS offset response + conditional variance (both no-ops when diagonal)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24682 |         arma::vec yk = (covSelectSmooth ? s1.col(k) : last.mu.col(k)) + covOffset.col(k);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24683 |         // pinCovariates: restrict this dim's candidate columns to its allowed
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24684 |         // (model-declared) covariates.  A reduced design [1 | covMat.cols(allowed)]
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24685 |         // is searched, then the chosen reduced indices are mapped back to global
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24686 |         // covariate columns.  No allowed columns -> intercept-only fit.
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24687 |         arma::uvec allowedG;
      |         ~~~~~~~~~~~~~~~~~~~~
24688 |         arma::mat Xk;
      |         ~~~~~~~~~~~~~
24689 |         if (haveCovAllow) {
      |         ~~~~~~~~~~~~~~~~~~~
24690 |           std::vector<arma::uword> av;
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24691 |           for (int j = 0; j < nCov; ++j) if (covAllow(k, j) == 1) av.push_back((arma::uword)j);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24692 |           // A mask that allows only PART of a block leaves that block
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24693 |           // unsatisfiable -- it can never be selected whole, and its allowed
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24694 |           // columns would sit in the design as dead weight the search keeps
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24695 |           // pricing.  Drop such blocks outright.
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24696 |           if (!covBlock.empty()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~
24697 |             std::vector<arma::uword> keep;
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24698 |             for (size_t t = 0; t < av.size(); ++t) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24699 |               const int bt = covBlock[(size_t)av[t]];
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24700 |               bool whole = true;
      |               ~~~~~~~~~~~~~~~~~~
24701 |               if (bt >= 0) {
      |               ~~~~~~~~~~~~~~
24702 |                 for (int j = 0; j < nCov && whole; ++j) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24703 |                   if (covBlock[(size_t)j] == bt && covAllow(k, j) != 1) whole = false;
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24704 |                 }
      |                 ~
24705 |               }
      |               ~ 
24706 |               if (whole) keep.push_back(av[t]);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24707 |             }
      |             ~   
24708 |             av.swap(keep);
      |             ~~~~~~~~~~~~~~
24709 |           }
      |           ~     
24710 |           allowedG = arma::uvec(av);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~
24711 |           Xk.set_size(N, 1 + allowedG.n_elem);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24712 |           Xk.col(0).ones();
      |           ~~~~~~~~~~~~~~~~~
24713 |           if (allowedG.n_elem > 0) Xk.cols(1, allowedG.n_elem) = covMat.cols(allowedG);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24714 |         }
      |         ~       
24715 |         const arma::mat& Xuse = haveCovAllow ? Xk : X;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24716 |         // the group ids must follow the design actually searched, so subset them
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24717 |         // to the allowed columns alongside Xk
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24718 |         std::vector<int> grpK;
      |         ~~~~~~~~~~~~~~~~~~~~~~
24719 |         if (!covGroup.empty()) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~~
24720 |           if (haveCovAllow) {
      |           ~~~~~~~~~~~~~~~~~~~
24721 |             grpK.resize(allowedG.n_elem);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24722 |             for (size_t s = 0; s < allowedG.n_elem; ++s) grpK[s] = covGroup[(size_t)allowedG[s]];
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24723 |           } else {
      |           ~~~~~~~~
24724 |             grpK = covGroup;
      |             ~~~~~~~~~~~~~~~~
24725 |           }
      |           ~     
24726 |         }
      |         ~       
24727 |         const std::vector<int>* grpP = grpK.empty() ? nullptr : &grpK;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24728 |         // block ids follow the design actually searched, exactly as the groups do
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24729 |         std::vector<int> blkK;
      |         ~~~~~~~~~~~~~~~~~~~~~~
24730 |         if (!covBlock.empty()) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~~
24731 |           if (haveCovAllow) {
      |           ~~~~~~~~~~~~~~~~~~~
24732 |             blkK.resize(allowedG.n_elem);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24733 |             for (size_t s = 0; s < allowedG.n_elem; ++s) blkK[s] = covBlock[(size_t)allowedG[s]];
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24734 |           } else {
      |           ~~~~~~~~
24735 |             blkK = covBlock;
      |             ~~~~~~~~~~~~~~~~
24736 |           }
      |           ~     
24737 |         }
      |         ~       
24738 |         const std::vector<int>* blkP = blkK.empty() ? nullptr : &blkK;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24739 |         // cluster ids follow the design actually searched, exactly as the groups
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24740 |         // and blocks do
      |         ~~~~~~~~~~~~~~~~
24741 |         std::vector<int> cluK;
      |         ~~~~~~~~~~~~~~~~~~~~~~
24742 |         if (!covCluster.empty()) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
24743 |           if (haveCovAllow) {
      |           ~~~~~~~~~~~~~~~~~~~
24744 |             cluK.resize(allowedG.n_elem);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24745 |             for (size_t s = 0; s < allowedG.n_elem; ++s) cluK[s] = covCluster[(size_t)allowedG[s]];
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24746 |           } else {
      |           ~~~~~~~~
24747 |             cluK = covCluster;
      |             ~~~~~~~~~~~~~~~~~~
24748 |           }
      |           ~     
24749 |         }
      |         ~       
24750 |         VaeSubsetFit fit = (haveL0 && covSelMode[k] == 1)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24751 |           // covVar[k] (not omega[k]): the GLS conditional variance 1/P_kk for a
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24752 |           // correlated block, which reduces to omega[k] when Omega is diagonal.
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24753 |           // grpP is main's mutual-exclusion grouping -- both are wanted here.
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24754 |           ? vaeCandidateSubsetL0(yk, Xuse, covVar[k], covPenalty, cands[(size_t)k], true,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24755 |                                  grpP, blkP)
      |                                  ~~~~~~~~~~~
24756 |           : vaeBestSubsetL0(yk, Xuse, covVar[k], covPenalty, bnbStrategy, grpP, blkP);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24757 |         std::vector<int> useSel = fit.sel;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24758 |         arma::vec useCoef = fit.coef;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24759 |         if (!cluK.empty()) {
      |         ~~~~~~~~~~~~~~~~~~~~
24760 |           // "Clearly beats" is measured in the search's OWN currency: one
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24761 |           // covariate's L0 cost.  An exchange between two columns the design
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24762 |           // cannot tell apart (abs(cor) at or above the cut) has to be worth as
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24763 |           // much as admitting a covariate before it displaces the incumbent.
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24764 |           // That needs no threshold of its own, and it can only ever veto a
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24765 |           // SWAP -- never an addition or a removal -- so a real covariate
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24766 |           // effect still enters and leaves on the search's terms.
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24767 |           const double margin = covPenalty;
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24768 |           double useScore = vaeScoreSupport(yk, Xuse, covVar[k], covPenalty,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24769 |                                             grpP, blkP, useSel, nullptr);
      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24770 |           if (selPrevSet[(size_t)k] &&
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24771 |               vaeClusterSwapOnly(useSel, selPrev[(size_t)k], cluK)) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24772 |             arma::vec incCoef;
      |             ~~~~~~~~~~~~~~~~~~
24773 |             const double incScore =
      |             ~~~~~~~~~~~~~~~~~~~~~~~
24774 |               vaeScoreSupport(yk, Xuse, covVar[k], covPenalty, grpP, blkP,
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24775 |                               selPrev[(size_t)k], &incCoef);
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24776 |             if (R_FINITE(incScore) && incScore - useScore <= margin) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24777 |               useSel = selPrev[(size_t)k];
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24778 |               useCoef = incCoef;
      |               ~~~~~~~~~~~~~~~~~~
24779 |               useScore = incScore;
      |               ~~~~~~~~~~~~~~~~~~~~
24780 |               ++hystN[(size_t)k];
      |               ~~~~~~~~~~~~~~~~~~~
24781 |             }
      |             ~   
24782 |           }
      |           ~     
24783 |           // Near ties: which cluster mates would have come within the same
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24784 |           // margin had they been chosen instead?  One single-column exchange at
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24785 |           // a time, scored through the leaf evaluator, so an exchange that is
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24786 |           // infeasible (two shapes of one covariate, half a hockey stick) drops
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24787 |           // out on its own.  Recorded against GLOBAL covariate columns.
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24788 |           std::vector<int>& tS = tieSel[(size_t)k];
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24789 |           std::vector<int>& tM = tieMate[(size_t)k];
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24790 |           std::vector<double>& tD = tieDelta[(size_t)k];
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24791 |           tS.clear(); tM.clear(); tD.clear();
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24792 |           std::vector<char> inSup(cluK.size(), 0);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24793 |           for (size_t s = 0; s < useSel.size(); ++s) inSup[(size_t)useSel[s]] = 1;
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24794 |           for (size_t s = 0; s < useSel.size(); ++s) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24795 |             const int j = useSel[s];
      |             ~~~~~~~~~~~~~~~~~~~~~~~~
24796 |             if ((size_t)j >= cluK.size() || cluK[(size_t)j] < 0) continue;
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24797 |             for (size_t m = 0; m < cluK.size(); ++m) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24798 |               if ((int)m == j || inSup[m] != 0 || cluK[m] != cluK[(size_t)j]) continue;
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24799 |               std::vector<int> t = useSel;
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24800 |               t[s] = (int)m;
      |               ~~~~~~~~~~~~~~
24801 |               std::sort(t.begin(), t.end());
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24802 |               const double sc = vaeScoreSupport(yk, Xuse, covVar[k], covPenalty,
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24803 |                                                 grpP, blkP, t, nullptr);
      |                                                 ~~~~~~~~~~~~~~~~~~~~~~~~
24804 |               if (!R_FINITE(sc) || sc - useScore > margin) continue;
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24805 |               tS.push_back(haveCovAllow ? (int)allowedG[(size_t)j] : j);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24806 |               tM.push_back(haveCovAllow ? (int)allowedG[m] : (int)m);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24807 |               tD.push_back(sc - useScore);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24808 |             }
      |             ~   
24809 |           }
      |           ~     
24810 |         }
      |         ~       
24811 |         selPrev[(size_t)k] = useSel;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24812 |         selPrevSet[(size_t)k] = 1;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
24813 |         arma::vec bestCoef = useCoef;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24814 |         double ic = bestCoef[0];
      |         ~~~~~~~~~~~~~~~~~~~~~~~~
24815 |         if (R_FINITE(zPopLower[k]) && ic < zPopLower[k]) ic = zPopLower[k];
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24816 |         if (R_FINITE(zPopUpper[k]) && ic > zPopUpper[k]) ic = zPopUpper[k];
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24817 |         intercept[k] = ic; bestCoef[0] = ic;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24818 |         arma::uvec bestCols = vaeSubsetCols(useSel);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24819 |         for (size_t s = 0; s < useSel.size(); ++s) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24820 |           int gj = haveCovAllow ? (int)allowedG[useSel[s]] : useSel[s];
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24821 |           beta(k, gj) = bestCoef[s + 1]; selected(k, gj) = 1;
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24822 |         }
      |         ~       
24823 |         zPopMat.col(k) = Xuse.cols(bestCols) * bestCoef;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24824 |       });
      |       ~~        
nmParallelCore.h:61:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   61 |         Scope _nmScope;
      |               ^~~~~~~~
nmParallelCore.h:68:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   68 |         Scope _nmScope;
      |               ^~~~~~~~
nmParallelCore.h: In instantiation of ‘void nmForEach(int, int, bool, nmFlags, F&&) [with Scope = nmNoScope; F = vaeTrainCpp_(Rcpp::List, Rcpp::List, Rcpp::List, int, Rcpp::NumericVector, int, Rcpp::NumericVector, Rcpp::CharacterVector, Rcpp::List, Rcpp::RObject, Rcpp::IntegerVector)::<lambda(int)>&]’:
nmParallelCore.h:83:19:   required from ‘void nmForEach(int, int, bool, F&&) [with Scope = nmNoScope; F = vaeTrainCpp_(Rcpp::List, Rcpp::List, Rcpp::List, int, Rcpp::NumericVector, int, Rcpp::NumericVector, Rcpp::CharacterVector, Rcpp::List, Rcpp::RObject, Rcpp::IntegerVector)::<lambda(int)>]’
   83 |   nmForEach<Scope>(n, cores, par, nmDefault, body);
      |   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.cpp:24929:22:   required from here
24929 |             nmForEach(nG, cores, cores > 1 && nG > 1, [&](int gi) {
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24930 |               const std::vector<int>& G = groups[(size_t)gi];
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24931 |               if (G.size() < 2) return;
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~
24932 |               if ((int)G.size() > phiMaxDim) { gBig[gi] = 1; return; }
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24933 |               // an exception must never cross an OpenMP region; a group that
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24934 |               // fails numerically simply does nothing, which is the conservative
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24935 |               // answer anyway
      |               ~~~~~~~~~~~~~~~~
24936 |               try {
      |               ~~~~~   
24937 |               // current supports, and the blocks in play anywhere in the group
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24938 |               std::vector<std::vector<int> > sup(G.size());
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24939 |               std::vector<int> bag;
      |               ~~~~~~~~~~~~~~~~~~~~~
24940 |               for (size_t a = 0; a < G.size(); ++a) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24941 |                 for (int j = 0; j < nCov; ++j) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24942 |                   if (selected(G[a], j)) {
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~
24943 |                     sup[a].push_back(j);
      |                     ~~~~~~~~~~~~~~~~~~~~
24944 |                     const int bb = fc.blockOf[(size_t)j];
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24945 |                     if (std::find(bag.begin(), bag.end(), bb) == bag.end()) bag.push_back(bb);
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24946 |                   }
      |                   ~   
24947 |                 }
      |                 ~     
24948 |               }
      |               ~       
24949 |               std::sort(bag.begin(), bag.end());
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24950 |               if (bag.empty()) return;
      |               ~~~~~~~~~~~~~~~~~~~~~~~~
24951 |               // a candidate support must be block-complete, group-feasible and
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24952 |               // allowed on the dim it lands on
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24953 |               auto feasible = [&](int k, const std::vector<int>& s) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24954 |                 if (!vaeGroupOk(fc, s) || !vaeBlockOk(fc, s)) return false;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24955 |                 if (haveCovAllow) {
      |                 ~~~~~~~~~~~~~~~~~~~
24956 |                   for (size_t t = 0; t < s.size(); ++t) {
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24957 |                     if (covAllow(k, s[t]) != 1) return false;
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24958 |                   }
      |                   ~   
24959 |                 }
      |                 ~     
24960 |                 return true;
      |                 ~~~~~~~~~~~~
24961 |               };
      |               ~~      
24962 |               auto addBlk = [&](std::vector<int> s, int b) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24963 |                 const std::vector<int>& cols = fc.blocks[(size_t)b];
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24964 |                 s.insert(s.end(), cols.begin(), cols.end());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24965 |                 std::sort(s.begin(), s.end());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24966 |                 return s;
      |                 ~~~~~~~~~
24967 |               };
      |               ~~      
24968 |               auto dropBlk = [&](const std::vector<int>& s, int b) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24969 |                 std::vector<int> t;
      |                 ~~~~~~~~~~~~~~~~~~~
24970 |                 for (size_t u2 = 0; u2 < s.size(); ++u2) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24971 |                   if (fc.blockOf[(size_t)s[u2]] != b) t.push_back(s[u2]);
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24972 |                 }
      |                 ~     
24973 |                 return t;
      |                 ~~~~~~~~~
24974 |               };
      |               ~~      
24975 |               auto hasBlk = [&](const std::vector<int>& s, int b) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24976 |                 for (size_t u2 = 0; u2 < s.size(); ++u2) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24977 |                   if (fc.blockOf[(size_t)s[u2]] == b) return true;
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24978 |                 }
      |                 ~     
24979 |                 return false;
      |                 ~~~~~~~~~~~~~
24980 |               };
      |               ~~      
24981 |               // score an assignment, re-scoring with any binding intercept HELD:
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24982 |               // the per-dim path clamps after scoring, so without this a move
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24983 |               // could win on a score its written parameters never achieve
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24984 |               auto scoreOf = [&](const std::vector<std::vector<int> >& s,
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24985 |                                  std::vector<arma::vec>* th) {
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24986 |                 bool cl = false;
      |                 ~~~~~~~~~~~~~~~~
24987 |                 double q = vaeJointScore(jc, G, s, th, nullptr, &cl);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24988 |                 if (!cl || !R_FINITE(q)) return q;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24989 |                 std::vector<arma::vec> t0;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~
24990 |                 vaeJointScore(jc, G, s, &t0, nullptr, nullptr);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24991 |                 std::vector<double> fixv(G.size(), NA_REAL);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24992 |                 for (size_t a = 0; a < G.size(); ++a) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24993 |                   const int k = G[a];
      |                   ~~~~~~~~~~~~~~~~~~~
24994 |                   if (t0.size() <= a || t0[a].n_elem == 0) continue;
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24995 |                   if (R_FINITE(zPopLower[k]) && t0[a][0] < zPopLower[k]) fixv[a] = zPopLower[k];
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24996 |                   else if (R_FINITE(zPopUpper[k]) && t0[a][0] > zPopUpper[k]) fixv[a] = zPopUpper[k];
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24997 |                 }
      |                 ~     
24998 |                 ++gClamp[gi];
      |                 ~~~~~~~~~~~~~
24999 |                 return vaeJointScore(jc, G, s, th, &fixv, nullptr);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25000 |               };
      |               ~~      
25001 |               std::vector<arma::vec> thCur;
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25002 |               double best = scoreOf(sup, &thCur);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25003 |               if (!R_FINITE(best)) return;
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25004 |               bool moved = false;
      |               ~~~~~~~~~~~~~~~~~~~
25005 |               for (int pass = 0; pass < 20; ++pass) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25006 |                 double bestScore = best;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~
25007 |                 std::vector<std::vector<int> > bestSup;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25008 |                 std::vector<arma::vec> bestTh;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25009 |                 bool have = false;
      |                 ~~~~~~~~~~~~~~~~~~
25010 |                 // MOVE b from k to k', ADD b to k', DROP b from k -- a fixed
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25011 |                 // enumeration, with best-improvement acceptance so the winner does
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25012 |                 // not depend on that order
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
25013 |                 for (size_t a = 0; a < G.size(); ++a) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25014 |                   for (size_t t = 0; t < bag.size(); ++t) {
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25015 |                     const int b = bag[t];
      |                     ~~~~~~~~~~~~~~~~~~~~~
25016 |                     const bool inA = hasBlk(sup[a], b);
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25017 |                     for (size_t c2 = 0; c2 < G.size(); ++c2) {
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25018 |                       if (c2 == a || !inA) continue;
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25019 |                       if (hasBlk(sup[c2], b)) continue;
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25020 |                       std::vector<std::vector<int> > cand = sup;
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25021 |                       cand[a] = dropBlk(sup[a], b);
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25022 |                       cand[c2] = addBlk(sup[c2], b);
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25023 |                       if (!feasible(G[a], cand[a]) || !feasible(G[c2], cand[c2])) continue;
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25024 |                       std::vector<arma::vec> th;
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~
25025 |                       ++gTest[gi];
      |                       ~~~~~~~~~~~~
25026 |                       double q = scoreOf(cand, &th);
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25027 |                       if (R_FINITE(q) && (q < bestScore ||
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25028 |                                           (q == bestScore && have && vaeJointSelLess(cand, bestSup)))) {
      |                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25029 |                         have = true; bestScore = q; bestSup = cand; bestTh = th;
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25030 |                       }
      |                       ~
25031 |                     }
      |                     ~ 
25032 |                     if (!inA) {                                  // ADD
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25033 |                       std::vector<std::vector<int> > cand = sup;
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25034 |                       cand[a] = addBlk(sup[a], b);
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25035 |                       if (feasible(G[a], cand[a])) {
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25036 |                         std::vector<arma::vec> th;
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~
25037 |                         ++gTest[gi];
      |                         ~~~~~~~~~~~~
25038 |                         double q = scoreOf(cand, &th);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25039 |                         if (R_FINITE(q) && (q < bestScore ||
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25040 |                                             (q == bestScore && have && vaeJointSelLess(cand, bestSup)))) {
      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25041 |                           have = true; bestScore = q; bestSup = cand; bestTh = th;
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25042 |                         }
      |                         ~
25043 |                       }
      |                       ~
25044 |                     } else {                                     // DROP
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25045 |                       std::vector<std::vector<int> > cand = sup;
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25046 |                       cand[a] = dropBlk(sup[a], b);
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25047 |                       if (feasible(G[a], cand[a])) {
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25048 |                         std::vector<arma::vec> th;
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~
25049 |                         ++gTest[gi];
      |                         ~~~~~~~~~~~~
25050 |                         double q = scoreOf(cand, &th);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25051 |                         if (R_FINITE(q) && (q < bestScore ||
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25052 |                                             (q == bestScore && have && vaeJointSelLess(cand, bestSup)))) {
      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25053 |                           have = true; bestScore = q; bestSup = cand; bestTh = th;
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25054 |                         }
      |                         ~
25055 |                       }
      |                       ~
25056 |                     }
      |                     ~ 
25057 |                   }
      |                   ~   
25058 |                 }
      |                 ~     
25059 |                 if (!have || !(bestScore < best)) break;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25060 |                 sup = bestSup; thCur = bestTh; best = bestScore;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25061 |                 moved = true; ++gMove[gi];
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~
25062 |               }
      |               ~       
25063 |               // Write back ONLY when something was accepted.  The joint refit is a
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25064 |               // GLS solve, not the per-dim OLS the loop ran, so re-deriving "the
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25065 |               // same" answer would differ in the last bits and perturb every
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25066 |               // downstream fit.  Only not writing guarantees the no-op.
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25067 |               if (!moved) return;
      |               ~~~~~~~~~~~~~~~~~~~
25068 |               for (size_t a = 0; a < G.size(); ++a) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25069 |                 const int k = G[a];
      |                 ~~~~~~~~~~~~~~~~~~~
25070 |                 if (thCur.size() <= a || thCur[a].n_elem == 0) continue;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25071 |                 double ic = thCur[a][0];
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~
25072 |                 if (R_FINITE(zPopLower[k]) && ic < zPopLower[k]) ic = zPopLower[k];
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25073 |                 if (R_FINITE(zPopUpper[k]) && ic > zPopUpper[k]) ic = zPopUpper[k];
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25074 |                 arma::vec th = thCur[a];
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~
25075 |                 th[0] = ic;
      |                 ~~~~~~~~~~~
25076 |                 intercept[k] = ic;
      |                 ~~~~~~~~~~~~~~~~~~
25077 |                 beta.row(k).zeros();
      |                 ~~~~~~~~~~~~~~~~~~~~
25078 |                 selected.row(k).zeros();
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~
25079 |                 for (size_t s2 = 0; s2 < sup[a].size(); ++s2) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25080 |                   beta(k, sup[a][s2]) = th[s2 + 1];
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25081 |                   selected(k, sup[a][s2]) = 1;
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25082 |                 }
      |                 ~     
25083 |                 zPopMat.col(k) = vaeJointZ(jc, sup[a]) * th;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25084 |                 // the near-tie report was computed against the support the
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25085 |                 // per-dim pass chose; this dim no longer has that support, and a
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25086 |                 // stale alternative is worse than none
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25087 |                 tieSel[(size_t)k].clear();
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~
25088 |                 tieMate[(size_t)k].clear();
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
25089 |                 tieDelta[(size_t)k].clear();
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25090 |                 // Same staleness, stronger consequence: selPrev is the hysteresis
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25091 |                 // INCUMBENT, and it still holds the support this pass just
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25092 |                 // overruled.  Left alone, the next iteration could adopt it back
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25093 |                 // -- a report going stale only misinforms, an incumbent going
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25094 |                 // stale changes the selection.  Dropping it (rather than
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25095 |                 // translating sup[a] into the per-dim REDUCED index space, whose
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25096 |                 // allow-mask and block-dropping map is local to that loop) means
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25097 |                 // the next iteration simply re-seeds from whatever it chooses,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25098 |                 // which is the same path the first iteration takes.
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25099 |                 selPrev[(size_t)k].clear();
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
25100 |                 selPrevSet[(size_t)k] = 0;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~
25101 |               }
      |               ~       
25102 |               } catch (...) {
      |               ~~~~~~~~~~~~~~~
25103 |                 // leave this group exactly as the per-dim pass left it
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25104 |               }
      |               ~       
25105 |             });
      |             ~~        
nmParallelCore.h:61:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   61 |         Scope _nmScope;
      |               ^~~~~~~~
nmParallelCore.h:68:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   68 |         Scope _nmScope;
      |               ^~~~~~~~
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c odeSwap.cpp -o odeSwap.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c imp.cpp -o imp.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c npCommon.cpp -o npCommon.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c npag.cpp -o npag.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c npb.cpp -o npb.o
inner.cpp: In function ‘Rcpp::List nlmixr2Gill83_(Rcpp::Function, Rcpp::NumericVector, Rcpp::Environment, Rcpp::LogicalVector, double, int, double, double, bool)’:
inner.cpp:10320:13: warning: ‘gillF’ may be used uninitialized [-Wmaybe-uninitialized]
10320 |       fN[i] = gillF;
inner.cpp:10313:10: note: ‘gillF’ was declared here
10313 |   double gillF;
      |          ^~~~~
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c foceiGrad.cpp -o foceiGrad.o
In file included from foceiGrad.cpp:16:
censEst.h: In function ‘void censNormalPartials(double, double, double, double, double, int, double*)’:
censEst.h:392:16: warning: unused variable ‘rx_expr_31’ [-Wunused-variable]
  392 |         double rx_expr_31 = erf(rx_expr_25);
      |                ^~~~~~~~~~
censEst.h:351:14: warning: unused variable ‘rx_expr_21’ [-Wunused-variable]
  351 |       double rx_expr_21 = erf(rx_expr_18);
      |              ^~~~~~~~~~
censEst.h:472:16: warning: unused variable ‘rx_expr_31’ [-Wunused-variable]
  472 |         double rx_expr_31 = erf(rx_expr_25);
      |                ^~~~~~~~~~
censEst.h:431:14: warning: unused variable ‘rx_expr_21’ [-Wunused-variable]
  431 |       double rx_expr_21 = erf(rx_expr_18);
      |              ^~~~~~~~~~
censEst.h:590:14: warning: unused variable ‘rx_expr_48’ [-Wunused-variable]
  590 |       double rx_expr_48 = erf(rx_expr_44);
      |              ^~~~~~~~~~
censEst.h:591:14: warning: unused variable ‘rx_expr_49’ [-Wunused-variable]
  591 |       double rx_expr_49 = erf(rx_expr_46);
      |              ^~~~~~~~~~
censEst.h:517:12: warning: unused variable ‘rx_expr_29’ [-Wunused-variable]
  517 |     double rx_expr_29 = erf(rx_expr_26);
      |            ^~~~~~~~~~
censEst.h:518:12: warning: unused variable ‘rx_expr_30’ [-Wunused-variable]
  518 |     double rx_expr_30 = erf(rx_expr_28);
      |            ^~~~~~~~~~
censEst.h:714:14: warning: unused variable ‘rx_expr_34’ [-Wunused-variable]
  714 |       double rx_expr_34 = erf(rx_expr_31);
      |              ^~~~~~~~~~
censEst.h:679:12: warning: unused variable ‘rx_expr_18’ [-Wunused-variable]
  679 |     double rx_expr_18 = erf(rx_expr_17);
      |            ^~~~~~~~~~
foceiGrad.cpp: In lambda function:
foceiGrad.cpp:494:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
  494 |     for (int l = 0; l < neta; l++) for (int m = 0; m < neta; m++) { double s = 0.0; for (int o = 0; o < nobs; o++) s += v[o] * a(o, l) * a(o, m); M(l, m) = s; } return M; };
      |     ^~~
foceiGrad.cpp:494:162: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
  494 |     for (int l = 0; l < neta; l++) for (int m = 0; m < neta; m++) { double s = 0.0; for (int o = 0; o < nobs; o++) s += v[o] * a(o, l) * a(o, m); M(l, m) = s; } return M; };
      |                                                                                                                                                                  ^~~~~~
foceiGrad.cpp: In lambda function:
foceiGrad.cpp:859:7: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
  859 |       for (int s = 0; s < neta; s++) D(l, s) = C.Tn(l, s, t); return D; };
      |       ^~~
foceiGrad.cpp:859:63: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
  859 |       for (int s = 0; s < neta; s++) D(l, s) = C.Tn(l, s, t); return D; };
      |                                                               ^~~~~~
foceiGrad.cpp:858:46: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
  858 |   auto dHD = [&](int t) { mat D(neta, neta); for (int l = 0; l < neta; l++)
      |                                              ^~~
foceiGrad.cpp:859:63: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
  859 |       for (int s = 0; s < neta; s++) D(l, s) = C.Tn(l, s, t); return D; };
      |                                                               ^~~~~~
foceiGrad.cpp: In lambda function:
foceiGrad.cpp:958:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
  958 |     for (int l = 0; l < neta; l++) for (int s = 0; s < ndir; s++) M(l, s) = Tn(l, dOf(p), s); return M; };
      |     ^~~
foceiGrad.cpp:958:95: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
  958 |     for (int l = 0; l < neta; l++) for (int s = 0; s < ndir; s++) M(l, s) = Tn(l, dOf(p), s); return M; };
      |                                                                                               ^~~~~~
foceiGrad.cpp: In function ‘arma::mat foceiRSubjectFoceFR_(const arma::mat&, const arma::cube&, const arma::cube&, const arma::mat&, const arma::mat&, const arma::cube&, const arma::cube&, const arma::mat&, const arma::mat&, const arma::ivec&, const arma::vec&, const arma::vec&, const arma::vec&, const arma::vec&, const arma::vec&, const arma::mat&, const arma::cube&, const arma::cube&, const arma::mat&, int, int, int, int, const arma::ivec&)’:
foceiGrad.cpp:1127:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
 1127 |     for (int o = 0; o < nobs; o++) v += a(o, l) * a(o, m) * iR[o]; Ht(l, m) += v; }
      |     ^~~
foceiGrad.cpp:1127:68: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
 1127 |     for (int o = 0; o < nobs; o++) v += a(o, l) * a(o, m) * iR[o]; Ht(l, m) += v; }
      |                                                                    ^~
In file included from foceiGrad.cpp:14:
nmParallelCore.h: In instantiation of ‘void nmForEach(int, int, bool, nmFlags, F&&) [with Scope = nmNoScope; F = foceiGradAllFR_(const arma::mat&, const arma::cube&, const arma::mat&, const arma::cube&, const arma::mat&, const arma::cube&, const arma::mat&, const arma::ivec&, const arma::vec&, int, const arma::vec&, const arma::vec&, const arma::vec&, const arma::mat&, const arma::ivec&, const arma::mat&, const arma::cube&, const arma::vec&, int, int, int, int, const arma::ivec&, const arma::ivec&, int)::<lambda(int)>]’:
foceiGrad.cpp:419:12:   required from here
  419 |   nmForEach(nsub, ncores, ncores > 1, nmStatic, [&](int i) {
      |   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  420 |     try {
      |     ~~~~~   
  421 |       int o0 = obsOffset[i], o1 = obsOffset[i + 1] - 1;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  422 |       mat ai = a.rows(o0, o1), aRi = aR.rows(o0, o1);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  423 |       cube Ai = A.rows(o0, o1), ARi = AR.rows(o0, o1);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  424 |       mat Rsigi = hasSig ? mat(Rsig.rows(o0, o1)) : mat(o1 - o0 + 1, 0);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  425 |       cube RsigDiri = hasSig ? cube(RsigDir.rows(o0, o1)) : cube(o1 - o0 + 1, ndir, 0);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  426 |       mat dvi = hasDv ? mat(dvSens.rows(o0, o1)) : mat(o1 - o0 + 1, 0);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  427 |       ivec censi = hasCens ? ivec(censv.subvec(o0, o1)) : ivec();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  428 |       vec limi = hasCens ? vec(limv.subvec(o0, o1)) : vec();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  429 |       vec gi; mat etaPi;
      |       ~~~~~~~~~~~~~~~~~~
  430 |       foceiGradSubjectFR_(ai, Ai, aRi, ARi, Rsigi, RsigDiri, dvi, censi, limi, censOpt, fv.subvec(o0, o1), yv.subvec(o0, o1),
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  431 |                           Rv.subvec(o0, o1), ehat.row(i).t(), Oi, dOiEst, tr28,
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  432 |                           neta, nth, nsg, nom, dirTh, sigCol, gi, etaPi);
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  433 |       gmat.col(i) = gi; etaPall.slice(i) = etaPi;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  434 |     } catch (...) {
      |     ~~~~~~~~~~~~~~~
  435 |       gmat.col(i).fill(datum::nan); etaPall.slice(i).fill(datum::nan);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  436 |     }
      |     ~       
  437 |   });
      |   ~~        
nmParallelCore.h:61:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   61 |         Scope _nmScope;
      |               ^~~~~~~~
nmParallelCore.h:68:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   68 |         Scope _nmScope;
      |               ^~~~~~~~
nmParallelCore.h: In instantiation of ‘void nmForEach(int, int, bool, nmFlags, F&&) [with Scope = nmNoScope; F = foceiGradAllFoceFR_(const arma::mat&, const arma::cube&, const arma::mat&, const arma::mat&, const arma::mat&, const arma::mat&, const arma::ivec&, const arma::vec&, const arma::vec&, const arma::vec&, const arma::vec&, const arma::mat&, const arma::ivec&, const arma::mat&, const arma::cube&, const arma::vec&, int, int, int, int, const arma::ivec&, const arma::ivec&, int, int)::<lambda(int)>]’:
foceiGrad.cpp:567:12:   required from here
  567 |   nmForEach(nsub, ncores, ncores > 1, nmStatic, [&](int i) {
      |   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  568 |     try {
      |     ~~~~~   
  569 |       int o0 = obsOffset[i], o1 = obsOffset[i + 1] - 1;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  570 |       mat ai = a.rows(o0, o1), aRei = aRe.rows(o0, o1), aRci = aRc.rows(o0, o1);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  571 |       cube Ai = A.rows(o0, o1);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~
  572 |       mat R0sigi = hasSig ? mat(R0sig.rows(o0, o1)) : mat(o1 - o0 + 1, 0);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  573 |       mat dvi = hasDv ? mat(dvSens.rows(o0, o1)) : mat(o1 - o0 + 1, 0);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  574 |       ivec censi = hasCens ? ivec(censv.subvec(o0, o1)) : ivec();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  575 |       vec limi = hasCens ? vec(limv.subvec(o0, o1)) : vec();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  576 |       vec gi; mat etaPi;
      |       ~~~~~~~~~~~~~~~~~~
  577 |       foceiGradSubjectFoceFR_(ai, Ai, aRei, aRci, R0sigi, dvi, censi, limi, fv.subvec(o0, o1), yv.subvec(o0, o1),
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  578 |                               R0v.subvec(o0, o1), ehat.row(i).t(), Oi, dOiEst, tr28,
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  579 |                               neta, nth, nsg, nom, dirTh, sigCol, fp, gi, etaPi);
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  580 |       gmat.col(i) = gi; etaPall.slice(i) = etaPi;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  581 |     } catch (...) {
      |     ~~~~~~~~~~~~~~~
  582 |       gmat.col(i).fill(datum::nan); etaPall.slice(i).fill(datum::nan);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  583 |     }
      |     ~       
  584 |   });
      |   ~~        
nmParallelCore.h:61:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   61 |         Scope _nmScope;
      |               ^~~~~~~~
nmParallelCore.h:68:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   68 |         Scope _nmScope;
      |               ^~~~~~~~
nmParallelCore.h: In instantiation of ‘void nmForEach(int, int, bool, nmFlags, F&&) [with Scope = nmNoScope; F = foceiRAllFR_(const arma::mat&, const arma::cube&, const arma::cube&, const arma::mat&, const arma::cube&, const arma::cube&, const arma::mat&, const arma::mat&, const arma::ivec&, const arma::vec&, const arma::vec&, const arma::vec&, const arma::vec&, const arma::mat&, const arma::ivec&, const arma::mat&, const arma::cube&, const arma::cube&, const arma::mat&, int, int, int, int, const arma::ivec&, int)::<lambda(int)>]’:
foceiGrad.cpp:1034:12:   required from here
 1034 |   nmForEach(nsub, ncores, ncores > 1, nmStatic, [&](int i) {
      |   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1035 |     try {
      |     ~~~~~   
 1036 |       int o0 = obsOffset[i], o1 = obsOffset[i + 1] - 1;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1037 |       mat dvi = hasDv ? mat(dvSens.rows(o0, o1)) : mat(o1 - o0 + 1, 0);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1038 |       mat dv2i = hasDv ? mat(dvSens2.rows(o0, o1)) : mat(o1 - o0 + 1, 0);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1039 |       ivec censi = hasCens ? ivec(censv.subvec(o0, o1)) : ivec();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1040 |       vec limi = hasCens ? vec(limv.subvec(o0, o1)) : vec();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1041 |       Rall.slice(i) = foceiRSubjectFR_(a.rows(o0, o1), A.rows(o0, o1), Ath.rows(o0, o1),
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1042 |                                        aR.rows(o0, o1), AR.rows(o0, o1), AthR.rows(o0, o1), dvi, dv2i, censi, limi,
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1043 |                                        fv.subvec(o0, o1), yv.subvec(o0, o1), Rv.subvec(o0, o1),
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1044 |                                        ehat.row(i).t(), Oi, dOi, d2Oi, d2LD,
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1045 |                                        neta, ndir, ndirP, nom, dirP);
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1046 |     } catch (...) {
      |     ~~~~~~~~~~~~~~~
 1047 |       Rall.slice(i).fill(datum::nan);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1048 |     }
      |     ~       
 1049 |   });
      |   ~~        
nmParallelCore.h:61:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   61 |         Scope _nmScope;
      |               ^~~~~~~~
nmParallelCore.h:68:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   68 |         Scope _nmScope;
      |               ^~~~~~~~
nmParallelCore.h: In instantiation of ‘void nmForEach(int, int, bool, nmFlags, F&&) [with Scope = nmNoScope; F = foceiRAllFoceFR_(const arma::mat&, const arma::cube&, const arma::cube&, const arma::mat&, const arma::mat&, const arma::cube&, const arma::cube&, const arma::mat&, const arma::mat&, const arma::ivec&, const arma::vec&, const arma::vec&, const arma::vec&, const arma::vec&, const arma::mat&, const arma::ivec&, const arma::mat&, const arma::cube&, const arma::cube&, const arma::mat&, int, int, int, int, const arma::ivec&, int)::<lambda(int)>]’:
foceiGrad.cpp:1256:12:   required from here
 1256 |   nmForEach(nsub, ncores, ncores > 1, nmStatic, [&](int i) {
      |   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1257 |     try {
      |     ~~~~~   
 1258 |       int o0 = obsOffset[i], o1 = obsOffset[i + 1] - 1;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1259 |       mat dvi = hasDv ? mat(dvSens.rows(o0, o1)) : mat(o1 - o0 + 1, 0);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1260 |       mat dv2i = hasDv ? mat(dvSens2.rows(o0, o1)) : mat(o1 - o0 + 1, 0);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1261 |       ivec censi = hasCens ? ivec(censv.subvec(o0, o1)) : ivec();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1262 |       vec limi = hasCens ? vec(limv.subvec(o0, o1)) : vec();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1263 |       Rall.slice(i) = foceiRSubjectFoceFR_(a.rows(o0, o1), A.rows(o0, o1), Ath.rows(o0, o1),
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1264 |                                            aRe.rows(o0, o1), aRc.rows(o0, o1), ARe.rows(o0, o1), ARc.rows(o0, o1), dvi, dv2i,
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1265 |                                            censi, limi, fv.subvec(o0, o1), yv.subvec(o0, o1), R0v.subvec(o0, o1),
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1266 |                                            ehat.row(i).t(), Oi, dOi, d2Oi, d2LD,
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1267 |                                            neta, ndir, ndirP, nom, dirP);
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1268 |     } catch (...) {
      |     ~~~~~~~~~~~~~~~
 1269 |       Rall.slice(i).fill(datum::nan);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1270 |     }
      |     ~       
 1271 |   });
      |   ~~        
nmParallelCore.h:61:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   61 |         Scope _nmScope;
      |               ^~~~~~~~
nmParallelCore.h:68:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   68 |         Scope _nmScope;
      |               ^~~~~~~~
nmParallelCore.h: In instantiation of ‘void nmForEach(int, int, bool, nmFlags, F&&) [with Scope = nmNoScope; F = foceiGradAllAgqFR_(const arma::mat&, const arma::cube&, const arma::mat&, const arma::cube&, const arma::mat&, const arma::cube&, const arma::vec&, const arma::vec&, const arma::vec&, const arma::mat&, const arma::mat&, const arma::mat&, const arma::vec&, const arma::vec&, const arma::mat&, const arma::mat&, const arma::mat&, const arma::ivec&, const arma::mat&, const arma::cube&, const arma::vec&, int, int, int, int, const arma::ivec&, const arma::ivec&, int)::<lambda(int)>]’:
foceiGrad.cpp:1527:12:   required from here
 1527 |   nmForEach(nsub, ncores, ncores > 1, nmStatic, [&](int i) {
      |   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1528 |     try {
      |     ~~~~~   
 1529 |     int o0 = obsOffset[i], o1 = obsOffset[i + 1] - 1, no = o1 - o0 + 1;
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1530 |     mat ai = a.rows(o0, o1), aRi = aR.rows(o0, o1);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1531 |     cube Ai = A.rows(o0, o1), ARi = AR.rows(o0, o1);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1532 |     mat Rsigi = hasSig ? mat(Rsig.rows(o0, o1)) : mat(no, 0);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1533 |     cube RsigDiri = hasSig ? cube(RsigDir.rows(o0, o1)) : cube(no, ndir, 0);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1534 |     // gather this subject's node rows into node-major blocks of `no` rows
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1535 |     mat aNi(nn * no, ndir), aRNi(nn * no, ndir);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1536 |     mat RsigNi(nn * no, hasSig ? RsigN.n_cols : 0);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1537 |     vec fNi(nn * no), RNi(nn * no);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1538 |     for (int k = 0; k < nn; k++) {
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1539 |       int src = k * totObs + o0, dst = k * no;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1540 |       aNi.rows(dst, dst + no - 1) = aN.rows(src, src + no - 1);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1541 |       aRNi.rows(dst, dst + no - 1) = aRN.rows(src, src + no - 1);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1542 |       if (hasSig) RsigNi.rows(dst, dst + no - 1) = RsigN.rows(src, src + no - 1);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1543 |       fNi.subvec(dst, dst + no - 1) = fN.subvec(src, src + no - 1);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1544 |       RNi.subvec(dst, dst + no - 1) = RN.subvec(src, src + no - 1);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1545 |     }
      |     ~       
 1546 |     vec gi; mat etaPi; bool ok = false;
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1547 |     foceiGradSubjectAgqFR_(ai, Ai, aRi, ARi, Rsigi, RsigDiri,
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1548 |                            fv.subvec(o0, o1), yv.subvec(o0, o1), Rv.subvec(o0, o1),
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1549 |                            aNi, aRNi, RsigNi, fNi, RNi, qx, qw,
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1550 |                            ehat.row(i).t(), Oi, dOiEst, tr28,
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1551 |                            neta, nth, nsg, nom, dirTh, sigCol, gi, etaPi, ok);
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1552 |     if (ok) { gmat.col(i) = gi; etaPall.slice(i) = etaPi; okv[i] = 1; }
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1553 |     } catch (...) {
      |     ~~~~~~~~~~~~~~~
 1554 |       gmat.col(i).fill(datum::nan); etaPall.slice(i).fill(datum::nan); okv[i] = 0;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1555 |     }
      |     ~       
 1556 |   });
      |   ~~        
nmParallelCore.h:61:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   61 |         Scope _nmScope;
      |               ^~~~~~~~
nmParallelCore.h:68:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   68 |         Scope _nmScope;
      |               ^~~~~~~~
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c shi21.cpp -o shi21.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c nearPD.cpp -o nearPD.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c censEst.cpp -o censEst.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c saem.cpp -o saem.o
In file included from censEst.cpp:2:
censEst.h: In function ‘void censNormalPartials(double, double, double, double, double, int, double*)’:
censEst.h:392:16: warning: unused variable ‘rx_expr_31’ [-Wunused-variable]
  392 |         double rx_expr_31 = erf(rx_expr_25);
      |                ^~~~~~~~~~
censEst.h:351:14: warning: unused variable ‘rx_expr_21’ [-Wunused-variable]
  351 |       double rx_expr_21 = erf(rx_expr_18);
      |              ^~~~~~~~~~
censEst.h:472:16: warning: unused variable ‘rx_expr_31’ [-Wunused-variable]
  472 |         double rx_expr_31 = erf(rx_expr_25);
      |                ^~~~~~~~~~
censEst.h:431:14: warning: unused variable ‘rx_expr_21’ [-Wunused-variable]
  431 |       double rx_expr_21 = erf(rx_expr_18);
      |              ^~~~~~~~~~
censEst.h:590:14: warning: unused variable ‘rx_expr_48’ [-Wunused-variable]
  590 |       double rx_expr_48 = erf(rx_expr_44);
      |              ^~~~~~~~~~
censEst.h:591:14: warning: unused variable ‘rx_expr_49’ [-Wunused-variable]
  591 |       double rx_expr_49 = erf(rx_expr_46);
      |              ^~~~~~~~~~
censEst.h:517:12: warning: unused variable ‘rx_expr_29’ [-Wunused-variable]
  517 |     double rx_expr_29 = erf(rx_expr_26);
      |            ^~~~~~~~~~
censEst.h:518:12: warning: unused variable ‘rx_expr_30’ [-Wunused-variable]
  518 |     double rx_expr_30 = erf(rx_expr_28);
      |            ^~~~~~~~~~
censEst.h:714:14: warning: unused variable ‘rx_expr_34’ [-Wunused-variable]
  714 |       double rx_expr_34 = erf(rx_expr_31);
      |              ^~~~~~~~~~
censEst.h:679:12: warning: unused variable ‘rx_expr_18’ [-Wunused-variable]
  679 |     double rx_expr_18 = erf(rx_expr_17);
      |            ^~~~~~~~~~
In file included from saem.cpp:14:
censEst.h: In function ‘void censNormalPartials(double, double, double, double, double, int, double*)’:
censEst.h:392:16: warning: unused variable ‘rx_expr_31’ [-Wunused-variable]
  392 |         double rx_expr_31 = erf(rx_expr_25);
      |                ^~~~~~~~~~
censEst.h:351:14: warning: unused variable ‘rx_expr_21’ [-Wunused-variable]
  351 |       double rx_expr_21 = erf(rx_expr_18);
      |              ^~~~~~~~~~
censEst.h:472:16: warning: unused variable ‘rx_expr_31’ [-Wunused-variable]
  472 |         double rx_expr_31 = erf(rx_expr_25);
      |                ^~~~~~~~~~
censEst.h:431:14: warning: unused variable ‘rx_expr_21’ [-Wunused-variable]
  431 |       double rx_expr_21 = erf(rx_expr_18);
      |              ^~~~~~~~~~
censEst.h:590:14: warning: unused variable ‘rx_expr_48’ [-Wunused-variable]
  590 |       double rx_expr_48 = erf(rx_expr_44);
      |              ^~~~~~~~~~
censEst.h:591:14: warning: unused variable ‘rx_expr_49’ [-Wunused-variable]
  591 |       double rx_expr_49 = erf(rx_expr_46);
      |              ^~~~~~~~~~
censEst.h:517:12: warning: unused variable ‘rx_expr_29’ [-Wunused-variable]
  517 |     double rx_expr_29 = erf(rx_expr_26);
      |            ^~~~~~~~~~
censEst.h:518:12: warning: unused variable ‘rx_expr_30’ [-Wunused-variable]
  518 |     double rx_expr_30 = erf(rx_expr_28);
      |            ^~~~~~~~~~
censEst.h:714:14: warning: unused variable ‘rx_expr_34’ [-Wunused-variable]
  714 |       double rx_expr_34 = erf(rx_expr_31);
      |              ^~~~~~~~~~
censEst.h:679:12: warning: unused variable ‘rx_expr_18’ [-Wunused-variable]
  679 |     double rx_expr_18 = erf(rx_expr_17);
      |            ^~~~~~~~~~
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c expandNlme.cpp -o expandNlme.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c npde.cpp -o npde.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c shrink.cpp -o shrink.o
In file included from npde.cpp:7:
nmParallelCore.h: In instantiation of ‘void nmForEach(int, int, bool, nmFlags, F&&) [with Scope = nmNoScope; F = _nlmixr2est_npdeCalc(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)::<lambda(int)>&]’:
nmParallelCore.h:83:19:   required from ‘void nmForEach(int, int, bool, F&&) [with Scope = nmNoScope; F = _nlmixr2est_npdeCalc(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)::<lambda(int)>]’
   83 |   nmForEach<Scope>(n, cores, par, nmDefault, body);
      |   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npde.cpp:462:14:   required from here
  462 |     nmForEach(_nid, _cores, _doParallel, [&](int _curid) {
      |     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  463 |       unsigned int curid = (unsigned int)_curid;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  464 |       // A C++ exception must never escape this OMP region -- doing so calls
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  465 |       // std::terminate() and aborts R. Any per-subject numerical failure (e.g. a
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  466 |       // degenerate simulated covariance) is caught here and that subject's npde
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  467 |       // is set NA instead.
      |       ~~~~~~~~~~~~~~~~~~~~~
  468 |       try {
      |       ~~~~~   
  469 |         calcNpdeInfoId idInfo = calcNpdeId(idLoc, sim, dvt, evid, cens, limit, censMethod, doLimit, curid, K, tolChol, ties, ru, ru2, ru3,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  470 |                                            lambda, yj, hi, low);
      |                                            ~~~~~~~~~~~~~~~~~~~~~
  471 |         npde(span(idLoc[curid], idLoc[curid+1]-1)) = idInfo.npde;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  472 |         npd(span(idLoc[curid], idLoc[curid+1]-1)) = idInfo.npd;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  473 |         pde(span(idLoc[curid], idLoc[curid+1]-1)) = idInfo.pd;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  474 |         pd(span(idLoc[curid], idLoc[curid+1]-1)) = idInfo.pd2;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  475 |         epred(span(idLoc[curid], idLoc[curid+1]-1)) = idInfo.epred;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  476 |         dvf(span(idLoc[curid], idLoc[curid+1]-1)) = idInfo.yobs;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  477 |         eres(span(idLoc[curid], idLoc[curid+1]-1)) = idInfo.eres;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  478 |         warn[curid] = idInfo.warn;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
  479 |       } catch (...) {
      |       ~~~~~~~~~~~~~~~
  480 |         npde(span(idLoc[curid], idLoc[curid+1]-1)).fill(NA_REAL);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  481 |         npd(span(idLoc[curid], idLoc[curid+1]-1)).fill(NA_REAL);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  482 |         pde(span(idLoc[curid], idLoc[curid+1]-1)).fill(NA_REAL);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  483 |         pd(span(idLoc[curid], idLoc[curid+1]-1)).fill(NA_REAL);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  484 |         epred(span(idLoc[curid], idLoc[curid+1]-1)).fill(NA_REAL);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  485 |         dvf(span(idLoc[curid], idLoc[curid+1]-1)).fill(NA_REAL);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  486 |         eres(span(idLoc[curid], idLoc[curid+1]-1)).fill(NA_REAL);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  487 |         warn[curid] = NPDE_NPD;
      |         ~~~~~~~~~~~~~~~~~~~~~~~
  488 |       }
      |       ~       
  489 |     });
      |     ~~        
nmParallelCore.h:61:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   61 |         Scope _nmScope;
      |               ^~~~~~~~
nmParallelCore.h:68:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   68 |         Scope _nmScope;
      |               ^~~~~~~~
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c ires.cpp -o ires.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c res.cpp -o res.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c cwres.cpp -o cwres.o
In file included from /data/localhost/ripley/R/test-dev/BH/include/boost/bind/mem_fn.hpp:23,
                 from /data/localhost/ripley/R/test-dev/BH/include/boost/mem_fn.hpp:22,
                 from /data/localhost/ripley/R/test-dev/BH/include/boost/function/function_template.hpp:16,
                 from /data/localhost/ripley/R/test-dev/BH/include/boost/function.hpp:16,
                 from /data/localhost/ripley/R/test-dev/BH/include/boost/algorithm/string/detail/find_iterator.hpp:18,
                 from /data/localhost/ripley/R/test-dev/BH/include/boost/algorithm/string/find_iterator.hpp:24,
                 from /data/localhost/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:27,
                 from /data/localhost/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:16,
                 from /data/localhost/ripley/R/test-dev/BH/include/boost/algorithm/string.hpp:23,
                 from res.cpp:4:
/data/localhost/ripley/R/test-dev/BH/include/boost/get_pointer.hpp:48:40: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   48 | template<class T> T * get_pointer(std::auto_ptr<T> const& p)
      |                                        ^~~~~~~~
In file included from /usr/include/c++/16/memory:80,
                 from /data/localhost/ripley/R/test-dev/RcppArmadillo/include/armadillo:38,
                 from /data/localhost/ripley/R/test-dev/RcppArmadillo/include/RcppArmadillo/interface/RcppArmadilloForward.h:51,
                 from /data/localhost/ripley/R/test-dev/RcppArmadillo/include/RcppArmadillo.h:29,
                 from armahead.h:11,
                 from res.h:4,
                 from res.cpp:2:
/usr/include/c++/16/bits/unique_ptr.h:58:28: note: declared here
   58 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
res.cpp: In function ‘void calculateDfFull(arma::Col<int>&, arma::mat&, Rcpp::List&, int&, unsigned int&)’:
res.cpp:11:7: warning: unused variable ‘idSize’ [-Wunused-variable]
   11 |   int idSize = ID.size();
      |       ^~~~~~
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c censResid.cpp -o censResid.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c cholse.cpp -o cholse.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c neldermead.cpp -o neldermead.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c resid.cpp -o resid.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c slice.cpp -o slice.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c RcppExportMod.cpp -o RcppExportMod.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c RcppExports.cpp -o RcppExports.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c rxcmp.cpp -o rxcmp.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include   -Id -I../inst/include -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -I"/data/localhost/ripley/R/test-dev/BH/include" -I"/data/localhost/ripley/R/test-dev/Rcpp/include" -I"/data/localhost/ripley/R/test-dev/RcppArmadillo/include" -I"/data/localhost/ripley/R/test-dev/rxode2/include" -I"/data/localhost/ripley/R/test-dev/RcppEigen/include"  -fopenmp -DARMA_64BIT_WORD=1 -DARMA_USE_CURRENT -DARMA_DONT_USE_OPENMP -DEIGEN_DONT_PARALLELIZE -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c vaeEncoder.cpp -o vaeEncoder.o
gcc -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection -Werror=implicit-function-declaration -Wstrict-prototypes  -c init.c -o init.o
In file included from vaeEncoder.cpp:20:
nmParallelCore.h: In instantiation of ‘void nmForEach(int, int, bool, nmFlags, F&&) [with Scope = nmNoScope; F = vaeEncoderFwdBwdCore(const arma::cube&, const arma::ivec&, const arma::mat&, const arma::mat&, const arma::mat&, const arma::mat&, const arma::vec&, const arma::vec&, const arma::mat&, const arma::vec&, int, const arma::mat&, const arma::mat&, bool, arma::mat&, arma::mat&, arma::cube&, arma::mat&, arma::mat&, arma::mat&, arma::vec&, arma::vec&, arma::mat&, arma::vec&, int, bool)::<lambda(int)>]’:
vaeEncoder.cpp:98:12:   required from here
   98 |   nmForEach(N, cores, (cores > 1 && !backward) || parBwd, nmStatic, [&](int i) {
      |   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   99 |     const int Ti = lengths[i];
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~
  100 |     // forward caches for this subject
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  101 |     arma::mat I(h, Ti), F(h, Ti), G(h, Ti), O(h, Ti), C(h, Ti), H(h, Ti), X(xDim, Ti);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  102 |     arma::vec hPrev(h, arma::fill::zeros), cPrev(h, arma::fill::zeros);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  103 | 
      |             
  104 |     for (int t = 0; t < Ti; ++t) {
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  105 |       arma::vec xt(xDim);
      |       ~~~~~~~~~~~~~~~~~~~
  106 |       for (int d = 0; d < xDim; ++d) xt[d] = dataIn(i, t, d);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  107 |       arma::vec pre = Wih * xt + bih + Whh * hPrev + bhh;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  108 |       arma::vec it = vaeSigmoid(pre.subvec(0, h - 1));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  109 |       arma::vec ft = vaeSigmoid(pre.subvec(h, 2 * h - 1));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  110 |       arma::vec gt = arma::tanh(pre.subvec(2 * h, 3 * h - 1));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  111 |       arma::vec ot = vaeSigmoid(pre.subvec(3 * h, 4 * h - 1));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  112 |       arma::vec ct = ft % cPrev + it % gt;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  113 |       arma::vec ht = ot % arma::tanh(ct);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  114 |       I.col(t) = it; F.col(t) = ft; G.col(t) = gt; O.col(t) = ot;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  115 |       C.col(t) = ct; H.col(t) = ht; X.col(t) = xt;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  116 |       hPrev = ht; cPrev = ct;
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  117 |     }
      |     ~       
  118 | 
      |             
  119 |     arma::vec hLast = H.col(Ti - 1);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  120 |     arma::vec combined(h + nCov);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  121 |     combined.subvec(0, h - 1) = hLast;
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  122 |     if (nCov > 0) combined.subvec(h, h + nCov - 1) = covIn.row(i).t();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  123 |     arma::vec out = fcW * combined + fcB;
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  124 | 
      |             
  125 |     arma::vec muI = out.subvec(0, zDim - 1);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  126 |     arma::vec lsI = out.subvec(zDim, 2 * zDim - 1);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  127 |     arma::vec lmask = (nOff > 0) ? out.subvec(2 * zDim, outDim - 1) : arma::vec();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  128 | 
      |             
  129 |     arma::mat Li(zDim, zDim, arma::fill::zeros);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  130 |     Li.diag() = arma::exp(lsI);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  131 |     for (int k = 0; k < nOff; ++k) Li(offR[k], offC[k]) = lmask[k];
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132 |     arma::vec epsI = eps.row(i).t();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  133 |     arma::vec zI = muI + Li * epsI;
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  134 | 
      |             
  135 |     mu.row(i) = muI.t();
      |     ~~~~~~~~~~~~~~~~~~~~
  136 |     logSigma.row(i) = lsI.t();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~
  137 |     Lout.slice(i) = Li;
      |     ~~~~~~~~~~~~~~~~~~~
  138 |     zOut.row(i) = zI.t();
      |     ~~~~~~~~~~~~~~~~~~~~~
  139 | 
      |             
  140 |     if (!backward) return;   // forward-only: this subject is done
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  141 | 
      |             
  142 |     // ---- backward ----
      |     ~~~~~~~~~~~~~~~~~~~~~
  143 |     // accumulate into this thread's private partial when parBwd, else straight
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  144 |     // into the shared (serial, continuous-fold) outputs
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  145 |     int tid = 0;
      |     ~~~~~~~~~~~~
  146 | #ifdef _OPENMP
      | ~~~~~~~~~~~~~~
  147 |     if (parBwd) tid = omp_get_thread_num();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  148 | #endif
      | ~~~~~~      
  149 |     arma::mat& aWih = parBwd ? tWih[tid] : gWih;
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  150 |     arma::mat& aWhh = parBwd ? tWhh[tid] : gWhh;
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  151 |     arma::vec& abih = parBwd ? tbih[tid] : gbih;
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  152 |     arma::vec& abhh = parBwd ? tbhh[tid] : gbhh;
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  153 |     arma::mat& aFcW = parBwd ? tFcW[tid] : gFcW;
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  154 |     arma::vec& aFcB = parBwd ? tFcB[tid] : gFcB;
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  155 |     arma::vec gZi = gZ.row(i).t();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  156 |     arma::vec gMu = gZi;                          // dz/dmu = I
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  157 |     arma::mat gL = gZi * epsI.t();                // dLoss/dL via z = mu + L eps
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  158 |     arma::vec gLogSigma = gLogSigmaDirect.row(i).t() + gL.diag() % arma::exp(lsI);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  159 |     arma::vec gLmask(nOff);
      |     ~~~~~~~~~~~~~~~~~~~~~~~
  160 |     for (int k = 0; k < nOff; ++k) gLmask[k] = gL(offR[k], offC[k]);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  161 | 
      |             
  162 |     arma::vec gOut(outDim);
      |     ~~~~~~~~~~~~~~~~~~~~~~~
  163 |     gOut.subvec(0, zDim - 1) = gMu;
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164 |     gOut.subvec(zDim, 2 * zDim - 1) = gLogSigma;
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 |     if (nOff > 0) gOut.subvec(2 * zDim, outDim - 1) = gLmask;
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  166 | 
      |             
  167 |     aFcB += gOut;
      |     ~~~~~~~~~~~~~
  168 |     aFcW += gOut * combined.t();
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  169 |     arma::vec gCombined = fcW.t() * gOut;
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  170 |     arma::vec dh = gCombined.subvec(0, h - 1);    // grad on final hidden state
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171 |     arma::vec dc(h, arma::fill::zeros);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  172 | 
      |             
  173 |     for (int t = Ti - 1; t >= 0; --t) {
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  174 |       arma::vec tanhC = arma::tanh(C.col(t));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  175 |       arma::vec doo = dh % tanhC;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  176 |       dc += dh % O.col(t) % (1.0 - tanhC % tanhC);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  177 |       arma::vec cPrevT = (t > 0) ? C.col(t - 1) : arma::vec(h, arma::fill::zeros);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  178 |       arma::vec df = dc % cPrevT;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  179 |       arma::vec di = dc % G.col(t);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  180 |       arma::vec dg = dc % I.col(t);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  181 |       arma::vec dcPrev = dc % F.col(t);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  182 | 
      |             
  183 |       arma::vec diPre = di % I.col(t) % (1.0 - I.col(t));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  184 |       arma::vec dfPre = df % F.col(t) % (1.0 - F.col(t));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  185 |       arma::vec dgPre = dg % (1.0 - G.col(t) % G.col(t));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  186 |       arma::vec doPre = doo % O.col(t) % (1.0 - O.col(t));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  187 | 
      |             
  188 |       arma::vec dpre(4 * h);
      |       ~~~~~~~~~~~~~~~~~~~~~~
  189 |       dpre.subvec(0, h - 1) = diPre;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  190 |       dpre.subvec(h, 2 * h - 1) = dfPre;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  191 |       dpre.subvec(2 * h, 3 * h - 1) = dgPre;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  192 |       dpre.subvec(3 * h, 4 * h - 1) = doPre;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  193 | 
      |             
  194 |       arma::vec hPrevT = (t > 0) ? H.col(t - 1) : arma::vec(h, arma::fill::zeros);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  195 |       aWih += dpre * X.col(t).t();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  196 |       aWhh += dpre * hPrevT.t();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~
  197 |       abih += dpre;
      |       ~~~~~~~~~~~~~
  198 |       abhh += dpre;
      |       ~~~~~~~~~~~~~
  199 | 
      |             
  200 |       dh = Whh.t() * dpre;   // grad to h_{t-1}
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  201 |       dc = dcPrev;
      |       ~~~~~~~~~~~~
  202 |     }
      |     ~       
  203 |   });
      |   ~~        
nmParallelCore.h:61:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   61 |         Scope _nmScope;
      |               ^~~~~~~~
nmParallelCore.h:68:15: warning: unused variable ‘_nmScope’ [-Wunused-variable]
   68 |         Scope _nmScope;
      |               ^~~~~~~~
gcc -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection -Werror=implicit-function-declaration -Wstrict-prototypes  -c rprintf.c -o rprintf.o
gcc -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection -Werror=implicit-function-declaration -Wstrict-prototypes  -c merge3.c -o merge3.o
gcc -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection -Werror=implicit-function-declaration -Wstrict-prototypes  -c lbfgsR.c -o lbfgsR.o
gcc -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG  -I'/data/localhost/ripley/R/test-dev/BH/include' -I'/data/localhost/ripley/R/test-dev/n1qn1/include' -I'/data/localhost/ripley/R/test-dev/lbfgsb3c/include' -I'/data/localhost/ripley/R/test-dev/lotri/include' -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppArmadillo/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I'/data/localhost/ripley/R/test-dev/RcppTrust/include' -I'/data/localhost/ripley/R/test-dev/rxode2/include' -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection -Werror=implicit-function-declaration -Wstrict-prototypes  -c utilc.c -o utilc.o
g++ -std=gnu++17 -shared -L/usr/local/lib64 -o nlmixr2est.so uninformativeEtas.o nlm.o filterNormalLike.o inner.o odeSwap.o imp.o npCommon.o npag.o npb.o foceiGrad.o shi21.o nearPD.o censEst.o saem.o expandNlme.o npde.o shrink.o ires.o res.o cwres.o censResid.o cholse.o neldermead.o resid.o slice.o RcppExportMod.o RcppExports.o rxcmp.o vaeEncoder.o init.o rprintf.o merge3.o lbfgsR.o utilc.o -llapack -L/data/localhost/ripley/R/R-devel/lib -lRblas -lgfortran -lm -latomic_asneeded -lquadmath -fopenmp
make[1]: Leaving directory '/data/localhost/ripley/R/packages/tests-devel/nlmixr2est/src'
make[1]: Entering directory '/data/localhost/ripley/R/packages/tests-devel/nlmixr2est/src'
make[1]: Leaving directory '/data/localhost/ripley/R/packages/tests-devel/nlmixr2est/src'
installing to /data/localhost/ripley/R/packages/tests-devel/nlmixr2est.Rcheck/00LOCK-nlmixr2est/00new/nlmixr2est/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
*** copying figures
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (nlmixr2est)