* installing *source* package ‘nlmixr2est’ ...
** this is package ‘nlmixr2est’ version ‘7.2.1’
** 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_CPPFLAGS = -DR_NO_REMAP
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 lbfgsR.c utilc.c
SOURCES_CPP = uninformativeEtas.cpp covShortcut.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 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 covShortcut.h cwres.h evaluate.h fdHess.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 -DR_NO_REMAP -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 -DR_NO_REMAP -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 covShortcut.cpp -o covShortcut.o
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG -DR_NO_REMAP -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 -DR_NO_REMAP -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:345:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
  345 |   for (int i = 0; i < nlmOp.ntheta; ++i) {
      |                   ~~^~~~~~~~~~~~~~
nlm.cpp: In function ‘Rcpp::RObject nlmScalePar(Rcpp::RObject)’:
nlm.cpp:369:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
  369 |   for (int i = 0; i < nlmOp.ntheta; i++) {
      |                   ~~^~~~~~~~~~~~~~
nlm.cpp: In function ‘Rcpp::NumericVector nlmUnscalePar(Rcpp::NumericVector)’:
nlm.cpp:405:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
  405 |   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:842:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
  842 |   for(int i = 0; i < nlmOp.ntheta; ++i) {
      |                  ~~^~~~~~~~~~~~~~
nlm.cpp: In function ‘Rcpp::RObject nlmAdjustCov(Rcpp::RObject, arma::vec)’:
nlm.cpp:1370:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 1370 |   for (int i = 0; i < nlmOp.ntheta; ++i) {
      |                   ~~^~~~~~~~~~~~~~
nlm.cpp: In function ‘int nlmixr2NlmEval(const double*, int, double*, double*)’:
nlm.cpp:1415:14: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 1415 |   if (ntheta != nlmOp.ntheta || theta == NULL ||
      |       ~~~~~~~^~~~~~~~~~~~~~~
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG -DR_NO_REMAP -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:9:
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:1397:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 1397 |   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:2484:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 2484 |   if ((int)refEta.size() == op_focei.neta) {
      |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
inner.cpp:2485:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 2485 |     for (int i = 0; i < op_focei.neta; ++i) {
      |                     ~~^~~~~~~~~~~~~~~
inner.cpp: In function ‘double likInner0(double*, int)’:
inner.cpp:2896:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 2896 |       for (int ii = 0; ii < op_focei.neta; ++ii) {
      |                        ~~~^~~~~~~~~~~~~~~
inner.cpp:2950:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 2950 |         for (int ii = 0; ii < op_focei.neta; ++ii) {
      |                          ~~~^~~~~~~~~~~~~~~
inner.cpp: In function ‘double LikInner2(double*, int, int)’:
inner.cpp:3975:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 3975 |         for (; curi < _aqn; curi++) {
      |                ~~~~~^~~~~~
inner.cpp: In function ‘int innerOpt1(int, int)’:
inner.cpp:4191:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 4191 |     for (int _j = 0; _j < op_focei.neta; _j++) {
      |                      ~~~^~~~~~~~~~~~~~~
inner.cpp:4228:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 4228 |       for (int j = 0; j < op_focei.neta; j++) etaNew[j] = fInd->eta[j];
      |                       ~~^~~~~~~~~~~~~~~
inner.cpp:4232:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 4232 |         for (int j = 0; j < op_focei.neta; j++)
      |                         ~~^~~~~~~~~~~~~~~
inner.cpp: In function ‘void fillEtaRestartSamples(rx_solve*)’:
inner.cpp:5953:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 5953 |         for (int j = 0; j < op_focei.neta; ++j) {
      |                         ~~^~~~~~~~~~~~~~~
inner.cpp:5976:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 5976 |           for (int j = 0; j < op_focei.neta; ++j) z[j] = rxNormEng(0.0, 1.0);
      |                           ~~^~~~~~~~~~~~~~~
inner.cpp: In function ‘void innerOpt()’:
inner.cpp:6043:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 6043 |             if (nCopy > op_focei.neta) nCopy = op_focei.neta;
      |                 ~~~~~~^~~~~~~~~~~~~~~
inner.cpp:6046:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 6046 |             if (nCopy < op_focei.neta) {
      |                 ~~~~~~^~~~~~~~~~~~~~~
inner.cpp:6061:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 6061 |     for (int id = 0; id < getRxNsubAndMix(rx); id++){
      |                      ~~~^~~~~~~~~~~~~~~~~~~~~
inner.cpp: In function ‘void foceiSetupNoEta_()’:
inner.cpp:8401:29: warning: unused variable ‘ind’ [-Wunused-variable]
 8401 |     rx_solving_options_ind *ind = getSolvingOptionsInd(rx, i);
      |                             ^~~
inner.cpp: In function ‘void foceiSetupEta_(Rcpp::NumericMatrix)’:
inner.cpp:8537:17: warning: variable ‘k’ set but not used [-Wunused-but-set-variable=]
 8537 |   size_t j = 0, k = 0, ii=0, jj = 0, iA=0, iB=0, iH=0, iVid=0;
      |                 ^
inner.cpp:8537:50: warning: variable ‘iH’ set but not used [-Wunused-but-set-variable=]
 8537 |   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:9663:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 9663 |       if (etaMat1.ncol() != op_focei.neta){
      |           ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
inner.cpp: In function ‘double foceiOfvOptim(int, double*, void*)’:
inner.cpp:10494:7: warning: unused variable ‘finalize’ [-Wunused-variable]
10494 |   int finalize = 0, i = 0;
      |       ^~~~~~~~
inner.cpp: In function ‘void outerGradNumOptim(int, double*, double*, void*)’:
inner.cpp:10604:7: warning: unused variable ‘finalize’ [-Wunused-variable]
10604 |   int finalize=0, i = 0;
      |       ^~~~~~~~
inner.cpp: In function ‘void foceiFinalizeTables(Rcpp::Environment)’:
inner.cpp:13158:12: warning: unused variable ‘k’ [-Wunused-variable]
13158 |   int j=0, k=0, l=0;
      |            ^
inner.cpp:13158:17: warning: unused variable ‘l’ [-Wunused-variable]
13158 |   int j=0, k=0, l=0;
      |                 ^
inner.cpp: In function ‘Rcpp::Environment foceiFitCpp_(Rcpp::Environment)’:
inner.cpp:15066:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
15066 |         for (int j = 0; j < op_focei.neta; ++j) {
      |                         ~~^~~~~~~~~~~~~~~
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:16921:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
16921 |   for (int i = 0; i < op_focei.npars; ++i) {
      |                   ~~^~~~~~~~~~~~~~~~
inner.cpp: In function ‘Rcpp::NumericMatrix foceiOuterFdIndCore(Rcpp::IntegerVector, Rcpp::NumericMatrix, const FdIndPoint&)’:
inner.cpp:17272:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
17272 |         if ((int)e.size() == op_focei.neta) src = &e;
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
inner.cpp:17275:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
17275 |         for (int i = 0; i < op_focei.neta; ++i) _fdThRefEta[q][(size_t)i] = (*src)[(size_t)i];
      |                         ~~^~~~~~~~~~~~~~~
inner.cpp:17277:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
17277 |         for (int i = 0; i < op_focei.neta; ++i) _fdThRefEta[q][(size_t)i] = fI->saveEta[i];
      |                         ~~^~~~~~~~~~~~~~~
inner.cpp:17280:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
17280 |         for (int i = 0; i < op_focei.neta; ++i) {
      |                         ~~^~~~~~~~~~~~~~~
inner.cpp:17302:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
17302 |       for (int i = 0; i < op_focei.npars; ++i) {
      |                       ~~^~~~~~~~~~~~~~~~
inner.cpp: In lambda function:
inner.cpp:17674: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]
17674 |       for (int d = 0; d < C.f1.size(); ++d) E.a(ko, C.fDirIdx[d]) = lhs[C.f1[d]];
      |                       ~~^~~~~~~~~~~~~
inner.cpp:17675: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]
17675 |       for (int r = 0; r < C.f2.size(); ++r) {
      |                       ~~^~~~~~~~~~~~~
inner.cpp:17681: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]
17681 |         for (int d = 0; d < C.rvar1.size(); ++d) E.aR(ko, d) = lhs[C.rvar1[d]];
      |                         ~~^~~~~~~~~~~~~~~~
inner.cpp:17682: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]
17682 |         for (int r = 0; r < C.rvar2.size(); ++r) {
      |                         ~~^~~~~~~~~~~~~~~~
inner.cpp:17689: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]
17689 |           for (int d = 0; d < r1.size(); ++d) E.RsigDir(ko, d, s) = lhs[r1[d]];
      |                           ~~^~~~~~~~~~~
inner.cpp:17691: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]
17691 |         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:19042:61: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
19042 |     if (!flagged.empty() && npAll > 0 && (int)G.gMap.size() == op_focei.npars) {
      |                                          ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
inner.cpp: In function ‘bool analyticOuterGradDirect(double*, double*)’:
inner.cpp:19375:12: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘unsigned int’ [-Wsign-compare]
19375 |   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:19446:12: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘unsigned int’ [-Wsign-compare]
19446 |   if (neta != op_focei.neta) return R_NilValue;
      |       ~~~~~^~~~~~~~~~~~~~~~
inner.cpp: In function ‘int foceiDimsFlags(rx_solving_options*)’:
inner.cpp:21915:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
21915 |   for (int k = 0; k < op_focei.neta; ++k) {
      |                   ~~^~~~~~~~~~~~~~~
inner.cpp: In function ‘int nlmixr2FoceiSetOmegaInv(const double*, int)’:
inner.cpp:21974:32: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
21974 |   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:22042:12: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
22042 |   if (neta != op_focei.neta || neta <= 0 || op_focei.fo == 1) return -2;
      |       ~~~~~^~~~~~~~~~~~~~~~
inner.cpp:22044:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
22044 |   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:24320:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
24320 |     for (int m = 0; m < op_focei.mixIdxN; ++m) mixThIdx[m] = op_focei.mixIdx[m] - 1;
      |                     ~~^~~~~~~~~~~~~~~~~~
inner.cpp:25629:47: warning: comparison of integer expressions of different signedness: ‘arma::uword’ {aka ‘long long unsigned int’} and ‘int’ [-Wsign-compare]
25629 |             sReg[k] = regIdx[j]; sMap[k] = (j < (int)regErrMapV.n_elem) ? regErrMapV[j] : -1;
      |                                             ~~^~~~~~~~~~~~~~~~~~~~~~~~
inner.cpp: In function ‘bool foceiHessianSensitivitySupport(int)’:
inner.cpp:26061:12: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘unsigned int’ [-Wsign-compare]
26061 |     g.neta == op_focei.neta && (int)g.gMap.size() == n && !g.nLam &&
      |     ~~~~~~~^~~~~~~~~~~~~~~~
In file included from nmParallel.h:32,
                 from inner.cpp:28:
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:24937:16:   required from here
24937 |       nmForEach(zDim, cores, cores > 1, [&](int k) {
      |       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24938 |         if (isFreeR[k]) return;
      |         ~~~~~~~~~~~~~~~~~~~~~~~
24939 |         // fixed structural theta: hold the intercept at ini, add no covariates
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24940 |         if (zPopFixR[k]) { intercept[k] = zPop[k]; zPopMat.col(k).fill(zPop[k]); return; }
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24941 |         // GLS offset response + conditional variance (both no-ops when diagonal)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24942 |         arma::vec yk = (covSelectSmooth ? s1.col(k) : last.mu.col(k)) + covOffset.col(k);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24943 |         // pinCovariates: restrict this dim's candidate columns to its allowed
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24944 |         // (model-declared) covariates.  A reduced design [1 | covMat.cols(allowed)]
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24945 |         // is searched, then the chosen reduced indices are mapped back to global
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24946 |         // covariate columns.  No allowed columns -> intercept-only fit.
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24947 |         arma::uvec allowedG;
      |         ~~~~~~~~~~~~~~~~~~~~
24948 |         arma::mat Xk;
      |         ~~~~~~~~~~~~~
24949 |         if (haveCovAllow) {
      |         ~~~~~~~~~~~~~~~~~~~
24950 |           std::vector<arma::uword> av;
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24951 |           for (int j = 0; j < nCov; ++j) if (covAllow(k, j) == 1) av.push_back((arma::uword)j);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24952 |           // A mask that allows only PART of a block leaves that block
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24953 |           // unsatisfiable -- it can never be selected whole, and its allowed
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24954 |           // columns would sit in the design as dead weight the search keeps
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24955 |           // pricing.  Drop such blocks outright.
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24956 |           if (!covBlock.empty()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~
24957 |             std::vector<arma::uword> keep;
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24958 |             for (size_t t = 0; t < av.size(); ++t) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24959 |               const int bt = covBlock[(size_t)av[t]];
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24960 |               bool whole = true;
      |               ~~~~~~~~~~~~~~~~~~
24961 |               if (bt >= 0) {
      |               ~~~~~~~~~~~~~~
24962 |                 for (int j = 0; j < nCov && whole; ++j) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24963 |                   if (covBlock[(size_t)j] == bt && covAllow(k, j) != 1) whole = false;
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24964 |                 }
      |                 ~
24965 |               }
      |               ~ 
24966 |               if (whole) keep.push_back(av[t]);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24967 |             }
      |             ~   
24968 |             av.swap(keep);
      |             ~~~~~~~~~~~~~~
24969 |           }
      |           ~     
24970 |           allowedG = arma::uvec(av);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~
24971 |           Xk.set_size(N, 1 + allowedG.n_elem);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24972 |           Xk.col(0).ones();
      |           ~~~~~~~~~~~~~~~~~
24973 |           if (allowedG.n_elem > 0) Xk.cols(1, allowedG.n_elem) = covMat.cols(allowedG);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24974 |         }
      |         ~       
24975 |         const arma::mat& Xuse = haveCovAllow ? Xk : X;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24976 |         // the group ids must follow the design actually searched, so subset them
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24977 |         // to the allowed columns alongside Xk
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24978 |         std::vector<int> grpK;
      |         ~~~~~~~~~~~~~~~~~~~~~~
24979 |         if (!covGroup.empty()) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~~
24980 |           if (haveCovAllow) {
      |           ~~~~~~~~~~~~~~~~~~~
24981 |             grpK.resize(allowedG.n_elem);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24982 |             for (size_t s = 0; s < allowedG.n_elem; ++s) grpK[s] = covGroup[(size_t)allowedG[s]];
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24983 |           } else {
      |           ~~~~~~~~
24984 |             grpK = covGroup;
      |             ~~~~~~~~~~~~~~~~
24985 |           }
      |           ~     
24986 |         }
      |         ~       
24987 |         const std::vector<int>* grpP = grpK.empty() ? nullptr : &grpK;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24988 |         // block ids follow the design actually searched, exactly as the groups do
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24989 |         std::vector<int> blkK;
      |         ~~~~~~~~~~~~~~~~~~~~~~
24990 |         if (!covBlock.empty()) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~~
24991 |           if (haveCovAllow) {
      |           ~~~~~~~~~~~~~~~~~~~
24992 |             blkK.resize(allowedG.n_elem);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24993 |             for (size_t s = 0; s < allowedG.n_elem; ++s) blkK[s] = covBlock[(size_t)allowedG[s]];
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24994 |           } else {
      |           ~~~~~~~~
24995 |             blkK = covBlock;
      |             ~~~~~~~~~~~~~~~~
24996 |           }
      |           ~     
24997 |         }
      |         ~       
24998 |         const std::vector<int>* blkP = blkK.empty() ? nullptr : &blkK;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24999 |         // cluster ids follow the design actually searched, exactly as the groups
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25000 |         // and blocks do
      |         ~~~~~~~~~~~~~~~~
25001 |         std::vector<int> cluK;
      |         ~~~~~~~~~~~~~~~~~~~~~~
25002 |         if (!covCluster.empty()) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
25003 |           if (haveCovAllow) {
      |           ~~~~~~~~~~~~~~~~~~~
25004 |             cluK.resize(allowedG.n_elem);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25005 |             for (size_t s = 0; s < allowedG.n_elem; ++s) cluK[s] = covCluster[(size_t)allowedG[s]];
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25006 |           } else {
      |           ~~~~~~~~
25007 |             cluK = covCluster;
      |             ~~~~~~~~~~~~~~~~~~
25008 |           }
      |           ~     
25009 |         }
      |         ~       
25010 |         VaeSubsetFit fit = (haveL0 && covSelMode[k] == 1)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25011 |           // covVar[k] (not omega[k]): the GLS conditional variance 1/P_kk for a
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25012 |           // correlated block, which reduces to omega[k] when Omega is diagonal.
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25013 |           // grpP is main's mutual-exclusion grouping -- both are wanted here.
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25014 |           ? vaeCandidateSubsetL0(yk, Xuse, covVar[k], covPenalty, cands[(size_t)k], true,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25015 |                                  grpP, blkP)
      |                                  ~~~~~~~~~~~
25016 |           : vaeBestSubsetL0(yk, Xuse, covVar[k], covPenalty, bnbStrategy, grpP, blkP);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25017 |         std::vector<int> useSel = fit.sel;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25018 |         arma::vec useCoef = fit.coef;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25019 |         if (!cluK.empty()) {
      |         ~~~~~~~~~~~~~~~~~~~~
25020 |           // "Clearly beats" is measured in the search's OWN currency: one
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25021 |           // covariate's L0 cost.  An exchange between two columns the design
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25022 |           // cannot tell apart (abs(cor) at or above the cut) has to be worth as
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25023 |           // much as admitting a covariate before it displaces the incumbent.
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25024 |           // That needs no threshold of its own, and it can only ever veto a
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25025 |           // SWAP -- never an addition or a removal -- so a real covariate
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25026 |           // effect still enters and leaves on the search's terms.
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25027 |           const double margin = covPenalty;
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25028 |           double useScore = vaeScoreSupport(yk, Xuse, covVar[k], covPenalty,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25029 |                                             grpP, blkP, useSel, nullptr);
      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25030 |           if (selPrevSet[(size_t)k] &&
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25031 |               vaeClusterSwapOnly(useSel, selPrev[(size_t)k], cluK)) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25032 |             arma::vec incCoef;
      |             ~~~~~~~~~~~~~~~~~~
25033 |             const double incScore =
      |             ~~~~~~~~~~~~~~~~~~~~~~~
25034 |               vaeScoreSupport(yk, Xuse, covVar[k], covPenalty, grpP, blkP,
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25035 |                               selPrev[(size_t)k], &incCoef);
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25036 |             if (R_FINITE(incScore) && incScore - useScore <= margin) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25037 |               useSel = selPrev[(size_t)k];
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25038 |               useCoef = incCoef;
      |               ~~~~~~~~~~~~~~~~~~
25039 |               useScore = incScore;
      |               ~~~~~~~~~~~~~~~~~~~~
25040 |               ++hystN[(size_t)k];
      |               ~~~~~~~~~~~~~~~~~~~
25041 |             }
      |             ~   
25042 |           }
      |           ~     
25043 |           // Near ties: which cluster mates would have come within the same
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25044 |           // margin had they been chosen instead?  One single-column exchange at
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25045 |           // a time, scored through the leaf evaluator, so an exchange that is
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25046 |           // infeasible (two shapes of one covariate, half a hockey stick) drops
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25047 |           // out on its own.  Recorded against GLOBAL covariate columns.
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25048 |           std::vector<int>& tS = tieSel[(size_t)k];
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25049 |           std::vector<int>& tM = tieMate[(size_t)k];
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25050 |           std::vector<double>& tD = tieDelta[(size_t)k];
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25051 |           tS.clear(); tM.clear(); tD.clear();
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25052 |           std::vector<char> inSup(cluK.size(), 0);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25053 |           for (size_t s = 0; s < useSel.size(); ++s) inSup[(size_t)useSel[s]] = 1;
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25054 |           for (size_t s = 0; s < useSel.size(); ++s) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25055 |             const int j = useSel[s];
      |             ~~~~~~~~~~~~~~~~~~~~~~~~
25056 |             if ((size_t)j >= cluK.size() || cluK[(size_t)j] < 0) continue;
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25057 |             for (size_t m = 0; m < cluK.size(); ++m) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25058 |               if ((int)m == j || inSup[m] != 0 || cluK[m] != cluK[(size_t)j]) continue;
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25059 |               std::vector<int> t = useSel;
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25060 |               t[s] = (int)m;
      |               ~~~~~~~~~~~~~~
25061 |               std::sort(t.begin(), t.end());
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25062 |               const double sc = vaeScoreSupport(yk, Xuse, covVar[k], covPenalty,
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25063 |                                                 grpP, blkP, t, nullptr);
      |                                                 ~~~~~~~~~~~~~~~~~~~~~~~~
25064 |               if (!R_FINITE(sc) || sc - useScore > margin) continue;
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25065 |               tS.push_back(haveCovAllow ? (int)allowedG[(size_t)j] : j);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25066 |               tM.push_back(haveCovAllow ? (int)allowedG[m] : (int)m);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25067 |               tD.push_back(sc - useScore);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25068 |             }
      |             ~   
25069 |           }
      |           ~     
25070 |         }
      |         ~       
25071 |         selPrev[(size_t)k] = useSel;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25072 |         selPrevSet[(size_t)k] = 1;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
25073 |         arma::vec bestCoef = useCoef;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25074 |         double ic = bestCoef[0];
      |         ~~~~~~~~~~~~~~~~~~~~~~~~
25075 |         if (R_FINITE(zPopLower[k]) && ic < zPopLower[k]) ic = zPopLower[k];
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25076 |         if (R_FINITE(zPopUpper[k]) && ic > zPopUpper[k]) ic = zPopUpper[k];
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25077 |         intercept[k] = ic; bestCoef[0] = ic;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25078 |         arma::uvec bestCols = vaeSubsetCols(useSel);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25079 |         for (size_t s = 0; s < useSel.size(); ++s) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25080 |           int gj = haveCovAllow ? (int)allowedG[useSel[s]] : useSel[s];
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25081 |           beta(k, gj) = bestCoef[s + 1]; selected(k, gj) = 1;
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25082 |         }
      |         ~       
25083 |         zPopMat.col(k) = Xuse.cols(bestCols) * bestCoef;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25084 |       });
      |       ~~        
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:25189:22:   required from here
25189 |             nmForEach(nG, cores, cores > 1 && nG > 1, [&](int gi) {
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25190 |               const std::vector<int>& G = groups[(size_t)gi];
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25191 |               if (G.size() < 2) return;
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~
25192 |               if ((int)G.size() > phiMaxDim) { gBig[gi] = 1; return; }
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25193 |               // an exception must never cross an OpenMP region; a group that
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25194 |               // fails numerically simply does nothing, which is the conservative
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25195 |               // answer anyway
      |               ~~~~~~~~~~~~~~~~
25196 |               try {
      |               ~~~~~   
25197 |               // current supports, and the blocks in play anywhere in the group
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25198 |               std::vector<std::vector<int> > sup(G.size());
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25199 |               std::vector<int> bag;
      |               ~~~~~~~~~~~~~~~~~~~~~
25200 |               for (size_t a = 0; a < G.size(); ++a) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25201 |                 for (int j = 0; j < nCov; ++j) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25202 |                   if (selected(G[a], j)) {
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~
25203 |                     sup[a].push_back(j);
      |                     ~~~~~~~~~~~~~~~~~~~~
25204 |                     const int bb = fc.blockOf[(size_t)j];
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25205 |                     if (std::find(bag.begin(), bag.end(), bb) == bag.end()) bag.push_back(bb);
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25206 |                   }
      |                   ~   
25207 |                 }
      |                 ~     
25208 |               }
      |               ~       
25209 |               std::sort(bag.begin(), bag.end());
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25210 |               if (bag.empty()) return;
      |               ~~~~~~~~~~~~~~~~~~~~~~~~
25211 |               // a candidate support must be block-complete, group-feasible and
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25212 |               // allowed on the dim it lands on
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25213 |               auto feasible = [&](int k, const std::vector<int>& s) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25214 |                 if (!vaeGroupOk(fc, s) || !vaeBlockOk(fc, s)) return false;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25215 |                 if (haveCovAllow) {
      |                 ~~~~~~~~~~~~~~~~~~~
25216 |                   for (size_t t = 0; t < s.size(); ++t) {
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25217 |                     if (covAllow(k, s[t]) != 1) return false;
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25218 |                   }
      |                   ~   
25219 |                 }
      |                 ~     
25220 |                 return true;
      |                 ~~~~~~~~~~~~
25221 |               };
      |               ~~      
25222 |               auto addBlk = [&](std::vector<int> s, int b) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25223 |                 const std::vector<int>& cols = fc.blocks[(size_t)b];
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25224 |                 s.insert(s.end(), cols.begin(), cols.end());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25225 |                 std::sort(s.begin(), s.end());
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25226 |                 return s;
      |                 ~~~~~~~~~
25227 |               };
      |               ~~      
25228 |               auto dropBlk = [&](const std::vector<int>& s, int b) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25229 |                 std::vector<int> t;
      |                 ~~~~~~~~~~~~~~~~~~~
25230 |                 for (size_t u2 = 0; u2 < s.size(); ++u2) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25231 |                   if (fc.blockOf[(size_t)s[u2]] != b) t.push_back(s[u2]);
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25232 |                 }
      |                 ~     
25233 |                 return t;
      |                 ~~~~~~~~~
25234 |               };
      |               ~~      
25235 |               auto hasBlk = [&](const std::vector<int>& s, int b) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25236 |                 for (size_t u2 = 0; u2 < s.size(); ++u2) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25237 |                   if (fc.blockOf[(size_t)s[u2]] == b) return true;
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25238 |                 }
      |                 ~     
25239 |                 return false;
      |                 ~~~~~~~~~~~~~
25240 |               };
      |               ~~      
25241 |               // score an assignment, re-scoring with any binding intercept HELD:
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25242 |               // the per-dim path clamps after scoring, so without this a move
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25243 |               // could win on a score its written parameters never achieve
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25244 |               auto scoreOf = [&](const std::vector<std::vector<int> >& s,
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25245 |                                  std::vector<arma::vec>* th) {
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25246 |                 bool cl = false;
      |                 ~~~~~~~~~~~~~~~~
25247 |                 double q = vaeJointScore(jc, G, s, th, nullptr, &cl);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25248 |                 if (!cl || !R_FINITE(q)) return q;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25249 |                 std::vector<arma::vec> t0;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~
25250 |                 vaeJointScore(jc, G, s, &t0, nullptr, nullptr);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25251 |                 std::vector<double> fixv(G.size(), NA_REAL);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25252 |                 for (size_t a = 0; a < G.size(); ++a) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25253 |                   const int k = G[a];
      |                   ~~~~~~~~~~~~~~~~~~~
25254 |                   if (t0.size() <= a || t0[a].n_elem == 0) continue;
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25255 |                   if (R_FINITE(zPopLower[k]) && t0[a][0] < zPopLower[k]) fixv[a] = zPopLower[k];
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25256 |                   else if (R_FINITE(zPopUpper[k]) && t0[a][0] > zPopUpper[k]) fixv[a] = zPopUpper[k];
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25257 |                 }
      |                 ~     
25258 |                 ++gClamp[gi];
      |                 ~~~~~~~~~~~~~
25259 |                 return vaeJointScore(jc, G, s, th, &fixv, nullptr);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25260 |               };
      |               ~~      
25261 |               std::vector<arma::vec> thCur;
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25262 |               double best = scoreOf(sup, &thCur);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25263 |               if (!R_FINITE(best)) return;
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25264 |               bool moved = false;
      |               ~~~~~~~~~~~~~~~~~~~
25265 |               for (int pass = 0; pass < 20; ++pass) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25266 |                 double bestScore = best;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~
25267 |                 std::vector<std::vector<int> > bestSup;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25268 |                 std::vector<arma::vec> bestTh;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25269 |                 bool have = false;
      |                 ~~~~~~~~~~~~~~~~~~
25270 |                 // MOVE b from k to k', ADD b to k', DROP b from k -- a fixed
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25271 |                 // enumeration, with best-improvement acceptance so the winner does
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25272 |                 // not depend on that order
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
25273 |                 for (size_t a = 0; a < G.size(); ++a) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25274 |                   for (size_t t = 0; t < bag.size(); ++t) {
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25275 |                     const int b = bag[t];
      |                     ~~~~~~~~~~~~~~~~~~~~~
25276 |                     const bool inA = hasBlk(sup[a], b);
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25277 |                     for (size_t c2 = 0; c2 < G.size(); ++c2) {
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25278 |                       if (c2 == a || !inA) continue;
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25279 |                       if (hasBlk(sup[c2], b)) continue;
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25280 |                       std::vector<std::vector<int> > cand = sup;
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25281 |                       cand[a] = dropBlk(sup[a], b);
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25282 |                       cand[c2] = addBlk(sup[c2], b);
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25283 |                       if (!feasible(G[a], cand[a]) || !feasible(G[c2], cand[c2])) continue;
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25284 |                       std::vector<arma::vec> th;
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~
25285 |                       ++gTest[gi];
      |                       ~~~~~~~~~~~~
25286 |                       double q = scoreOf(cand, &th);
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25287 |                       if (R_FINITE(q) && (q < bestScore ||
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25288 |                                           (q == bestScore && have && vaeJointSelLess(cand, bestSup)))) {
      |                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25289 |                         have = true; bestScore = q; bestSup = cand; bestTh = th;
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25290 |                       }
      |                       ~
25291 |                     }
      |                     ~ 
25292 |                     if (!inA) {                                  // ADD
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25293 |                       std::vector<std::vector<int> > cand = sup;
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25294 |                       cand[a] = addBlk(sup[a], b);
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25295 |                       if (feasible(G[a], cand[a])) {
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25296 |                         std::vector<arma::vec> th;
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~
25297 |                         ++gTest[gi];
      |                         ~~~~~~~~~~~~
25298 |                         double q = scoreOf(cand, &th);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25299 |                         if (R_FINITE(q) && (q < bestScore ||
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25300 |                                             (q == bestScore && have && vaeJointSelLess(cand, bestSup)))) {
      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25301 |                           have = true; bestScore = q; bestSup = cand; bestTh = th;
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25302 |                         }
      |                         ~
25303 |                       }
      |                       ~
25304 |                     } else {                                     // DROP
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25305 |                       std::vector<std::vector<int> > cand = sup;
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25306 |                       cand[a] = dropBlk(sup[a], b);
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25307 |                       if (feasible(G[a], cand[a])) {
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25308 |                         std::vector<arma::vec> th;
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~
25309 |                         ++gTest[gi];
      |                         ~~~~~~~~~~~~
25310 |                         double q = scoreOf(cand, &th);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25311 |                         if (R_FINITE(q) && (q < bestScore ||
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25312 |                                             (q == bestScore && have && vaeJointSelLess(cand, bestSup)))) {
      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25313 |                           have = true; bestScore = q; bestSup = cand; bestTh = th;
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25314 |                         }
      |                         ~
25315 |                       }
      |                       ~
25316 |                     }
      |                     ~ 
25317 |                   }
      |                   ~   
25318 |                 }
      |                 ~     
25319 |                 if (!have || !(bestScore < best)) break;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25320 |                 sup = bestSup; thCur = bestTh; best = bestScore;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25321 |                 moved = true; ++gMove[gi];
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~
25322 |               }
      |               ~       
25323 |               // Write back ONLY when something was accepted.  The joint refit is a
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25324 |               // GLS solve, not the per-dim OLS the loop ran, so re-deriving "the
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25325 |               // same" answer would differ in the last bits and perturb every
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25326 |               // downstream fit.  Only not writing guarantees the no-op.
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25327 |               if (!moved) return;
      |               ~~~~~~~~~~~~~~~~~~~
25328 |               for (size_t a = 0; a < G.size(); ++a) {
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25329 |                 const int k = G[a];
      |                 ~~~~~~~~~~~~~~~~~~~
25330 |                 if (thCur.size() <= a || thCur[a].n_elem == 0) continue;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25331 |                 double ic = thCur[a][0];
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~
25332 |                 if (R_FINITE(zPopLower[k]) && ic < zPopLower[k]) ic = zPopLower[k];
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25333 |                 if (R_FINITE(zPopUpper[k]) && ic > zPopUpper[k]) ic = zPopUpper[k];
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25334 |                 arma::vec th = thCur[a];
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~
25335 |                 th[0] = ic;
      |                 ~~~~~~~~~~~
25336 |                 intercept[k] = ic;
      |                 ~~~~~~~~~~~~~~~~~~
25337 |                 beta.row(k).zeros();
      |                 ~~~~~~~~~~~~~~~~~~~~
25338 |                 selected.row(k).zeros();
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~
25339 |                 for (size_t s2 = 0; s2 < sup[a].size(); ++s2) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25340 |                   beta(k, sup[a][s2]) = th[s2 + 1];
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25341 |                   selected(k, sup[a][s2]) = 1;
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25342 |                 }
      |                 ~     
25343 |                 zPopMat.col(k) = vaeJointZ(jc, sup[a]) * th;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25344 |                 // the near-tie report was computed against the support the
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25345 |                 // per-dim pass chose; this dim no longer has that support, and a
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25346 |                 // stale alternative is worse than none
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25347 |                 tieSel[(size_t)k].clear();
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~
25348 |                 tieMate[(size_t)k].clear();
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
25349 |                 tieDelta[(size_t)k].clear();
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25350 |                 // Same staleness, stronger consequence: selPrev is the hysteresis
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25351 |                 // INCUMBENT, and it still holds the support this pass just
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25352 |                 // overruled.  Left alone, the next iteration could adopt it back
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25353 |                 // -- a report going stale only misinforms, an incumbent going
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25354 |                 // stale changes the selection.  Dropping it (rather than
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25355 |                 // translating sup[a] into the per-dim REDUCED index space, whose
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25356 |                 // allow-mask and block-dropping map is local to that loop) means
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25357 |                 // the next iteration simply re-seeds from whatever it chooses,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25358 |                 // which is the same path the first iteration takes.
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25359 |                 selPrev[(size_t)k].clear();
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
25360 |                 selPrevSet[(size_t)k] = 0;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~
25361 |               }
      |               ~       
25362 |               } catch (...) {
      |               ~~~~~~~~~~~~~~~
25363 |                 // leave this group exactly as the per-dim pass left it
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25364 |               }
      |               ~       
25365 |             });
      |             ~~        
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 -DR_NO_REMAP -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 -DR_NO_REMAP -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 -DR_NO_REMAP -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 -DR_NO_REMAP -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 -DR_NO_REMAP -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
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG -DR_NO_REMAP -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:288:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
  288 |     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:288:162: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
  288 |     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:586:7: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
  586 |       for (int s = 0; s < neta; s++) D(l, s) = C.Tn(l, s, t); return D; };
      |       ^~~
foceiGrad.cpp:586:63: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
  586 |       for (int s = 0; s < neta; s++) D(l, s) = C.Tn(l, s, t); return D; };
      |                                                               ^~~~~~
foceiGrad.cpp:585:46: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
  585 |   auto dHD = [&](int t) { mat D(neta, neta); for (int l = 0; l < neta; l++)
      |                                              ^~~
foceiGrad.cpp:586:63: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
  586 |       for (int s = 0; s < neta; s++) D(l, s) = C.Tn(l, s, t); return D; };
      |                                                               ^~~~~~
foceiGrad.cpp: In lambda function:
foceiGrad.cpp:685:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
  685 |     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:685:95: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
  685 |     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:854:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
  854 |     for (int o = 0; o < nobs; o++) v += a(o, l) * a(o, m) * iR[o]; Ht(l, m) += v; }
      |     ^~~
foceiGrad.cpp:854:68: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
  854 |     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 = 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:761:12:   required from here
  761 |   nmForEach(nsub, ncores, ncores > 1, nmStatic, [&](int i) {
      |   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  762 |     try {
      |     ~~~~~   
  763 |       int o0 = obsOffset[i], o1 = obsOffset[i + 1] - 1;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  764 |       mat dvi = hasDv ? mat(dvSens.rows(o0, o1)) : mat(o1 - o0 + 1, 0);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  765 |       mat dv2i = hasDv ? mat(dvSens2.rows(o0, o1)) : mat(o1 - o0 + 1, 0);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  766 |       ivec censi = hasCens ? ivec(censv.subvec(o0, o1)) : ivec();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  767 |       vec limi = hasCens ? vec(limv.subvec(o0, o1)) : vec();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  768 |       Rall.slice(i) = foceiRSubjectFR_(a.rows(o0, o1), A.rows(o0, o1), Ath.rows(o0, o1),
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  769 |                                        aR.rows(o0, o1), AR.rows(o0, o1), AthR.rows(o0, o1), dvi, dv2i, censi, limi,
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  770 |                                        fv.subvec(o0, o1), yv.subvec(o0, o1), Rv.subvec(o0, o1),
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  771 |                                        ehat.row(i).t(), Oi, dOi, d2Oi, d2LD,
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  772 |                                        neta, ndir, ndirP, nom, dirP);
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  773 |     } catch (...) {
      |     ~~~~~~~~~~~~~~~
  774 |       Rall.slice(i).fill(datum::nan);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  775 |     }
      |     ~       
  776 |   });
      |   ~~        
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:968:12:   required from here
  968 |   nmForEach(nsub, ncores, ncores > 1, nmStatic, [&](int i) {
      |   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |     try {
      |     ~~~~~   
  970 |       int o0 = obsOffset[i], o1 = obsOffset[i + 1] - 1;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  971 |       mat dvi = hasDv ? mat(dvSens.rows(o0, o1)) : mat(o1 - o0 + 1, 0);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  972 |       mat dv2i = hasDv ? mat(dvSens2.rows(o0, o1)) : mat(o1 - o0 + 1, 0);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  973 |       ivec censi = hasCens ? ivec(censv.subvec(o0, o1)) : ivec();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  974 |       vec limi = hasCens ? vec(limv.subvec(o0, o1)) : vec();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  975 |       Rall.slice(i) = foceiRSubjectFoceFR_(a.rows(o0, o1), A.rows(o0, o1), Ath.rows(o0, o1),
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  976 |                                            aRe.rows(o0, o1), aRc.rows(o0, o1), ARe.rows(o0, o1), ARc.rows(o0, o1), dvi, dv2i,
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  977 |                                            censi, limi, fv.subvec(o0, o1), yv.subvec(o0, o1), R0v.subvec(o0, o1),
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  978 |                                            ehat.row(i).t(), Oi, dOi, d2Oi, d2LD,
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  979 |                                            neta, ndir, ndirP, nom, dirP);
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  980 |     } catch (...) {
      |     ~~~~~~~~~~~~~~~
  981 |       Rall.slice(i).fill(datum::nan);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  982 |     }
      |     ~       
  983 |   });
      |   ~~        
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 -DR_NO_REMAP -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 -DR_NO_REMAP -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 -DR_NO_REMAP -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
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);
      |            ^~~~~~~~~~
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG -DR_NO_REMAP -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
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG -DR_NO_REMAP -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
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 -DR_NO_REMAP -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 -DR_NO_REMAP -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
g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG -DR_NO_REMAP -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
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:461:14:   required from here
  461 |     nmForEach(_nid, _cores, _doParallel, [&](int _curid) {
      |     ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  462 |       unsigned int curid = (unsigned int)_curid;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  463 |       // A C++ exception must never escape this OMP region -- doing so calls
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  464 |       // std::terminate() and aborts R. Any per-subject numerical failure (e.g. a
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  465 |       // degenerate simulated covariance) is caught here and that subject's npde
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  466 |       // is set NA instead.
      |       ~~~~~~~~~~~~~~~~~~~~~
  467 |       try {
      |       ~~~~~   
  468 |         calcNpdeInfoId idInfo = calcNpdeId(idLoc, sim, dvt, evid, cens, limit, censMethod, doLimit, curid, K, tolChol, ties, ru, ru2, ru3,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  469 |                                            lambda, yj, hi, low);
      |                                            ~~~~~~~~~~~~~~~~~~~~~
  470 |         npde(span(idLoc[curid], idLoc[curid+1]-1)) = idInfo.npde;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  471 |         npd(span(idLoc[curid], idLoc[curid+1]-1)) = idInfo.npd;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  472 |         pde(span(idLoc[curid], idLoc[curid+1]-1)) = idInfo.pd;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  473 |         pd(span(idLoc[curid], idLoc[curid+1]-1)) = idInfo.pd2;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  474 |         epred(span(idLoc[curid], idLoc[curid+1]-1)) = idInfo.epred;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  475 |         dvf(span(idLoc[curid], idLoc[curid+1]-1)) = idInfo.yobs;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  476 |         eres(span(idLoc[curid], idLoc[curid+1]-1)) = idInfo.eres;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  477 |         warn[curid] = idInfo.warn;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
  478 |       } catch (...) {
      |       ~~~~~~~~~~~~~~~
  479 |         npde(span(idLoc[curid], idLoc[curid+1]-1)).fill(NA_REAL);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  480 |         npd(span(idLoc[curid], idLoc[curid+1]-1)).fill(NA_REAL);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  481 |         pde(span(idLoc[curid], idLoc[curid+1]-1)).fill(NA_REAL);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  482 |         pd(span(idLoc[curid], idLoc[curid+1]-1)).fill(NA_REAL);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  483 |         epred(span(idLoc[curid], idLoc[curid+1]-1)).fill(NA_REAL);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  484 |         dvf(span(idLoc[curid], idLoc[curid+1]-1)).fill(NA_REAL);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  485 |         eres(span(idLoc[curid], idLoc[curid+1]-1)).fill(NA_REAL);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  486 |         warn[curid] = NPDE_NPD;
      |         ~~~~~~~~~~~~~~~~~~~~~~~
  487 |       }
      |       ~       
  488 |     });
      |     ~~        
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 -DR_NO_REMAP -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 -DR_NO_REMAP -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 -DR_NO_REMAP -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 -DR_NO_REMAP -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 -DR_NO_REMAP -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 -DR_NO_REMAP -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 -DR_NO_REMAP -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 -DR_NO_REMAP -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 -DR_NO_REMAP -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
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 -DR_NO_REMAP -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
gcc -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG -DR_NO_REMAP -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 -DR_NO_REMAP -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 -DR_NO_REMAP -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 covShortcut.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 RcppExportMod.o RcppExports.o rxcmp.o vaeEncoder.o init.o rprintf.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)