Diff of the two buildlogs:

--
--- b1/build.log	2024-12-06 00:57:55.819097793 +0000
+++ b2/build.log	2024-12-06 01:41:19.225307721 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Thu Dec  5 12:18:49 -12 2024
-I: pbuilder-time-stamp: 1733444329
+I: Current time: Fri Dec  6 14:58:06 +14 2024
+I: pbuilder-time-stamp: 1733446686
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz]
 I: copying local configuration
@@ -28,52 +28,84 @@
 dpkg-source: info: applying 0001-include-path.patch
 I: Not using root during the build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/6325/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/3267/tmp/hooks/D01_modify_environment starting
+debug: Running on virt64a.
+I: Changing host+domainname to test build reproducibility
+I: Adding a custom variable just for the fun of it...
+I: Changing /bin/sh to bash
+'/bin/sh' -> '/bin/bash'
+lrwxrwxrwx 1 root root 9 Dec  6 00:58 /bin/sh -> /bin/bash
+I: Setting pbuilder2's login shell to /bin/bash
+I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
+I: user script /srv/workspace/pbuilder/3267/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/3267/tmp/hooks/D02_print_environment starting
 I: set
-  BUILDDIR='/build/reproducible-path'
-  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
-  BUILDUSERNAME='pbuilder1'
-  BUILD_ARCH='armhf'
-  DEBIAN_FRONTEND='noninteractive'
-  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 '
-  DISTRIBUTION='unstable'
-  HOME='/root'
-  HOST_ARCH='armhf'
+  BASH=/bin/sh
+  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
+  BASH_ALIASES=()
+  BASH_ARGC=()
+  BASH_ARGV=()
+  BASH_CMDS=()
+  BASH_LINENO=([0]="12" [1]="0")
+  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
+  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
+  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf")
+  BASH_VERSION='5.2.37(1)-release'
+  BUILDDIR=/build/reproducible-path
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=armhf
+  DEBIAN_FRONTEND=noninteractive
+  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 '
+  DIRSTACK=()
+  DISTRIBUTION=unstable
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=arm
+  HOST_ARCH=armhf
   IFS=' 	
   '
-  INVOCATION_ID='01d95a8872df4c14a33426314f27225e'
-  LANG='C'
-  LANGUAGE='en_US:en'
-  LC_ALL='C'
-  MAIL='/var/mail/root'
-  OPTIND='1'
-  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
-  PBCURRENTCOMMANDLINEOPERATION='build'
-  PBUILDER_OPERATION='build'
-  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
-  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
-  PBUILDER_SYSCONFDIR='/etc'
-  PPID='6325'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=4c56df8c708340139c25e63f8709e801
+  LANG=C
+  LANGUAGE=it_CH:it
+  LC_ALL=C
+  MACHTYPE=arm-unknown-linux-gnueabihf
+  MAIL=/var/mail/root
+  OPTERR=1
+  OPTIND=1
+  OSTYPE=linux-gnueabihf
+  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
+  PBCURRENTCOMMANDLINEOPERATION=build
+  PBUILDER_OPERATION=build
+  PBUILDER_PKGDATADIR=/usr/share/pbuilder
+  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
+  PBUILDER_SYSCONFDIR=/etc
+  PIPESTATUS=([0]="0")
+  POSIXLY_CORRECT=y
+  PPID=3267
   PS4='+ '
-  PWD='/'
-  SHELL='/bin/bash'
-  SHLVL='2'
-  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.OKVeAriZ/pbuilderrc_XuNf --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.OKVeAriZ/b1 --logfile b1/build.log ensmallen_2.22.1-1.dsc'
-  SUDO_GID='110'
-  SUDO_UID='103'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://10.0.0.15:3142/'
+  PWD=/
+  SHELL=/bin/bash
+  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
+  SHLVL=3
+  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.OKVeAriZ/pbuilderrc_V54N --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.OKVeAriZ/b2 --logfile b2/build.log ensmallen_2.22.1-1.dsc'
+  SUDO_GID=114
+  SUDO_UID=108
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  _='I: set'
+  http_proxy=http://10.0.0.15:3142/
 I: uname -a
-  Linux virt32z 6.1.0-28-armmp-lpae #1 SMP Debian 6.1.119-1 (2024-11-22) armv7l GNU/Linux
+  Linux i-capture-the-hostname 6.1.0-28-arm64 #1 SMP Debian 6.1.119-1 (2024-11-22) aarch64 GNU/Linux
 I: ls -l /bin
   lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/6325/tmp/hooks/D02_print_environment finished
+I: user script /srv/workspace/pbuilder/3267/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -224,7 +256,7 @@
 Get: 107 http://deb.debian.org/debian unstable/main armhf libsuperlu7 armhf 7.0.0+dfsg1-2 [142 kB]
 Get: 108 http://deb.debian.org/debian unstable/main armhf libsuperlu-dev armhf 7.0.0+dfsg1-2 [21.9 kB]
 Get: 109 http://deb.debian.org/debian unstable/main armhf libarmadillo-dev armhf 1:14.2.1+dfsg-1 [414 kB]
-Fetched 51.6 MB in 1s (62.4 MB/s)
+Fetched 51.6 MB in 1s (46.2 MB/s)
 debconf: delaying package configuration, since apt-utils is not installed
 Selecting previously unselected package libproc2-0:armhf.
 (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19683 files and directories currently installed.)
@@ -680,7 +712,11 @@
 Building tag database...
  -> Finished parsing the build-deps
 I: Building the package
-I: Running cd /build/reproducible-path/ensmallen-2.22.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../ensmallen_2.22.1-1_source.changes
+I: user script /srv/workspace/pbuilder/3267/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for unstable
+I: user script /srv/workspace/pbuilder/3267/tmp/hooks/A99_set_merged_usr finished
+hostname: Name or service not known
+I: Running cd /build/reproducible-path/ensmallen-2.22.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../ensmallen_2.22.1-1_source.changes
 dpkg-buildpackage: info: source package ensmallen
 dpkg-buildpackage: info: source version 2.22.1-1
 dpkg-buildpackage: info: source distribution unstable
@@ -725,7 +761,7 @@
 -- Found Threads: TRUE
 -- Found Armadillo: /usr/lib/libarmadillo.so (found suitable version "14.2.1", minimum required is "10.8.2")
 -- Armadillo libraries: /usr/lib/libarmadillo.so
--- Configuring done (1.7s)
+-- Configuring done (1.8s)
 -- Generating done (0.0s)
 CMake Warning:
   Manually-specified variables were not used by the project:
@@ -742,7 +778,7 @@
 -- Build files have been written to: /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf
 make[1]: Leaving directory '/build/reproducible-path/ensmallen-2.22.1'
    dh_auto_build
-	cd obj-arm-linux-gnueabihf && make -j3 "INSTALL=install --strip-program=true" VERBOSE=1
+	cd obj-arm-linux-gnueabihf && make -j4 "INSTALL=install --strip-program=true" VERBOSE=1
 make[1]: Entering directory '/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf'
 /usr/bin/cmake -S/build/reproducible-path/ensmallen-2.22.1 -B/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf --check-build-system CMakeFiles/Makefile.cmake 0
 /usr/bin/cmake -E cmake_progress_start /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/CMakeFiles /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf//CMakeFiles/progress.marks
@@ -755,7 +791,7 @@
    debian/rules execute_after_dh_auto_build
 make[1]: Entering directory '/build/reproducible-path/ensmallen-2.22.1'
 dh_auto_build -- ensmallen_tests
-	cd obj-arm-linux-gnueabihf && make -j3 "INSTALL=install --strip-program=true" ensmallen_tests VERBOSE=1
+	cd obj-arm-linux-gnueabihf && make -j4 "INSTALL=install --strip-program=true" ensmallen_tests VERBOSE=1
 make[2]: Entering directory '/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf'
 /usr/bin/cmake -S/build/reproducible-path/ensmallen-2.22.1 -B/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf --check-build-system CMakeFiles/Makefile.cmake 0
 make  -f CMakeFiles/Makefile2 ensmallen_tests
@@ -770,12 +806,202 @@
 make[5]: Leaving directory '/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf'
 make  -f tests/CMakeFiles/ensmallen_tests.dir/build.make tests/CMakeFiles/ensmallen_tests.dir/build
 make[5]: Entering directory '/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf'
-[  1%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/main.cpp.o
+[  3%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/ada_bound_test.cpp.o
+[  3%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/main.cpp.o
 cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/main.cpp.o -MF CMakeFiles/ensmallen_tests.dir/main.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/main.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/main.cpp
-[  3%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/ada_belief_test.cpp.o
-[  5%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/active_cmaes_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/active_cmaes_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/active_cmaes_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/active_cmaes_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/active_cmaes_test.cpp
+[  7%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/ada_belief_test.cpp.o
+[  7%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/active_cmaes_test.cpp.o
 cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/ada_belief_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/ada_belief_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/ada_belief_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/ada_belief_test.cpp
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/active_cmaes_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/active_cmaes_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/active_cmaes_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/active_cmaes_test.cpp
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/ada_bound_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/ada_bound_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/ada_bound_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp
+In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
+                 from /build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp:11:
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::SpMat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:117:36:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::SpMat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
+  116 |     return optimizer.template Optimize<DecomposableFunctionType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  117 |         GradType, CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  118 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp:79:59:   required from here
+   79 |   optimizer.Optimize<decltype(f), arma::sp_mat, arma::mat>(f, coordinates);
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::AdaBoundUpdate::Policy<arma::SpMat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::SpMat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:117:36:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::SpMat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
+  116 |     return optimizer.template Optimize<DecomposableFunctionType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  117 |         GradType, CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  118 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp:106:59:   required from here
+  106 |   optimizer.Optimize<decltype(f), arma::sp_mat, arma::mat>(f, coordinates);
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::AMSBoundUpdate::Policy<arma::SpMat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:117:36:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
+  116 |     return optimizer.template Optimize<DecomposableFunctionType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  117 |         GradType, CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  118 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:130:26:   required from 'typename MatType::elem_type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = double]'
+  129 |     return Optimize<DecomposableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  130 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  131 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:110:46:   required from 'bool TestOptimizer(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, bool) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AdaBoundUpdate>; PointType = arma::Mat<double>]'
+  110 |   const double objective = optimizer.Optimize(f, point);
+      |                            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:152:32:   required from 'void MultipleTrialOptimizerTest(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, size_t) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AdaBoundUpdate>; PointType = arma::Mat<double>; size_t = unsigned int]'
+  152 |     bool result = TestOptimizer(f, optimizer, coordinates, expectedResult,
+      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  153 |         coordinateMargin, expectedObjective, objectiveMargin,
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  154 |         (t == (trials - 1)));
+      |         ~~~~~~~~~~~~~~~~~~~~    
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:176:29:   required from 'void FunctionTest(OptimizerType&, double, double, size_t) [with FunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; OptimizerType = ens::AdaBoundType<ens::AdaBoundUpdate>; size_t = unsigned int]'
+  176 |   MultipleTrialOptimizerTest(f, optimizer, initialPoint, expectedResult,
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  177 |       coordinateMargin, f.GetFinalObjective(), objectiveMargin, trials);
+      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp:25:31:   required from here
+   25 |   FunctionTest<SphereFunction>(optimizer, 0.5, 0.1);
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::AdaBoundUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:117:36:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]'
+  116 |     return optimizer.template Optimize<DecomposableFunctionType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  117 |         GradType, CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  118 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:130:26:   required from 'typename MatType::elem_type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = float]'
+  129 |     return Optimize<DecomposableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  130 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  131 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:110:46:   required from 'bool TestOptimizer(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, bool) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AdaBoundUpdate>; PointType = arma::Mat<float>]'
+  110 |   const double objective = optimizer.Optimize(f, point);
+      |                            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:152:32:   required from 'void MultipleTrialOptimizerTest(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, size_t) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AdaBoundUpdate>; PointType = arma::Mat<float>; size_t = unsigned int]'
+  152 |     bool result = TestOptimizer(f, optimizer, coordinates, expectedResult,
+      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  153 |         coordinateMargin, expectedObjective, objectiveMargin,
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  154 |         (t == (trials - 1)));
+      |         ~~~~~~~~~~~~~~~~~~~~    
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:176:29:   required from 'void FunctionTest(OptimizerType&, double, double, size_t) [with FunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; OptimizerType = ens::AdaBoundType<ens::AdaBoundUpdate>; size_t = unsigned int]'
+  176 |   MultipleTrialOptimizerTest(f, optimizer, initialPoint, expectedResult,
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  177 |       coordinateMargin, f.GetFinalObjective(), objectiveMargin, trials);
+      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp:35:43:   required from here
+   35 |   FunctionTest<SphereFunction, arma::fmat>(optimizer, 0.5, 0.1);
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::AdaBoundUpdate::Policy<arma::Mat<float>, arma::Mat<float> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:117:36:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
+  116 |     return optimizer.template Optimize<DecomposableFunctionType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  117 |         GradType, CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  118 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:130:26:   required from 'typename MatType::elem_type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = double]'
+  129 |     return Optimize<DecomposableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  130 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  131 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:110:46:   required from 'bool TestOptimizer(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, bool) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AMSBoundUpdate>; PointType = arma::Mat<double>]'
+  110 |   const double objective = optimizer.Optimize(f, point);
+      |                            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:152:32:   required from 'void MultipleTrialOptimizerTest(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, size_t) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AMSBoundUpdate>; PointType = arma::Mat<double>; size_t = unsigned int]'
+  152 |     bool result = TestOptimizer(f, optimizer, coordinates, expectedResult,
+      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  153 |         coordinateMargin, expectedObjective, objectiveMargin,
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  154 |         (t == (trials - 1)));
+      |         ~~~~~~~~~~~~~~~~~~~~    
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:176:29:   required from 'void FunctionTest(OptimizerType&, double, double, size_t) [with FunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; OptimizerType = ens::AdaBoundType<ens::AMSBoundUpdate>; size_t = unsigned int]'
+  176 |   MultipleTrialOptimizerTest(f, optimizer, initialPoint, expectedResult,
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  177 |       coordinateMargin, f.GetFinalObjective(), objectiveMargin, trials);
+      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp:45:42:   required from here
+   45 |   FunctionTest<SphereFunction, arma::mat>(optimizer, 0.5, 0.1);
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::AMSBoundUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:117:36:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]'
+  116 |     return optimizer.template Optimize<DecomposableFunctionType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  117 |         GradType, CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  118 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:130:26:   required from 'typename MatType::elem_type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = float]'
+  129 |     return Optimize<DecomposableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  130 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  131 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:110:46:   required from 'bool TestOptimizer(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, bool) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AMSBoundUpdate>; PointType = arma::Mat<float>]'
+  110 |   const double objective = optimizer.Optimize(f, point);
+      |                            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:152:32:   required from 'void MultipleTrialOptimizerTest(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, size_t) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AMSBoundUpdate>; PointType = arma::Mat<float>; size_t = unsigned int]'
+  152 |     bool result = TestOptimizer(f, optimizer, coordinates, expectedResult,
+      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  153 |         coordinateMargin, expectedObjective, objectiveMargin,
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  154 |         (t == (trials - 1)));
+      |         ~~~~~~~~~~~~~~~~~~~~    
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:176:29:   required from 'void FunctionTest(OptimizerType&, double, double, size_t) [with FunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; OptimizerType = ens::AdaBoundType<ens::AMSBoundUpdate>; size_t = unsigned int]'
+  176 |   MultipleTrialOptimizerTest(f, optimizer, initialPoint, expectedResult,
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  177 |       coordinateMargin, f.GetFinalObjective(), objectiveMargin, trials);
+      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp:55:43:   required from here
+   55 |   FunctionTest<SphereFunction, arma::fmat>(optimizer, 0.5, 0.1);
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::AMSBoundUpdate::Policy<arma::Mat<float>, arma::Mat<float> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
 In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
@@ -946,6 +1172,13 @@
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+In file included from /usr/include/c++/14/map:62,
+                 from /usr/include/armadillo:49,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35:
+/usr/include/c++/14/bits/stl_tree.h: In function 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(const_iterator, const key_type&) [with _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
+/usr/include/c++/14/bits/stl_tree.h:2206:5: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+ 2206 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
+      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 In file included from /usr/include/c++/14/bits/stl_algo.h:61,
                  from /usr/include/c++/14/algorithm:61,
                  from /usr/include/armadillo:45,
@@ -971,8 +1204,10 @@
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
 /usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
 /usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
-[  7%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/ada_bound_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/ada_bound_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/ada_bound_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/ada_bound_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp
+[  9%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/ada_delta_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/ada_delta_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/ada_delta_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/ada_delta_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/ada_delta_test.cpp
+[ 10%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/ada_grad_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/ada_grad_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/ada_grad_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/ada_grad_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/ada_grad_test.cpp
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
 /usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1876 |     __introsort_loop(_RandomAccessIterator __first,
@@ -1032,203 +1267,6 @@
 In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
-                 from /build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp:11:
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::SpMat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:117:36:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::SpMat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
-  116 |     return optimizer.template Optimize<DecomposableFunctionType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  117 |         GradType, CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  118 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp:79:59:   required from here
-   79 |   optimizer.Optimize<decltype(f), arma::sp_mat, arma::mat>(f, coordinates);
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::AdaBoundUpdate::Policy<arma::SpMat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::SpMat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:117:36:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::SpMat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
-  116 |     return optimizer.template Optimize<DecomposableFunctionType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  117 |         GradType, CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  118 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp:106:59:   required from here
-  106 |   optimizer.Optimize<decltype(f), arma::sp_mat, arma::mat>(f, coordinates);
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::AMSBoundUpdate::Policy<arma::SpMat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:117:36:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
-  116 |     return optimizer.template Optimize<DecomposableFunctionType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  117 |         GradType, CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  118 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:130:26:   required from 'typename MatType::elem_type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = double]'
-  129 |     return Optimize<DecomposableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  130 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  131 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:110:46:   required from 'bool TestOptimizer(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, bool) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AdaBoundUpdate>; PointType = arma::Mat<double>]'
-  110 |   const double objective = optimizer.Optimize(f, point);
-      |                            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:152:32:   required from 'void MultipleTrialOptimizerTest(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, size_t) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AdaBoundUpdate>; PointType = arma::Mat<double>; size_t = unsigned int]'
-  152 |     bool result = TestOptimizer(f, optimizer, coordinates, expectedResult,
-      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  153 |         coordinateMargin, expectedObjective, objectiveMargin,
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  154 |         (t == (trials - 1)));
-      |         ~~~~~~~~~~~~~~~~~~~~    
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:176:29:   required from 'void FunctionTest(OptimizerType&, double, double, size_t) [with FunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; OptimizerType = ens::AdaBoundType<ens::AdaBoundUpdate>; size_t = unsigned int]'
-  176 |   MultipleTrialOptimizerTest(f, optimizer, initialPoint, expectedResult,
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  177 |       coordinateMargin, f.GetFinalObjective(), objectiveMargin, trials);
-      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp:25:31:   required from here
-   25 |   FunctionTest<SphereFunction>(optimizer, 0.5, 0.1);
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::AdaBoundUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:117:36:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]'
-  116 |     return optimizer.template Optimize<DecomposableFunctionType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  117 |         GradType, CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  118 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:130:26:   required from 'typename MatType::elem_type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = float]'
-  129 |     return Optimize<DecomposableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  130 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  131 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:110:46:   required from 'bool TestOptimizer(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, bool) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AdaBoundUpdate>; PointType = arma::Mat<float>]'
-  110 |   const double objective = optimizer.Optimize(f, point);
-      |                            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:152:32:   required from 'void MultipleTrialOptimizerTest(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, size_t) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AdaBoundUpdate>; PointType = arma::Mat<float>; size_t = unsigned int]'
-  152 |     bool result = TestOptimizer(f, optimizer, coordinates, expectedResult,
-      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  153 |         coordinateMargin, expectedObjective, objectiveMargin,
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  154 |         (t == (trials - 1)));
-      |         ~~~~~~~~~~~~~~~~~~~~    
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:176:29:   required from 'void FunctionTest(OptimizerType&, double, double, size_t) [with FunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; OptimizerType = ens::AdaBoundType<ens::AdaBoundUpdate>; size_t = unsigned int]'
-  176 |   MultipleTrialOptimizerTest(f, optimizer, initialPoint, expectedResult,
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  177 |       coordinateMargin, f.GetFinalObjective(), objectiveMargin, trials);
-      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp:35:43:   required from here
-   35 |   FunctionTest<SphereFunction, arma::fmat>(optimizer, 0.5, 0.1);
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::AdaBoundUpdate::Policy<arma::Mat<float>, arma::Mat<float> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:117:36:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
-  116 |     return optimizer.template Optimize<DecomposableFunctionType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  117 |         GradType, CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  118 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:130:26:   required from 'typename MatType::elem_type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = double]'
-  129 |     return Optimize<DecomposableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  130 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  131 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:110:46:   required from 'bool TestOptimizer(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, bool) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AMSBoundUpdate>; PointType = arma::Mat<double>]'
-  110 |   const double objective = optimizer.Optimize(f, point);
-      |                            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:152:32:   required from 'void MultipleTrialOptimizerTest(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, size_t) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AMSBoundUpdate>; PointType = arma::Mat<double>; size_t = unsigned int]'
-  152 |     bool result = TestOptimizer(f, optimizer, coordinates, expectedResult,
-      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  153 |         coordinateMargin, expectedObjective, objectiveMargin,
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  154 |         (t == (trials - 1)));
-      |         ~~~~~~~~~~~~~~~~~~~~    
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:176:29:   required from 'void FunctionTest(OptimizerType&, double, double, size_t) [with FunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; OptimizerType = ens::AdaBoundType<ens::AMSBoundUpdate>; size_t = unsigned int]'
-  176 |   MultipleTrialOptimizerTest(f, optimizer, initialPoint, expectedResult,
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  177 |       coordinateMargin, f.GetFinalObjective(), objectiveMargin, trials);
-      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp:45:42:   required from here
-   45 |   FunctionTest<SphereFunction, arma::mat>(optimizer, 0.5, 0.1);
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::AMSBoundUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:117:36:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]'
-  116 |     return optimizer.template Optimize<DecomposableFunctionType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  117 |         GradType, CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  118 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:130:26:   required from 'typename MatType::elem_type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::AMSBoundUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = float]'
-  129 |     return Optimize<DecomposableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  130 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  131 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:110:46:   required from 'bool TestOptimizer(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, bool) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AMSBoundUpdate>; PointType = arma::Mat<float>]'
-  110 |   const double objective = optimizer.Optimize(f, point);
-      |                            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:152:32:   required from 'void MultipleTrialOptimizerTest(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, size_t) [with FunctionType = ens::test::SphereFunction; OptimizerType = ens::AdaBoundType<ens::AMSBoundUpdate>; PointType = arma::Mat<float>; size_t = unsigned int]'
-  152 |     bool result = TestOptimizer(f, optimizer, coordinates, expectedResult,
-      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  153 |         coordinateMargin, expectedObjective, objectiveMargin,
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  154 |         (t == (trials - 1)));
-      |         ~~~~~~~~~~~~~~~~~~~~    
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:176:29:   required from 'void FunctionTest(OptimizerType&, double, double, size_t) [with FunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; OptimizerType = ens::AdaBoundType<ens::AMSBoundUpdate>; size_t = unsigned int]'
-  176 |   MultipleTrialOptimizerTest(f, optimizer, initialPoint, expectedResult,
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  177 |       coordinateMargin, f.GetFinalObjective(), objectiveMargin, trials);
-      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/ada_bound_test.cpp:55:43:   required from here
-   55 |   FunctionTest<SphereFunction, arma::fmat>(optimizer, 0.5, 0.1);
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::AMSBoundUpdate::Policy<arma::Mat<float>, arma::Mat<float> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-[  9%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/ada_delta_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/ada_delta_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/ada_delta_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/ada_delta_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/ada_delta_test.cpp
-In file included from /usr/include/c++/14/map:62,
-                 from /usr/include/armadillo:49,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35:
-/usr/include/c++/14/bits/stl_tree.h: In function 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(const_iterator, const key_type&) [with _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
-/usr/include/c++/14/bits/stl_tree.h:2206:5: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
- 2206 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
-      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
                  from /build/reproducible-path/ensmallen-2.22.1/tests/ada_delta_test.cpp:14:
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AdaDeltaUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_delta/ada_delta.hpp:108:26:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdaDelta::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
@@ -1256,10 +1294,6 @@
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-[ 10%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/ada_grad_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/ada_grad_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/ada_grad_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/ada_grad_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/ada_grad_test.cpp
-[ 12%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/ada_sqrt_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/ada_sqrt_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/ada_sqrt_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/ada_sqrt_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/ada_sqrt_test.cpp
 In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
@@ -1316,6 +1350,8 @@
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+[ 12%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/ada_sqrt_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/ada_sqrt_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/ada_sqrt_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/ada_sqrt_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/ada_sqrt_test.cpp
 [ 14%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/adam_test.cpp.o
 cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/adam_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/adam_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/adam_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/adam_test.cpp
 In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
@@ -2148,8 +2184,6 @@
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
 [ 16%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/aug_lagrangian_test.cpp.o
 cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/aug_lagrangian_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/aug_lagrangian_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/aug_lagrangian_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/aug_lagrangian_test.cpp
-[ 18%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/bigbatch_sgd_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/bigbatch_sgd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/bigbatch_sgd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/bigbatch_sgd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/bigbatch_sgd_test.cpp
 In file included from /usr/include/c++/14/map:62,
                  from /usr/include/armadillo:49,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35:
@@ -2161,6 +2195,41 @@
 /usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
  2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+[ 18%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/bigbatch_sgd_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/bigbatch_sgd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/bigbatch_sgd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/bigbatch_sgd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/bigbatch_sgd_test.cpp
+[ 20%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/callbacks_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/callbacks_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/callbacks_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/callbacks_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/callbacks_test.cpp
+In file included from /usr/include/c++/14/bits/stl_algo.h:61,
+                 from /usr/include/c++/14/algorithm:61,
+                 from /usr/include/armadillo:45,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35,
+                 from /build/reproducible-path/ensmallen-2.22.1/tests/aug_lagrangian_test.cpp:16:
+/usr/include/c++/14/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Distance = int; _Tp = pair<double, unsigned int>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
+/usr/include/c++/14/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+  224 |     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
+      |     ^~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
+/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1770 |     __insertion_sort(_RandomAccessIterator __first,
+      |     ^~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+In file included from /usr/include/c++/14/map:62,
+                 from /usr/include/armadillo:49:
+/usr/include/c++/14/bits/stl_tree.h: In function 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(const_iterator, const key_type&) [with _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
+/usr/include/c++/14/bits/stl_tree.h:2206:5: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+ 2206 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
+      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
+/usr/include/c++/14/bits/stl_algo.h:1812:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1812 |     __final_insertion_sort(_RandomAccessIterator __first,
+      |     ^~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1812:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+/usr/include/c++/14/bits/stl_algo.h:1817:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1817 |           std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1822:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1822 |         std::__insertion_sort(__first, __last, __comp);
+      |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd.hpp:223,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:104,
                  from /build/reproducible-path/ensmallen-2.22.1/tests/bigbatch_sgd_test.cpp:12:
@@ -2202,37 +2271,6 @@
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd_impl.hpp:85:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd_impl.hpp:85:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-In file included from /usr/include/c++/14/bits/stl_algo.h:61,
-                 from /usr/include/c++/14/algorithm:61,
-                 from /usr/include/armadillo:45,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35,
-                 from /build/reproducible-path/ensmallen-2.22.1/tests/aug_lagrangian_test.cpp:16:
-/usr/include/c++/14/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Distance = int; _Tp = pair<double, unsigned int>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
-/usr/include/c++/14/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
-  224 |     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
-      |     ^~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
-/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1770 |     __insertion_sort(_RandomAccessIterator __first,
-      |     ^~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
-In file included from /usr/include/c++/14/map:62,
-                 from /usr/include/armadillo:49:
-/usr/include/c++/14/bits/stl_tree.h: In function 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(const_iterator, const key_type&) [with _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
-/usr/include/c++/14/bits/stl_tree.h:2206:5: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
- 2206 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
-      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
-/usr/include/c++/14/bits/stl_algo.h:1812:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1812 |     __final_insertion_sort(_RandomAccessIterator __first,
-      |     ^~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1812:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
-/usr/include/c++/14/bits/stl_algo.h:1817:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1817 |           std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1822:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1822 |         std::__insertion_sort(__first, __last, __comp);
-      |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
 /usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
  2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
@@ -2255,222 +2293,23 @@
       |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
   641 |                                              std::forward<_Args>(__args)...);
       |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from /usr/include/c++/14/bits/stl_algo.h:61,
-                 from /usr/include/c++/14/algorithm:61,
-                 from /usr/include/armadillo:45,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35:
-/usr/include/c++/14/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Distance = int; _Tp = pair<double, unsigned int>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
-/usr/include/c++/14/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
-  224 |     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
-      |     ^~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
-/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1770 |     __insertion_sort(_RandomAccessIterator __first,
-      |     ^~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
-In file included from /usr/include/c++/14/map:62,
-                 from /usr/include/armadillo:49:
-/usr/include/c++/14/bits/stl_tree.h: In function 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(const_iterator, const key_type&) [with _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
-/usr/include/c++/14/bits/stl_tree.h:2206:5: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
- 2206 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
-      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
-/usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1876 |     __introsort_loop(_RandomAccessIterator __first,
-      |     ^~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
-/usr/include/c++/14/bits/stl_algo.h:1890:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1890 |           std::__introsort_loop(__cut, __last, __depth_limit, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 0]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
-    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::retrieve_ritzpair() [with eT = double; int SelectionRule = 0; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:271:37:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
-    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::sort_ritzpair() [with eT = double; int SelectionRule = 7; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:318:49:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 4]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
-    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::retrieve_ritzpair() [with eT = double; int SelectionRule = 4; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:271:37:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 3]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
-    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::retrieve_ritzpair() [with eT = double; int SelectionRule = 3; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:271:37:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
-    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::retrieve_ritzpair() [with eT = double; int SelectionRule = 7; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:271:37:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
-/usr/include/c++/14/bits/stl_algo.h:1812:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1812 |     __final_insertion_sort(_RandomAccessIterator __first,
-      |     ^~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1812:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
-/usr/include/c++/14/bits/stl_algo.h:1817:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1817 |           std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1822:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1822 |         std::__insertion_sort(__first, __last, __comp);
-      |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
-    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::sort_ritzpair() [with eT = double; int SelectionRule = 0; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:318:49:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
-    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::sort_ritzpair() [with eT = double; int SelectionRule = 4; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:318:49:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
-    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::sort_ritzpair() [with eT = double; int SelectionRule = 3; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:318:49:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
-/usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
-In file included from /usr/include/c++/14/map:63:
-In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
-    inlined from 'void arma::MapMat<eT>::operator=(const arma::SpMat<eT>&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:169:27,
-    inlined from 'void arma::SpMat<eT>::sync_cache_simple() const [with eT = double]' at /usr/include/armadillo_bits/SpMat_meat.hpp:6773:16:
-/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
-  640 |           return _M_t._M_emplace_hint_unique(__pos,
-      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
-  641 |                                              std::forward<_Args>(__args)...);
-      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
-    inlined from 'void arma::SpMat_MapMat_val<eT>::add(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1417:33,
-    inlined from 'arma::SpMat_MapMat_val<eT>& arma::SpMat_MapMat_val<eT>::operator+=(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1211:16,
-    inlined from 'void ens::test::SphereFunction::Gradient(const MatType&, size_t, GradType&, size_t) const [with MatType = arma::SpMat<double>; GradType = arma::SpMat<double>]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/problems/sphere_function_impl.hpp:76:17:
-/usr/include/c++/14/bits/stl_map.h:513:44: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
-  513 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
-      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  514 |                                             std::tuple<const key_type&>(__k),
-      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  515 |                                             std::tuple<>());
-      |                                             ~~~~~~~~~~~~~~~
-In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
-    inlined from 'void arma::MapMat<eT>::set_val(arma::uword, const eT&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:796:27,
-    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1390:21:
-/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
-  640 |           return _M_t._M_emplace_hint_unique(__pos,
-      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
-  641 |                                              std::forward<_Args>(__args)...);
-      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
-    inlined from 'void arma::MapMat<eT>::set_val(arma::uword, const eT&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:800:25,
-    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1390:21:
-/usr/include/c++/14/bits/stl_map.h:513:44: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
-  513 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
-      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  514 |                                             std::tuple<const key_type&>(__k),
-      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  515 |                                             std::tuple<>());
-      |                                             ~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
-/usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
- 2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
-      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from /usr/include/c++/14/map:63:
-In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
-    inlined from 'void arma::MapMat<eT>::operator=(const arma::SpMat<eT>&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:169:27,
-    inlined from 'void arma::SpMat<eT>::sync_cache_simple() const [with eT = double]' at /usr/include/armadillo_bits/SpMat_meat.hpp:6773:16,
-    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1386:31:
-/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
-  640 |           return _M_t._M_emplace_hint_unique(__pos,
-      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
-  641 |                                              std::forward<_Args>(__args)...);
-      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
-    inlined from 'void arma::MapMat<eT>::set_val(arma::uword, const eT&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:796:27,
-    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1390:21:
-/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
-  640 |           return _M_t._M_emplace_hint_unique(__pos,
-      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
-  641 |                                              std::forward<_Args>(__args)...);
-      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-[ 20%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/callbacks_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/callbacks_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/callbacks_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/callbacks_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/callbacks_test.cpp
-[ 21%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/cd_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/cd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/cd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/cd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/cd_test.cpp
+In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/pso/pso.hpp:272,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:126,
+                 from /build/reproducible-path/ensmallen-2.22.1/tests/callbacks_test.cpp:11:
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/pso/pso_impl.hpp: In instantiation of 'typename MatType::elem_type ens::PSOType<VelocityUpdatePolicy, InitPolicy>::Optimize(ArbitraryFunctionType&, MatType&, CallbackTypes&& ...) [with ArbitraryFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; CallbackTypes = {CompleteCallbackTestFunction&}; VelocityUpdatePolicy = ens::LBestUpdate; InitPolicy = ens::DefaultInit; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/tests/callbacks_test.cpp:156:21:   required from 'void CallbacksFullFunctionTest(OptimizerType&, bool, bool, bool, bool, bool, bool, bool, bool, bool) [with OptimizerType = ens::PSOType<ens::LBestUpdate>]'
+  156 |   optimizer.Optimize(lr, coordinates, cb);
+      |   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/callbacks_test.cpp:584:28:   required from here
+  584 |   CallbacksFullFunctionTest(optimizer, true, false, false, false, true, true,
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  585 |       false, false, true);
+      |       ~~~~~~~~~~~~~~~~~~~   
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/pso/pso_impl.hpp:78:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::LBestUpdate::Policy<arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+   78 |         new InstUpdatePolicyType(velocityUpdatePolicy));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/pso/pso_impl.hpp:78:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/pso/pso_impl.hpp:78:9: note: use '-faligned-new' to enable C++17 over-aligned new support
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
 /usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
  1876 |     __introsort_loop(_RandomAccessIterator __first,
@@ -2493,6 +2332,32 @@
 /usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
  1908 |           std::__final_insertion_sort(__first, __last, __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94:
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {ens::EarlyStopAtMinLossType<arma::Mat<double> >&}; UpdatePolicyType = ens::SMORMS3Update; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/smorms3/smorms3.hpp:104:26:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SMORMS3::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {ens::EarlyStopAtMinLossType<arma::Mat<double> >&}; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
+  103 |     return optimizer.Optimize<SeparableFunctionType, MatType, GradType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  104 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  105 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/smorms3/smorms3.hpp:117:26:   required from 'typename MatType::elem_type ens::SMORMS3::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; CallbackTypes = {ens::EarlyStopAtMinLossType<arma::Mat<double> >&}; typename MatType::elem_type = double]'
+  116 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  117 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  118 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/callbacks_test.cpp:252:19:   required from here
+  252 |   smorms3.Optimize(f, coordinates, cb);
+      |   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::SMORMS3Update::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
 In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
     inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
     inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
@@ -2507,6 +2372,29 @@
 /usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
  1908 |           std::__final_insertion_sort(__first, __last, __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd.hpp:223,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:104:
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::BigBatchSGD<UpdatePolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {CompleteCallbackTestFunction&}; UpdatePolicyType = ens::AdaptiveStepsize; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd.hpp:143:26:   required from 'typename MatType::elem_type ens::BigBatchSGD<UpdatePolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; CallbackTypes = {CompleteCallbackTestFunction&}; UpdatePolicyType = ens::AdaptiveStepsize; typename MatType::elem_type = double]'
+  142 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  143 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  144 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/callbacks_test.cpp:156:21:   required from 'void CallbacksFullFunctionTest(OptimizerType&, bool, bool, bool, bool, bool, bool, bool, bool, bool) [with OptimizerType = ens::BigBatchSGD<ens::AdaptiveStepsize>]'
+  156 |   optimizer.Optimize(lr, coordinates, cb);
+      |   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/callbacks_test.cpp:317:28:   required from here
+  317 |   CallbacksFullFunctionTest(optimizer, true, true, true, true, true, true,
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  318 |       false, false, true);
+      |       ~~~~~~~~~~~~~~~~~~~   
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd_impl.hpp:85:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::AdaptiveStepsize::Policy<arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+   85 |         new InstUpdatePolicyType(updatePolicy));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd_impl.hpp:85:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd_impl.hpp:85:9: note: use '-faligned-new' to enable C++17 over-aligned new support
 In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
     inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
     inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 4]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
@@ -2549,114 +2437,6 @@
 /usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
  1908 |           std::__final_insertion_sort(__first, __last, __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
-    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::sort_ritzpair() [with eT = double; int SelectionRule = 0; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:318:49:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
-    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::sort_ritzpair() [with eT = double; int SelectionRule = 4; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:318:49:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
-    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::sort_ritzpair() [with eT = double; int SelectionRule = 3; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:318:49:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/pso/pso.hpp:272,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:126,
-                 from /build/reproducible-path/ensmallen-2.22.1/tests/callbacks_test.cpp:11:
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/pso/pso_impl.hpp: In instantiation of 'typename MatType::elem_type ens::PSOType<VelocityUpdatePolicy, InitPolicy>::Optimize(ArbitraryFunctionType&, MatType&, CallbackTypes&& ...) [with ArbitraryFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; CallbackTypes = {CompleteCallbackTestFunction&}; VelocityUpdatePolicy = ens::LBestUpdate; InitPolicy = ens::DefaultInit; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/tests/callbacks_test.cpp:156:21:   required from 'void CallbacksFullFunctionTest(OptimizerType&, bool, bool, bool, bool, bool, bool, bool, bool, bool) [with OptimizerType = ens::PSOType<ens::LBestUpdate>]'
-  156 |   optimizer.Optimize(lr, coordinates, cb);
-      |   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/callbacks_test.cpp:584:28:   required from here
-  584 |   CallbacksFullFunctionTest(optimizer, true, false, false, false, true, true,
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  585 |       false, false, true);
-      |       ~~~~~~~~~~~~~~~~~~~   
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/pso/pso_impl.hpp:78:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::LBestUpdate::Policy<arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-   78 |         new InstUpdatePolicyType(velocityUpdatePolicy));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/pso/pso_impl.hpp:78:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/pso/pso_impl.hpp:78:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94:
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {ens::EarlyStopAtMinLossType<arma::Mat<double> >&}; UpdatePolicyType = ens::SMORMS3Update; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/smorms3/smorms3.hpp:104:26:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SMORMS3::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {ens::EarlyStopAtMinLossType<arma::Mat<double> >&}; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
-  103 |     return optimizer.Optimize<SeparableFunctionType, MatType, GradType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  104 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  105 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/smorms3/smorms3.hpp:117:26:   required from 'typename MatType::elem_type ens::SMORMS3::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; CallbackTypes = {ens::EarlyStopAtMinLossType<arma::Mat<double> >&}; typename MatType::elem_type = double]'
-  116 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  117 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  118 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/callbacks_test.cpp:252:19:   required from here
-  252 |   smorms3.Optimize(f, coordinates, cb);
-      |   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::SMORMS3Update::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd.hpp:223,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:104:
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::BigBatchSGD<UpdatePolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {CompleteCallbackTestFunction&}; UpdatePolicyType = ens::AdaptiveStepsize; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd.hpp:143:26:   required from 'typename MatType::elem_type ens::BigBatchSGD<UpdatePolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; CallbackTypes = {CompleteCallbackTestFunction&}; UpdatePolicyType = ens::AdaptiveStepsize; typename MatType::elem_type = double]'
-  142 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  143 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  144 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/callbacks_test.cpp:156:21:   required from 'void CallbacksFullFunctionTest(OptimizerType&, bool, bool, bool, bool, bool, bool, bool, bool, bool) [with OptimizerType = ens::BigBatchSGD<ens::AdaptiveStepsize>]'
-  156 |   optimizer.Optimize(lr, coordinates, cb);
-      |   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/callbacks_test.cpp:317:28:   required from here
-  317 |   CallbacksFullFunctionTest(optimizer, true, true, true, true, true, true,
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  318 |       false, false, true);
-      |       ~~~~~~~~~~~~~~~~~~~   
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd_impl.hpp:85:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::AdaptiveStepsize::Policy<arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-   85 |         new InstUpdatePolicyType(updatePolicy));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd_impl.hpp:85:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd_impl.hpp:85:9: note: use '-faligned-new' to enable C++17 over-aligned new support
 In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/spalera_sgd/spalera_sgd.hpp:260,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:142:
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/spalera_sgd/spalera_sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SPALeRASGD<DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {CompleteCallbackTestFunction&}; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
@@ -2682,6 +2462,20 @@
       |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/spalera_sgd/spalera_sgd_impl.hpp:132:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/spalera_sgd/spalera_sgd_impl.hpp:132:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
+    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::sort_ritzpair() [with eT = double; int SelectionRule = 0; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:318:49:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SGDTestFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {ens::TimerStop}; UpdatePolicyType = ens::AdamUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/adam/adam.hpp:130:68:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdamType<UpdateRule>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SGDTestFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {ens::TimerStop}; UpdateRule = ens::AdamUpdate; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
   129 |     return optimizer.template Optimize<
@@ -2705,6 +2499,20 @@
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
+    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::sort_ritzpair() [with eT = double; int SelectionRule = 4; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:318:49:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {ens::EarlyStopAtMinLossType<arma::Mat<double> >&}; UpdatePolicyType = ens::SMORMS3Update; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/smorms3/smorms3.hpp:104:26:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SMORMS3::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {ens::EarlyStopAtMinLossType<arma::Mat<double> >&}; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
   103 |     return optimizer.Optimize<SeparableFunctionType, MatType, GradType,
@@ -2731,6 +2539,20 @@
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
+    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::sort_ritzpair() [with eT = double; int SelectionRule = 3; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:318:49:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {CompleteCallbackTestFunction&}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_bound/ada_bound.hpp:117:36:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdaBoundType<UpdatePolicyType, DecayPolicyType>::Optimize(DecomposableFunctionType&, MatType&, CallbackTypes&& ...) [with DecomposableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {CompleteCallbackTestFunction&}; UpdatePolicyType = ens::AdaBoundUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
   116 |     return optimizer.template Optimize<DecomposableFunctionType, MatType,
@@ -3042,6 +2864,59 @@
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
+/usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+In file included from /usr/include/c++/14/map:63:
+In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
+    inlined from 'void arma::MapMat<eT>::operator=(const arma::SpMat<eT>&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:169:27,
+    inlined from 'void arma::SpMat<eT>::sync_cache_simple() const [with eT = double]' at /usr/include/armadillo_bits/SpMat_meat.hpp:6773:16:
+/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
+  640 |           return _M_t._M_emplace_hint_unique(__pos,
+      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
+  641 |                                              std::forward<_Args>(__args)...);
+      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from /usr/include/c++/14/bits/stl_algo.h:61,
+                 from /usr/include/c++/14/algorithm:61,
+                 from /usr/include/armadillo:45,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35:
+/usr/include/c++/14/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Distance = int; _Tp = pair<double, unsigned int>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
+/usr/include/c++/14/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+  224 |     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
+      |     ^~~~~~~~~~~~~
+In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
+    inlined from 'void arma::SpMat_MapMat_val<eT>::add(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1417:33,
+    inlined from 'arma::SpMat_MapMat_val<eT>& arma::SpMat_MapMat_val<eT>::operator+=(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1211:16,
+    inlined from 'void ens::test::SphereFunction::Gradient(const MatType&, size_t, GradType&, size_t) const [with MatType = arma::SpMat<double>; GradType = arma::SpMat<double>]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/problems/sphere_function_impl.hpp:76:17:
+/usr/include/c++/14/bits/stl_map.h:513:44: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+  513 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
+      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  514 |                                             std::tuple<const key_type&>(__k),
+      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  515 |                                             std::tuple<>());
+      |                                             ~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
+/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1770 |     __insertion_sort(_RandomAccessIterator __first,
+      |     ^~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
+    inlined from 'void arma::MapMat<eT>::set_val(arma::uword, const eT&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:796:27,
+    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1390:21:
+/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
+  640 |           return _M_t._M_emplace_hint_unique(__pos,
+      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
+  641 |                                              std::forward<_Args>(__args)...);
+      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
+    inlined from 'void arma::MapMat<eT>::set_val(arma::uword, const eT&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:800:25,
+    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1390:21:
+/usr/include/c++/14/bits/stl_map.h:513:44: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+  513 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
+      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  514 |                                             std::tuple<const key_type&>(__k),
+      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  515 |                                             std::tuple<>());
+      |                                             ~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::Function<ens::test::LogisticRegressionFunction<arma::Mat<double> >, arma::Mat<double>, arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {CompleteCallbackTestFunction&}; UpdatePolicyType = ens::AdamUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/adam/adam.hpp:130:68:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdamType<UpdateRule>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::Function<ens::test::LogisticRegressionFunction<arma::Mat<double> >, arma::Mat<double>, arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {CompleteCallbackTestFunction&}; UpdateRule = ens::AdamUpdate; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
   129 |     return optimizer.template Optimize<
@@ -3083,13 +2958,26 @@
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
 In file included from /usr/include/c++/14/map:62,
-                 from /usr/include/armadillo:49,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35,
-                 from /build/reproducible-path/ensmallen-2.22.1/tests/cd_test.cpp:13:
+                 from /usr/include/armadillo:49:
 /usr/include/c++/14/bits/stl_tree.h: In function 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(const_iterator, const key_type&) [with _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
 /usr/include/c++/14/bits/stl_tree.h:2206:5: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
  2206 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
+/usr/include/c++/14/bits/stl_algo.h:1812:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1812 |     __final_insertion_sort(_RandomAccessIterator __first,
+      |     ^~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1812:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+/usr/include/c++/14/bits/stl_algo.h:1817:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1817 |           std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1822:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1822 |         std::__insertion_sort(__first, __last, __comp);
+      |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+[ 21%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/cd_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/cd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/cd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/cd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/cd_test.cpp
+[ 23%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/cmaes_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/cmaes_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/cmaes_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/cmaes_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/cmaes_test.cpp
 /usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
 /usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
  2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
@@ -3112,10 +3000,6 @@
       |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
   641 |                                              std::forward<_Args>(__args)...);
       |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-[ 23%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/cmaes_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/cmaes_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/cmaes_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/cmaes_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/cmaes_test.cpp
-[ 25%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/cne_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/cne_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/cne_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/cne_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/cne_test.cpp
 In file included from /usr/include/c++/14/bits/stl_algo.h:61,
                  from /usr/include/c++/14/algorithm:61,
                  from /usr/include/armadillo:45,
@@ -3351,31 +3235,156 @@
   113 |     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
       |     ^~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type 'std::move_iterator<arma::Mat<double>*>' changed in GCC 7.1
-In file included from /usr/include/c++/14/bits/stl_algo.h:61,
-                 from /usr/include/c++/14/algorithm:61,
-                 from /usr/include/armadillo:45,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35,
-                 from /build/reproducible-path/ensmallen-2.22.1/tests/cne_test.cpp:13:
-/usr/include/c++/14/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Distance = int; _Tp = arma::arma_sort_index_packet<double>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
-/usr/include/c++/14/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
-  224 |     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
-      |     ^~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Distance = int; _Tp = arma::arma_sort_index_packet<double>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]':
-/usr/include/c++/14/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Val_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
-/usr/include/c++/14/bits/stl_algo.h:1750:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
- 1750 |     __unguarded_linear_insert(_RandomAccessIterator __last,
-      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Val_comp_iter<arma::arma_sort_index_helper_ascend<double> >]':
-/usr/include/c++/14/bits/stl_algo.h:1750:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]':
-/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
- 1770 |     __insertion_sort(_RandomAccessIterator __first,
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
+/usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1876 |     __introsort_loop(_RandomAccessIterator __first,
       |     ^~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
-/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
-/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
+/usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+/usr/include/c++/14/bits/stl_algo.h:1890:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1890 |           std::__introsort_loop(__cut, __last, __depth_limit, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 0]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
+    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::retrieve_ritzpair() [with eT = double; int SelectionRule = 0; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:271:37:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
+    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::sort_ritzpair() [with eT = double; int SelectionRule = 7; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:318:49:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 4]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
+    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::retrieve_ritzpair() [with eT = double; int SelectionRule = 4; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:271:37:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 3]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
+    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::retrieve_ritzpair() [with eT = double; int SelectionRule = 3; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:271:37:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
+    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::retrieve_ritzpair() [with eT = double; int SelectionRule = 7; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:271:37:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
+    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::sort_ritzpair() [with eT = double; int SelectionRule = 0; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:318:49:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
+    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::sort_ritzpair() [with eT = double; int SelectionRule = 4; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:318:49:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
+    inlined from 'void arma::newarp::SymEigsSolver<eT, SelectionRule, OpType>::sort_ritzpair() [with eT = double; int SelectionRule = 3; OpType = arma::newarp::SparseGenMatProd<double>]' at /usr/include/armadillo_bits/newarp_SymEigsSolver_meat.hpp:318:49:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from /usr/include/c++/14/map:62,
+                 from /usr/include/armadillo:49,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35,
+                 from /build/reproducible-path/ensmallen-2.22.1/tests/cd_test.cpp:13:
+/usr/include/c++/14/bits/stl_tree.h: In function 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(const_iterator, const key_type&) [with _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
+/usr/include/c++/14/bits/stl_tree.h:2206:5: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+ 2206 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
+      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
+/usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+ 2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
+      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from /usr/include/c++/14/map:63:
+In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
+    inlined from 'void arma::MapMat<eT>::operator=(const arma::SpMat<eT>&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:169:27,
+    inlined from 'void arma::SpMat<eT>::sync_cache_simple() const [with eT = double]' at /usr/include/armadillo_bits/SpMat_meat.hpp:6773:16,
+    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1386:31:
+/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
+  640 |           return _M_t._M_emplace_hint_unique(__pos,
+      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
+  641 |                                              std::forward<_Args>(__args)...);
+      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
+    inlined from 'void arma::MapMat<eT>::set_val(arma::uword, const eT&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:796:27,
+    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1390:21:
+/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
+  640 |           return _M_t._M_emplace_hint_unique(__pos,
+      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
+  641 |                                              std::forward<_Args>(__args)...);
+      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 In file included from /usr/include/c++/14/bits/stl_algo.h:61,
                  from /usr/include/c++/14/algorithm:61,
                  from /usr/include/armadillo:45,
@@ -3401,6 +3410,10 @@
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
 /usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
 /usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
+[ 25%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/cne_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/cne_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/cne_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/cne_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/cne_test.cpp
+[ 27%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/de_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/de_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/de_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/de_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/de_test.cpp
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]':
 /usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1876 |     __introsort_loop(_RandomAccessIterator __first,
@@ -3457,8 +3470,67 @@
 /usr/include/c++/14/bits/stl_algo.h:1822:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1822 |         std::__insertion_sort(__first, __last, __comp);
       |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-[ 27%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/de_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/de_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/de_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/de_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/de_test.cpp
+In file included from /usr/include/c++/14/bits/stl_algo.h:61,
+                 from /usr/include/c++/14/algorithm:61,
+                 from /usr/include/armadillo:45,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35,
+                 from /build/reproducible-path/ensmallen-2.22.1/tests/cne_test.cpp:13:
+/usr/include/c++/14/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Distance = int; _Tp = arma::arma_sort_index_packet<double>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
+/usr/include/c++/14/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
+  224 |     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
+      |     ^~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Distance = int; _Tp = arma::arma_sort_index_packet<double>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]':
+/usr/include/c++/14/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Val_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
+/usr/include/c++/14/bits/stl_algo.h:1750:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
+ 1750 |     __unguarded_linear_insert(_RandomAccessIterator __last,
+      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Val_comp_iter<arma::arma_sort_index_helper_ascend<double> >]':
+/usr/include/c++/14/bits/stl_algo.h:1750:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]':
+/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
+ 1770 |     __insertion_sort(_RandomAccessIterator __first,
+      |     ^~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
+/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
+/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
+In file included from /usr/include/c++/14/bits/stl_algobase.h:71:
+/usr/include/c++/14/bits/predefined_ops.h: In member function 'constexpr bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = __gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >; _Iterator2 = __gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >; _Compare = ens::NSGA2::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB, CompleteCallbackTestFunction&>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&, CompleteCallbackTestFunction&)::<lambda(BaseMatType, BaseMatType)>]':
+/usr/include/c++/14/bits/predefined_ops.h:157:9: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+  157 |         operator()(_Iterator1 __it1, _Iterator2 __it2)
+      |         ^~~~~~~~
+/usr/include/c++/14/bits/predefined_ops.h:157:9: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Val_comp_iter<ens::NSGA2::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB, CompleteCallbackTestFunction&>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&, CompleteCallbackTestFunction&)::<lambda(BaseMatType, BaseMatType)> >]':
+/usr/include/c++/14/bits/stl_algo.h:1750:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+ 1750 |     __unguarded_linear_insert(_RandomAccessIterator __last,
+      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::NSGA2::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB, CompleteCallbackTestFunction&>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&, CompleteCallbackTestFunction&)::<lambda(BaseMatType, BaseMatType)> >]':
+/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+ 1770 |     __insertion_sort(_RandomAccessIterator __first,
+      |     ^~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::NSGA2::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB, CompleteCallbackTestFunction&>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&, CompleteCallbackTestFunction&)::<lambda(BaseMatType, BaseMatType)> >]':
+/usr/include/c++/14/bits/stl_algo.h:1812:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+ 1812 |     __final_insertion_sort(_RandomAccessIterator __first,
+      |     ^~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1812:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+/usr/include/c++/14/bits/stl_algo.h:1817:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+ 1817 |           std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1822:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+ 1822 |         std::__insertion_sort(__first, __last, __comp);
+      |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'constexpr _FIter std::max_element(_FIter, _FIter) [with _FIter = __gnu_cxx::__normal_iterator<double*, vector<double> >]',
+    inlined from 'void ens::Report::EndOptimization(OptimizerType&, FunctionType&, MatType&) [with OptimizerType = ens::AugLagrangian; FunctionType = ens::test::AugLagrangianTestFunction; MatType = arma::Mat<double>]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/callbacks/report.hpp:213:34:
+/usr/include/c++/14/bits/stl_algo.h:5649:43: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<double*, std::vector<double> >' changed in GCC 7.1
+ 5649 |       return _GLIBCXX_STD_A::__max_element(__first, __last,
+      |                                           ^
+In function 'constexpr _FIter std::max_element(_FIter, _FIter) [with _FIter = __gnu_cxx::__normal_iterator<double*, vector<double> >]',
+    inlined from 'void ens::Report::EndOptimization(OptimizerType&, FunctionType&, MatType&) [with OptimizerType = ens::SGD<ens::VanillaUpdate>; FunctionType = ens::Function<ens::test::SGDTestFunction, arma::Mat<double>, arma::Mat<double> >; MatType = arma::Mat<double>]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/callbacks/report.hpp:213:34:
+/usr/include/c++/14/bits/stl_algo.h:5649:43: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<double*, std::vector<double> >' changed in GCC 7.1
+ 5649 |       return _GLIBCXX_STD_A::__max_element(__first, __last,
+      |                                           ^
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]':
 /usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1876 |     __introsort_loop(_RandomAccessIterator __first,
@@ -3515,42 +3587,6 @@
 /usr/include/c++/14/bits/stl_algo.h:1822:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1822 |         std::__insertion_sort(__first, __last, __comp);
       |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from /usr/include/c++/14/bits/stl_algobase.h:71:
-/usr/include/c++/14/bits/predefined_ops.h: In member function 'constexpr bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = __gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >; _Iterator2 = __gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >; _Compare = ens::NSGA2::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB, CompleteCallbackTestFunction&>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&, CompleteCallbackTestFunction&)::<lambda(BaseMatType, BaseMatType)>]':
-/usr/include/c++/14/bits/predefined_ops.h:157:9: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
-  157 |         operator()(_Iterator1 __it1, _Iterator2 __it2)
-      |         ^~~~~~~~
-/usr/include/c++/14/bits/predefined_ops.h:157:9: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Val_comp_iter<ens::NSGA2::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB, CompleteCallbackTestFunction&>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&, CompleteCallbackTestFunction&)::<lambda(BaseMatType, BaseMatType)> >]':
-/usr/include/c++/14/bits/stl_algo.h:1750:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
- 1750 |     __unguarded_linear_insert(_RandomAccessIterator __last,
-      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::NSGA2::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB, CompleteCallbackTestFunction&>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&, CompleteCallbackTestFunction&)::<lambda(BaseMatType, BaseMatType)> >]':
-/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
- 1770 |     __insertion_sort(_RandomAccessIterator __first,
-      |     ^~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::NSGA2::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB, CompleteCallbackTestFunction&>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&, CompleteCallbackTestFunction&)::<lambda(BaseMatType, BaseMatType)> >]':
-/usr/include/c++/14/bits/stl_algo.h:1812:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
- 1812 |     __final_insertion_sort(_RandomAccessIterator __first,
-      |     ^~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1812:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
-/usr/include/c++/14/bits/stl_algo.h:1817:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
- 1817 |           std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1822:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
- 1822 |         std::__insertion_sort(__first, __last, __comp);
-      |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'constexpr _FIter std::max_element(_FIter, _FIter) [with _FIter = __gnu_cxx::__normal_iterator<double*, vector<double> >]',
-    inlined from 'void ens::Report::EndOptimization(OptimizerType&, FunctionType&, MatType&) [with OptimizerType = ens::AugLagrangian; FunctionType = ens::test::AugLagrangianTestFunction; MatType = arma::Mat<double>]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/callbacks/report.hpp:213:34:
-/usr/include/c++/14/bits/stl_algo.h:5649:43: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<double*, std::vector<double> >' changed in GCC 7.1
- 5649 |       return _GLIBCXX_STD_A::__max_element(__first, __last,
-      |                                           ^
-In function 'constexpr _FIter std::max_element(_FIter, _FIter) [with _FIter = __gnu_cxx::__normal_iterator<double*, vector<double> >]',
-    inlined from 'void ens::Report::EndOptimization(OptimizerType&, FunctionType&, MatType&) [with OptimizerType = ens::SGD<ens::VanillaUpdate>; FunctionType = ens::Function<ens::test::SGDTestFunction, arma::Mat<double>, arma::Mat<double> >; MatType = arma::Mat<double>]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/callbacks/report.hpp:213:34:
-/usr/include/c++/14/bits/stl_algo.h:5649:43: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<double*, std::vector<double> >' changed in GCC 7.1
- 5649 |       return _GLIBCXX_STD_A::__max_element(__first, __last,
-      |                                           ^
 /usr/include/c++/14/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _ForwardIterator = arma::Mat<double>*]':
 /usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
   113 |     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
@@ -3617,6 +3653,10 @@
       |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
   641 |                                              std::forward<_Args>(__args)...);
       |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+[ 30%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/demon_sgd_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/demon_sgd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/demon_sgd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/demon_sgd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/demon_sgd_test.cpp
+[ 32%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/eve_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/eve_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/eve_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/eve_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/eve_test.cpp
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::NSGA2::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB, CompleteCallbackTestFunction&>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&, CompleteCallbackTestFunction&)::<lambda(BaseMatType, BaseMatType)> >]':
 /usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
  1876 |     __introsort_loop(_RandomAccessIterator __first,
@@ -3650,8 +3690,6 @@
 /usr/include/c++/14/bits/stl_algo.h:1890:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
  1890 |           std::__introsort_loop(__cut, __last, __depth_limit, __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-[ 30%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/demon_sgd_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/demon_sgd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/demon_sgd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/demon_sgd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/demon_sgd_test.cpp
 In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::NSGA2::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB, CompleteCallbackTestFunction&>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&, CompleteCallbackTestFunction&)::<lambda(BaseMatType, BaseMatType)> >]',
     inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = ens::NSGA2::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB, CompleteCallbackTestFunction&>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&, CompleteCallbackTestFunction&)::<lambda(BaseMatType, BaseMatType)>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
     inlined from 'typename MatType::elem_type ens::NSGA2::Optimize(std::tuple<_Elements ...>&, MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<double>; ArbitraryFunctionType = {ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB}; CallbackTypes = {CompleteCallbackTestFunction&}]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/nsga2/nsga2_impl.hpp:174:14,
@@ -4175,6 +4213,18 @@
 /usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
  2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from /usr/include/c++/14/map:62,
+                 from /usr/include/armadillo:49,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35,
+                 from /build/reproducible-path/ensmallen-2.22.1/tests/eve_test.cpp:13:
+/usr/include/c++/14/bits/stl_tree.h: In function 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(const_iterator, const key_type&) [with _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
+/usr/include/c++/14/bits/stl_tree.h:2206:5: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+ 2206 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
+      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_tree.h: In function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<const unsigned int&>, std::tuple<>}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
+/usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+ 2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
+      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
 /usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
 In file included from /usr/include/c++/14/map:63:
@@ -4186,17 +4236,6 @@
       |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
   641 |                                              std::forward<_Args>(__args)...);
       |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
-    inlined from 'void arma::SpMat_MapMat_val<eT>::add(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1417:33,
-    inlined from 'arma::SpMat_MapMat_val<eT>& arma::SpMat_MapMat_val<eT>::operator+=(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1211:16,
-    inlined from 'void ens::test::SphereFunction::Gradient(const MatType&, size_t, GradType&, size_t) const [with MatType = arma::SpMat<double>; GradType = arma::SpMat<double>]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/problems/sphere_function_impl.hpp:76:17:
-/usr/include/c++/14/bits/stl_map.h:513:44: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
-  513 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
-      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  514 |                                             std::tuple<const key_type&>(__k),
-      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  515 |                                             std::tuple<>());
-      |                                             ~~~~~~~~~~~~~~~
 In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
     inlined from 'void arma::MapMat<eT>::set_val(arma::uword, const eT&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:796:27,
     inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1390:21:
@@ -4215,24 +4254,19 @@
       |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   515 |                                             std::tuple<>());
       |                                             ~~~~~~~~~~~~~~~
-[ 32%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/eve_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/eve_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/eve_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/eve_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/eve_test.cpp
 [ 34%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/frankwolfe_test.cpp.o
 cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/frankwolfe_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/frankwolfe_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/frankwolfe_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/frankwolfe_test.cpp
-[ 36%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/ftml_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/ftml_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/ftml_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/ftml_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/ftml_test.cpp
-In file included from /usr/include/c++/14/map:62,
-                 from /usr/include/armadillo:49,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35,
-                 from /build/reproducible-path/ensmallen-2.22.1/tests/eve_test.cpp:13:
-/usr/include/c++/14/bits/stl_tree.h: In function 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(const_iterator, const key_type&) [with _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
-/usr/include/c++/14/bits/stl_tree.h:2206:5: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
- 2206 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
-      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_tree.h: In function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<const unsigned int&>, std::tuple<>}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
-/usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
- 2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
-      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
+    inlined from 'void arma::SpMat_MapMat_val<eT>::add(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1417:33,
+    inlined from 'arma::SpMat_MapMat_val<eT>& arma::SpMat_MapMat_val<eT>::operator+=(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1211:16,
+    inlined from 'void ens::test::StyblinskiTangFunction::Gradient(const MatType&, size_t, GradType&, size_t) const [with MatType = arma::SpMat<double>; GradType = arma::SpMat<double>]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/problems/styblinski_tang_function_impl.hpp:72:17:
+/usr/include/c++/14/bits/stl_map.h:513:44: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+  513 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
+      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  514 |                                             std::tuple<const key_type&>(__k),
+      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  515 |                                             std::tuple<>());
+      |                                             ~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
 /usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
 In file included from /usr/include/c++/14/map:63:
@@ -4244,6 +4278,17 @@
       |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
   641 |                                              std::forward<_Args>(__args)...);
       |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
+    inlined from 'void arma::SpMat_MapMat_val<eT>::add(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1417:33,
+    inlined from 'arma::SpMat_MapMat_val<eT>& arma::SpMat_MapMat_val<eT>::operator+=(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1211:16,
+    inlined from 'void ens::test::SphereFunction::Gradient(const MatType&, size_t, GradType&, size_t) const [with MatType = arma::SpMat<double>; GradType = arma::SpMat<double>]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/problems/sphere_function_impl.hpp:76:17:
+/usr/include/c++/14/bits/stl_map.h:513:44: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+  513 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
+      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  514 |                                             std::tuple<const key_type&>(__k),
+      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  515 |                                             std::tuple<>());
+      |                                             ~~~~~~~~~~~~~~~
 In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
     inlined from 'void arma::MapMat<eT>::set_val(arma::uword, const eT&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:796:27,
     inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1390:21:
@@ -4262,17 +4307,12 @@
       |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   515 |                                             std::tuple<>());
       |                                             ~~~~~~~~~~~~~~~
-In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
-    inlined from 'void arma::SpMat_MapMat_val<eT>::add(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1417:33,
-    inlined from 'arma::SpMat_MapMat_val<eT>& arma::SpMat_MapMat_val<eT>::operator+=(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1211:16,
-    inlined from 'void ens::test::StyblinskiTangFunction::Gradient(const MatType&, size_t, GradType&, size_t) const [with MatType = arma::SpMat<double>; GradType = arma::SpMat<double>]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/problems/styblinski_tang_function_impl.hpp:72:17:
-/usr/include/c++/14/bits/stl_map.h:513:44: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
-  513 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
-      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  514 |                                             std::tuple<const key_type&>(__k),
-      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  515 |                                             std::tuple<>());
-      |                                             ~~~~~~~~~~~~~~~
+[ 36%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/ftml_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/ftml_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/ftml_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/ftml_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/ftml_test.cpp
+[ 38%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/function_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/function_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/function_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/function_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/function_test.cpp
+[ 40%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/gradient_descent_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/gradient_descent_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/gradient_descent_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/gradient_descent_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/gradient_descent_test.cpp
 In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
@@ -4417,10 +4457,6 @@
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-[ 38%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/function_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/function_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/function_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/function_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/function_test.cpp
-[ 40%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/gradient_descent_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/gradient_descent_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/gradient_descent_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/gradient_descent_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/gradient_descent_test.cpp
 [ 41%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/grid_search_test.cpp.o
 cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/grid_search_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/grid_search_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/grid_search_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/grid_search_test.cpp
 [ 43%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/iqn_test.cpp.o
@@ -4431,6 +4467,8 @@
 cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/katyusha_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/katyusha_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/katyusha_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/katyusha_test.cpp
 [ 49%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/lbfgs_test.cpp.o
 cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/lbfgs_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/lbfgs_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/lbfgs_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/lbfgs_test.cpp
+[ 50%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/line_search_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/line_search_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/line_search_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/line_search_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/line_search_test.cpp
 In file included from /usr/include/c++/14/map:62,
                  from /usr/include/armadillo:49,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35,
@@ -4439,8 +4477,6 @@
 /usr/include/c++/14/bits/stl_tree.h:2206:5: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
  2206 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-[ 50%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/line_search_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/line_search_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/line_search_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/line_search_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/line_search_test.cpp
 In file included from /usr/include/c++/14/bits/stl_algo.h:61,
                  from /usr/include/c++/14/algorithm:61,
                  from /usr/include/armadillo:45,
@@ -4472,6 +4508,8 @@
 /usr/include/c++/14/bits/stl_algo.h:1822:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
  1822 |         std::__insertion_sort(__first, __last, __comp);
       |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+[ 52%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/lookahead_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/lookahead_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/lookahead_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/lookahead_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/lookahead_test.cpp
 /usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
 /usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
  2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
@@ -4494,28 +4532,8 @@
       |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
   641 |                                              std::forward<_Args>(__args)...);
       |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
-/usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
- 2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
-      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from /usr/include/c++/14/map:63:
-In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
-    inlined from 'void arma::MapMat<eT>::operator=(const arma::SpMat<eT>&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:169:27,
-    inlined from 'void arma::SpMat<eT>::sync_cache_simple() const [with eT = double]' at /usr/include/armadillo_bits/SpMat_meat.hpp:6773:16,
-    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1386:31:
-/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
-  640 |           return _M_t._M_emplace_hint_unique(__pos,
-      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
-  641 |                                              std::forward<_Args>(__args)...);
-      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
-    inlined from 'void arma::MapMat<eT>::set_val(arma::uword, const eT&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:796:27,
-    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1390:21:
-/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
-  640 |           return _M_t._M_emplace_hint_unique(__pos,
-      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
-  641 |                                              std::forward<_Args>(__args)...);
-      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+[ 54%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/lrsdp_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/lrsdp_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/lrsdp_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/lrsdp_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/lrsdp_test.cpp
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
 /usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
  1876 |     __introsort_loop(_RandomAccessIterator __first,
@@ -4580,6 +4598,28 @@
 /usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
  1908 |           std::__final_insertion_sort(__first, __last, __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
+/usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+ 2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
+      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from /usr/include/c++/14/map:63:
+In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
+    inlined from 'void arma::MapMat<eT>::operator=(const arma::SpMat<eT>&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:169:27,
+    inlined from 'void arma::SpMat<eT>::sync_cache_simple() const [with eT = double]' at /usr/include/armadillo_bits/SpMat_meat.hpp:6773:16,
+    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1386:31:
+/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
+  640 |           return _M_t._M_emplace_hint_unique(__pos,
+      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
+  641 |                                              std::forward<_Args>(__args)...);
+      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
+    inlined from 'void arma::MapMat<eT>::set_val(arma::uword, const eT&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:796:27,
+    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1390:21:
+/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
+  640 |           return _M_t._M_emplace_hint_unique(__pos,
+      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
+  641 |                                              std::forward<_Args>(__args)...);
+      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]',
     inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Compare = arma::newarp::PairComparator<pair<double, unsigned int> >]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
     inlined from 'arma::newarp::SortEigenvalue<eT, SelectionRule>::SortEigenvalue(const eT*, arma::uword) [with eT = double; int SelectionRule = 7]' at /usr/include/armadillo_bits/newarp_SortEigenvalue.hpp:182:14,
@@ -4636,12 +4676,6 @@
 /usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
  1908 |           std::__final_insertion_sort(__first, __last, __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-[ 52%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/lookahead_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/lookahead_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/lookahead_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/lookahead_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/lookahead_test.cpp
-[ 54%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/lrsdp_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/lrsdp_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/lrsdp_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/lrsdp_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/lrsdp_test.cpp
-[ 56%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/moead_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/moead_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/moead_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/moead_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/moead_test.cpp
 In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
@@ -4684,27 +4718,6 @@
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp.hpp:110,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:132,
-                 from /build/reproducible-path/ensmallen-2.22.1/tests/lrsdp_test.cpp:13:
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp: In instantiation of 'typename MatType::elem_type ens::LRSDP<SDPType>::Optimize(MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<double>; CallbackTypes = {}; SDPType = ens::SDP<arma::Mat<double> >; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/tests/lrsdp_test.cpp:115:38:   required from here
-  115 |   double finalValue = lovasz.Optimize(coordinates);
-      |                       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: warning: 'new' of type 'arma::Mat<double>' with extended alignment 16 [-Waligned-new=]
-   36 |       new MatType(coordinates * coordinates.t()));
-      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: note: use '-faligned-new' to enable C++17 over-aligned new support
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp: In instantiation of 'typename MatType::elem_type ens::LRSDP<SDPType>::Optimize(MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<float>; CallbackTypes = {}; SDPType = ens::SDP<arma::Mat<float> >; typename MatType::elem_type = float]':
-/build/reproducible-path/ensmallen-2.22.1/tests/lrsdp_test.cpp:158:37:   required from here
-  158 |   float finalValue = lovasz.Optimize(coordinates);
-      |                      ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: warning: 'new' of type 'arma::Mat<float>' with extended alignment 16 [-Waligned-new=]
-   36 |       new MatType(coordinates * coordinates.t()));
-      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: note: use '-faligned-new' to enable C++17 over-aligned new support
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::Function<ens::test::SphereFunction, arma::Mat<double>, arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::AdamUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/adam/adam.hpp:130:68:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdamType<UpdateRule>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::Function<ens::test::SphereFunction, arma::Mat<double>, arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdateRule = ens::AdamUpdate; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
   129 |     return optimizer.template Optimize<
@@ -4805,15 +4818,6 @@
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp: In instantiation of 'typename MatType::elem_type ens::LRSDP<SDPType>::Optimize(MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<double>; CallbackTypes = {}; SDPType = ens::SDP<arma::SpMat<double> >; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/tests/lrsdp_test.cpp:237:44:   required from here
-  237 |   const double finalValue = maxcut.Optimize(coordinates);
-      |                             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: warning: 'new' of type 'arma::Mat<double>' with extended alignment 16 [-Waligned-new=]
-   36 |       new MatType(coordinates * coordinates.t()));
-      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: note: use '-faligned-new' to enable C++17 over-aligned new support
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::Function<ens::test::SphereFunction, arma::Mat<float>, arma::Mat<float> >; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::AdamUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]':
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/adam/adam.hpp:130:68:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::AdamType<UpdateRule>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::Function<ens::test::SphereFunction, arma::Mat<float>, arma::Mat<float> >; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdateRule = ens::AdamUpdate; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]'
   129 |     return optimizer.template Optimize<
@@ -4864,6 +4868,42 @@
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp.hpp:110,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:132,
+                 from /build/reproducible-path/ensmallen-2.22.1/tests/lrsdp_test.cpp:13:
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp: In instantiation of 'typename MatType::elem_type ens::LRSDP<SDPType>::Optimize(MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<double>; CallbackTypes = {}; SDPType = ens::SDP<arma::Mat<double> >; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/tests/lrsdp_test.cpp:115:38:   required from here
+  115 |   double finalValue = lovasz.Optimize(coordinates);
+      |                       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: warning: 'new' of type 'arma::Mat<double>' with extended alignment 16 [-Waligned-new=]
+   36 |       new MatType(coordinates * coordinates.t()));
+      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp: In instantiation of 'typename MatType::elem_type ens::LRSDP<SDPType>::Optimize(MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<float>; CallbackTypes = {}; SDPType = ens::SDP<arma::Mat<float> >; typename MatType::elem_type = float]':
+/build/reproducible-path/ensmallen-2.22.1/tests/lrsdp_test.cpp:158:37:   required from here
+  158 |   float finalValue = lovasz.Optimize(coordinates);
+      |                      ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: warning: 'new' of type 'arma::Mat<float>' with extended alignment 16 [-Waligned-new=]
+   36 |       new MatType(coordinates * coordinates.t()));
+      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp: In instantiation of 'typename MatType::elem_type ens::LRSDP<SDPType>::Optimize(MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<double>; CallbackTypes = {}; SDPType = ens::SDP<arma::SpMat<double> >; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/tests/lrsdp_test.cpp:237:44:   required from here
+  237 |   const double finalValue = maxcut.Optimize(coordinates);
+      |                             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: warning: 'new' of type 'arma::Mat<double>' with extended alignment 16 [-Waligned-new=]
+   36 |       new MatType(coordinates * coordinates.t()));
+      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sdp/lrsdp_impl.hpp:36:7: note: use '-faligned-new' to enable C++17 over-aligned new support
+[ 56%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/moead_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/moead_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/moead_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/moead_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/moead_test.cpp
+[ 58%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/agemoea_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/agemoea_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/agemoea_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/agemoea_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/agemoea_test.cpp
+[ 60%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/momentum_sgd_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/momentum_sgd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/momentum_sgd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/momentum_sgd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/momentum_sgd_test.cpp
 In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/problems/problems.hpp:60,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:92,
                  from /build/reproducible-path/ensmallen-2.22.1/tests/moead_test.cpp:11:
@@ -4930,8 +4970,58 @@
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/problems/maf/maf4_function.hpp:164:9: warning:   when initialized here [-Wreorder]
   164 |         MAF4Objective(size_t stop, MAF4& maf): stop(stop), maf(maf)
       |         ^~~~~~~~~~~~~
-[ 58%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/agemoea_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/agemoea_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/agemoea_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/agemoea_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/agemoea_test.cpp
+In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
+                 from /build/reproducible-path/ensmallen-2.22.1/tests/momentum_sgd_test.cpp:13:
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SGDTestFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SGDTestFunction; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = double]'
+  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  142 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  143 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/momentum_sgd_test.cpp:27:29:   required from here
+   27 |   double result = s.Optimize(f, coordinates);
+      |                   ~~~~~~~~~~^~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::MomentumUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = double]'
+  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  142 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  143 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/momentum_sgd_test.cpp:64:31:   required from here
+   64 |     double result = s.Optimize(f, coordinates);
+      |                     ~~~~~~~~~~^~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::MomentumUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = float]'
+  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  142 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  143 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/momentum_sgd_test.cpp:84:30:   required from here
+   84 |     float result = s.Optimize(f, coordinates);
+      |                    ~~~~~~~~~~^~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::MomentumUpdate::Policy<arma::Mat<float>, arma::Mat<float> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
 In file included from /usr/include/c++/14/algorithm:61,
                  from /usr/include/armadillo:45,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35:
@@ -5082,6 +5172,15 @@
  2651 |                         __first + __step_size, __last, __result, __comp);
       |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_algo.h:2650:24: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
+In file included from /usr/include/c++/14/memory:69,
+                 from /usr/include/armadillo:38,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35,
+                 from /build/reproducible-path/ensmallen-2.22.1/tests/agemoea_test.cpp:11:
+/usr/include/c++/14/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = move_iterator<arma::Mat<double>*>; _ForwardIterator = arma::Mat<double>*]':
+/usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type 'std::move_iterator<arma::Mat<double>*>' changed in GCC 7.1
+  113 |     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
+      |     ^~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type 'std::move_iterator<arma::Mat<double>*>' changed in GCC 7.1
 /usr/include/c++/14/bits/stl_algo.h: In function '_RandomAccessIterator std::_V2::__rotate(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, std::random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >]':
 /usr/include/c++/14/bits/stl_algo.h:1235:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1235 |     __rotate(_RandomAccessIterator __first,
@@ -5451,69 +5550,6 @@
 /usr/include/c++/14/bits/stl_algo.h:4955:35: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  4955 |         std::__inplace_stable_sort(__first, __last, __comp);
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-[ 60%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/momentum_sgd_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/momentum_sgd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/momentum_sgd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/momentum_sgd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/momentum_sgd_test.cpp
-In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
-                 from /build/reproducible-path/ensmallen-2.22.1/tests/momentum_sgd_test.cpp:13:
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SGDTestFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SGDTestFunction; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = double]'
-  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  142 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  143 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/momentum_sgd_test.cpp:27:29:   required from here
-   27 |   double result = s.Optimize(f, coordinates);
-      |                   ~~~~~~~~~~^~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::MomentumUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = double]'
-  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  142 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  143 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/momentum_sgd_test.cpp:64:31:   required from here
-   64 |     double result = s.Optimize(f, coordinates);
-      |                     ~~~~~~~~~~^~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::MomentumUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = float]'
-  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  142 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  143 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/momentum_sgd_test.cpp:84:30:   required from here
-   84 |     float result = s.Optimize(f, coordinates);
-      |                    ~~~~~~~~~~^~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::MomentumUpdate::Policy<arma::Mat<float>, arma::Mat<float> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-In file included from /usr/include/c++/14/memory:69,
-                 from /usr/include/armadillo:38,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35,
-                 from /build/reproducible-path/ensmallen-2.22.1/tests/agemoea_test.cpp:11:
-/usr/include/c++/14/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = move_iterator<arma::Mat<double>*>; _ForwardIterator = arma::Mat<double>*]':
-/usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type 'std::move_iterator<arma::Mat<double>*>' changed in GCC 7.1
-  113 |     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
-      |     ^~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type 'std::move_iterator<arma::Mat<double>*>' changed in GCC 7.1
 /usr/include/c++/14/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = move_iterator<arma::Mat<float>*>; _ForwardIterator = arma::Mat<float>*]':
 /usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type 'std::move_iterator<arma::Mat<float>*>' changed in GCC 7.1
 /usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type 'std::move_iterator<arma::Mat<float>*>' changed in GCC 7.1
@@ -5575,6 +5611,67 @@
 /usr/include/c++/14/bits/stl_algo.h:1822:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
  1822 |         std::__insertion_sort(__first, __last, __comp);
       |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
+                 from /build/reproducible-path/ensmallen-2.22.1/tests/nesterov_momentum_sgd_test.cpp:13:
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SGDTestFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::NesterovMomentumUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SGDTestFunction; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::NesterovMomentumUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = double]'
+  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  142 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  143 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/nesterov_momentum_sgd_test.cpp:30:29:   required from here
+   30 |   double result = s.Optimize(f, coordinates);
+      |                   ~~~~~~~~~~^~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::NesterovMomentumUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::NesterovMomentumUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::NesterovMomentumUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = double]'
+  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  142 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  143 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/nesterov_momentum_sgd_test.cpp:53:31:   required from here
+   53 |     double result = s.Optimize(f, coordinates);
+      |                     ~~~~~~~~~~^~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::NesterovMomentumUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::NesterovMomentumUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::NesterovMomentumUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = float]'
+  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  142 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  143 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/nesterov_momentum_sgd_test.cpp:82:26:   required from here
+   82 |       result = s.Optimize(f, coordinates);
+      |                ~~~~~~~~~~^~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::NesterovMomentumUpdate::Policy<arma::Mat<float>, arma::Mat<float> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/tests/nsga2_test.cpp: In function 'void C_A_T_C_H_T_E_S_T_18()':
+/build/reproducible-path/ensmallen-2.22.1/tests/nsga2_test.cpp:477:45: warning: 'const std::vector<arma::Mat<double> >& ens::NSGA2::Front()' is deprecated: use ParetoFront() instead [-Wdeprecated-declarations]
+  477 |   std::vector<arma::mat> rcFront = opt.Front();
+      |                                    ~~~~~~~~~^~
+In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:123,
+                 from /build/reproducible-path/ensmallen-2.22.1/tests/nsga2_test.cpp:12:
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/nsga2/nsga2.hpp:187:77: note: declared here
+  187 |   [[deprecated("use ParetoFront() instead")]] const std::vector<arma::mat>& Front()
+      |                                                                             ^~~~~
 /usr/include/c++/14/bits/predefined_ops.h: In member function 'constexpr bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = __gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >; _Iterator2 = __gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >; _Compare = ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)>]':
 /usr/include/c++/14/bits/predefined_ops.h:157:9: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
   157 |         operator()(_Iterator1 __it1, _Iterator2 __it2)
@@ -5698,26 +5795,14 @@
   340 |     __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
       |     ^~~~~~~~~~~
 /usr/include/c++/14/bits/stl_heap.h:340:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
-In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
-                 from /build/reproducible-path/ensmallen-2.22.1/tests/nesterov_momentum_sgd_test.cpp:13:
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SGDTestFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::NesterovMomentumUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SGDTestFunction; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::NesterovMomentumUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = double]'
-  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  142 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  143 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/nesterov_momentum_sgd_test.cpp:30:29:   required from here
-   30 |   double result = s.Optimize(f, coordinates);
-      |                   ~~~~~~~~~~^~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::NesterovMomentumUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+In file included from /usr/include/c++/14/memory:69,
+                 from /usr/include/armadillo:38,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35:
+/usr/include/c++/14/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = move_iterator<arma::Mat<double>*>; _ForwardIterator = arma::Mat<double>*]':
+/usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type 'std::move_iterator<arma::Mat<double>*>' changed in GCC 7.1
+  113 |     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
+      |     ^~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type 'std::move_iterator<arma::Mat<double>*>' changed in GCC 7.1
 /usr/include/c++/14/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Distance = int; _Tp = arma::Mat<double>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]':
 /usr/include/c++/14/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
   224 |     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
@@ -5727,38 +5812,6 @@
       |               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
   233 |                      __first + (__secondChild - 1)))
       |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::NesterovMomentumUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::NesterovMomentumUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = double]'
-  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  142 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  143 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/nesterov_momentum_sgd_test.cpp:53:31:   required from here
-   53 |     double result = s.Optimize(f, coordinates);
-      |                     ~~~~~~~~~~^~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::NesterovMomentumUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::NesterovMomentumUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::NesterovMomentumUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = float]'
-  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  142 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  143 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/nesterov_momentum_sgd_test.cpp:82:26:   required from here
-   82 |       result = s.Optimize(f, coordinates);
-      |                ~~~~~~~~~~^~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::NesterovMomentumUpdate::Policy<arma::Mat<float>, arma::Mat<float> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
 /usr/include/c++/14/bits/stl_heap.h: In function 'void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]':
 /usr/include/c++/14/bits/stl_heap.h:340:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
   340 |     __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
@@ -5797,6 +5850,9 @@
 /usr/include/c++/14/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
   137 |         { return std::__do_uninit_copy(__first, __last, __result); }
       |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = move_iterator<arma::Mat<float>*>; _ForwardIterator = arma::Mat<float>*]':
+/usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type 'std::move_iterator<arma::Mat<float>*>' changed in GCC 7.1
+/usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type 'std::move_iterator<arma::Mat<float>*>' changed in GCC 7.1
 /usr/include/c++/14/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Distance = int; _Tp = arma::Mat<float>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]':
 /usr/include/c++/14/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
   224 |     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
@@ -5834,15 +5890,6 @@
   340 |     __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
       |     ^~~~~~~~~~~
 /usr/include/c++/14/bits/stl_heap.h:340:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
-/build/reproducible-path/ensmallen-2.22.1/tests/nsga2_test.cpp: In function 'void C_A_T_C_H_T_E_S_T_18()':
-/build/reproducible-path/ensmallen-2.22.1/tests/nsga2_test.cpp:477:45: warning: 'const std::vector<arma::Mat<double> >& ens::NSGA2::Front()' is deprecated: use ParetoFront() instead [-Wdeprecated-declarations]
-  477 |   std::vector<arma::mat> rcFront = opt.Front();
-      |                                    ~~~~~~~~~^~
-In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:123,
-                 from /build/reproducible-path/ensmallen-2.22.1/tests/nsga2_test.cpp:12:
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/nsga2/nsga2.hpp:187:77: note: declared here
-  187 |   [[deprecated("use ParetoFront() instead")]] const std::vector<arma::mat>& Front()
-      |                                                                             ^~~~~
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::ZDT3<>::ObjectiveF1, ens::test::ZDT3<>::ObjectiveF2>(std::tuple<ens::test::ZDT3<>::ObjectiveF1, ens::test::ZDT3<>::ObjectiveF2>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]':
 /usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
  1876 |     __introsort_loop(_RandomAccessIterator __first,
@@ -5975,121 +6022,6 @@
 /usr/include/c++/14/bits/stl_algo.h:1890:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
  1890 |           std::__introsort_loop(__cut, __last, __depth_limit, __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]':
-/usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
- 1876 |     __introsort_loop(_RandomAccessIterator __first,
-      |     ^~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
-In function 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]',
-    inlined from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]' at /usr/include/c++/14/bits/stl_algo.h:1868:25,
-    inlined from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]' at /usr/include/c++/14/bits/stl_algo.h:1884:27:
-/usr/include/c++/14/bits/stl_algo.h:1593:23: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
- 1593 |       std::__make_heap(__first, __middle, __comp);
-      |       ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__move_median_to_first(_Iterator, _Iterator, _Iterator, _Iterator, _Compare) [with _Iterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]',
-    inlined from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]' at /usr/include/c++/14/bits/stl_algo.h:1855:34,
-    inlined from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]' at /usr/include/c++/14/bits/stl_algo.h:1889:38:
-/usr/include/c++/14/bits/stl_algo.h:88:17: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
-   88 |       if (__comp(__a, __b))
-      |           ~~~~~~^~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:90:21: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
-   90 |           if (__comp(__b, __c))
-      |               ~~~~~~^~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:92:26: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
-   92 |           else if (__comp(__a, __c))
-      |                    ~~~~~~^~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:97:22: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
-   97 |       else if (__comp(__a, __c))
-      |                ~~~~~~^~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:99:22: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
-   99 |       else if (__comp(__b, __c))
-      |                ~~~~~~^~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]':
-/usr/include/c++/14/bits/stl_algo.h:1890:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
- 1890 |           std::__introsort_loop(__cut, __last, __depth_limit, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::ZDT3<>::ObjectiveF1, ens::test::ZDT3<>::ObjectiveF2>(std::tuple<ens::test::ZDT3<>::ObjectiveF1, ens::test::ZDT3<>::ObjectiveF2>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::ZDT3<>::ObjectiveF1, ens::test::ZDT3<>::ObjectiveF2>(std::tuple<ens::test::ZDT3<>::ObjectiveF1, ens::test::ZDT3<>::ObjectiveF2>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'typename MatType::elem_type ens::AGEMOEA::Optimize(std::tuple<_Elements ...>&, MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<double>; ArbitraryFunctionType = {ens::test::ZDT3<>::ObjectiveF1, ens::test::ZDT3<>::ObjectiveF2}; CallbackTypes = {}]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/agemoea/agemoea_impl.hpp:182:14,
-    inlined from 'void C_A_T_C_H_T_E_S_T_10()' at /build/reproducible-path/ensmallen-2.22.1/tests/agemoea_test.cpp:328:17:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::ZDT1<>::ObjectiveF1, ens::test::ZDT1<>::ObjectiveF2>(std::tuple<ens::test::ZDT1<>::ObjectiveF1, ens::test::ZDT1<>::ObjectiveF2>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::ZDT1<>::ObjectiveF1, ens::test::ZDT1<>::ObjectiveF2>(std::tuple<ens::test::ZDT1<>::ObjectiveF1, ens::test::ZDT1<>::ObjectiveF2>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'typename MatType::elem_type ens::AGEMOEA::Optimize(std::tuple<_Elements ...>&, MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<double>; ArbitraryFunctionType = {ens::test::ZDT1<>::ObjectiveF1, ens::test::ZDT1<>::ObjectiveF2}; CallbackTypes = {}]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/agemoea/agemoea_impl.hpp:182:14,
-    inlined from 'void C_A_T_C_H_T_E_S_T_8()' at /build/reproducible-path/ensmallen-2.22.1/tests/agemoea_test.cpp:257:17:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'typename MatType::elem_type ens::AGEMOEA::Optimize(std::tuple<_Elements ...>&, MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<double>; ArbitraryFunctionType = {ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB}; CallbackTypes = {}]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/agemoea/agemoea_impl.hpp:182:14,
-    inlined from 'void C_A_T_C_H_T_E_S_T_4()' at /build/reproducible-path/ensmallen-2.22.1/tests/agemoea_test.cpp:159:17:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'typename MatType::elem_type ens::AGEMOEA::Optimize(std::tuple<_Elements ...>&, MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<double>; ArbitraryFunctionType = {ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB}; CallbackTypes = {}]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/agemoea/agemoea_impl.hpp:182:14:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from /usr/include/c++/14/memory:69,
-                 from /usr/include/armadillo:38,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35:
-/usr/include/c++/14/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = move_iterator<arma::Mat<double>*>; _ForwardIterator = arma::Mat<double>*]':
-/usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type 'std::move_iterator<arma::Mat<double>*>' changed in GCC 7.1
-  113 |     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
-      |     ^~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type 'std::move_iterator<arma::Mat<double>*>' changed in GCC 7.1
-/usr/include/c++/14/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = move_iterator<arma::Mat<float>*>; _ForwardIterator = arma::Mat<float>*]':
-/usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type 'std::move_iterator<arma::Mat<float>*>' changed in GCC 7.1
-/usr/include/c++/14/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type 'std::move_iterator<arma::Mat<float>*>' changed in GCC 7.1
-[ 65%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/parallel_sgd_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/parallel_sgd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/parallel_sgd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/parallel_sgd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/parallel_sgd_test.cpp
-In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]',
-    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Compare = ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'typename MatType::elem_type ens::AGEMOEA::Optimize(std::tuple<_Elements ...>&, MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<float>; ArbitraryFunctionType = {ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB}; CallbackTypes = {}]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/agemoea/agemoea_impl.hpp:182:14,
-    inlined from 'void C_A_T_C_H_T_E_S_T_6()' at /build/reproducible-path/ensmallen-2.22.1/tests/agemoea_test.cpp:211:17:
-/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
- 1905 |           std::__introsort_loop(__first, __last,
-      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
- 1906 |                                 std::__lg(__last - __first) * 2,
-      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1907 |                                 __comp);
-      |                                 ~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
- 1908 |           std::__final_insertion_sort(__first, __last, __comp);
-      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 In file included from /usr/include/c++/14/bits/stl_algobase.h:71,
                  from /usr/include/c++/14/bits/stl_uninitialized.h:63:
 /usr/include/c++/14/bits/predefined_ops.h: In member function 'constexpr bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = __gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >; _Iterator2 = __gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >; _Compare = ens::NSGA2::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)>]':
@@ -6119,6 +6051,8 @@
 /usr/include/c++/14/bits/stl_algo.h:1822:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
  1822 |         std::__insertion_sort(__first, __last, __comp);
       |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+[ 65%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/parallel_sgd_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/parallel_sgd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/parallel_sgd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/parallel_sgd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/parallel_sgd_test.cpp
 /usr/include/c++/14/bits/predefined_ops.h: In member function 'constexpr bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = __gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >; _Iterator2 = __gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >; _Compare = ens::NSGA2::Optimize<arma::Mat<double>, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)>]':
 /usr/include/c++/14/bits/predefined_ops.h:157:9: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
   157 |         operator()(_Iterator1 __it1, _Iterator2 __it2)
@@ -6133,6 +6067,39 @@
  1770 |     __insertion_sort(_RandomAccessIterator __first,
       |     ^~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]':
+/usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
+ 1876 |     __introsort_loop(_RandomAccessIterator __first,
+      |     ^~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
+In function 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]',
+    inlined from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]' at /usr/include/c++/14/bits/stl_algo.h:1868:25,
+    inlined from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]' at /usr/include/c++/14/bits/stl_algo.h:1884:27:
+/usr/include/c++/14/bits/stl_algo.h:1593:23: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
+ 1593 |       std::__make_heap(__first, __middle, __comp);
+      |       ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'void std::__move_median_to_first(_Iterator, _Iterator, _Iterator, _Iterator, _Compare) [with _Iterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]',
+    inlined from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]' at /usr/include/c++/14/bits/stl_algo.h:1855:34,
+    inlined from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]' at /usr/include/c++/14/bits/stl_algo.h:1889:38:
+/usr/include/c++/14/bits/stl_algo.h:88:17: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
+   88 |       if (__comp(__a, __b))
+      |           ~~~~~~^~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:90:21: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
+   90 |           if (__comp(__b, __c))
+      |               ~~~~~~^~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:92:26: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
+   92 |           else if (__comp(__a, __c))
+      |                    ~~~~~~^~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:97:22: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
+   97 |       else if (__comp(__a, __c))
+      |                ~~~~~~^~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:99:22: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
+   99 |       else if (__comp(__b, __c))
+      |                ~~~~~~^~~~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]':
+/usr/include/c++/14/bits/stl_algo.h:1890:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
+ 1890 |           std::__introsort_loop(__cut, __last, __depth_limit, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::NSGA2::Optimize<arma::Mat<double>, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]':
 /usr/include/c++/14/bits/stl_algo.h:1812:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
  1812 |     __final_insertion_sort(_RandomAccessIterator __first,
@@ -6158,6 +6125,8 @@
  1770 |     __insertion_sort(_RandomAccessIterator __first,
       |     ^~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
+[ 67%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/pop_cmaes_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/pop_cmaes_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/pop_cmaes_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/pop_cmaes_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/pop_cmaes_test.cpp
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::NSGA2::Optimize<arma::Mat<float>, ens::test::SchafferFunctionN1<arma::Mat<float> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<float> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]':
 /usr/include/c++/14/bits/stl_algo.h:1812:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
  1812 |     __final_insertion_sort(_RandomAccessIterator __first,
@@ -6314,6 +6283,20 @@
 /usr/include/c++/14/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
   137 |         { return std::__do_uninit_copy(__first, __last, __result); }
       |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::ZDT3<>::ObjectiveF1, ens::test::ZDT3<>::ObjectiveF2>(std::tuple<ens::test::ZDT3<>::ObjectiveF1, ens::test::ZDT3<>::ObjectiveF2>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::ZDT3<>::ObjectiveF1, ens::test::ZDT3<>::ObjectiveF2>(std::tuple<ens::test::ZDT3<>::ObjectiveF1, ens::test::ZDT3<>::ObjectiveF2>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'typename MatType::elem_type ens::AGEMOEA::Optimize(std::tuple<_Elements ...>&, MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<double>; ArbitraryFunctionType = {ens::test::ZDT3<>::ObjectiveF1, ens::test::ZDT3<>::ObjectiveF2}; CallbackTypes = {}]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/agemoea/agemoea_impl.hpp:182:14,
+    inlined from 'void C_A_T_C_H_T_E_S_T_10()' at /build/reproducible-path/ensmallen-2.22.1/tests/agemoea_test.cpp:328:17:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Distance = int; _Tp = arma::Mat<float>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::NSGA2::Optimize<arma::Mat<float>, ens::test::SchafferFunctionN1<arma::Mat<float> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<float> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]':
 /usr/include/c++/14/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
   224 |     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
@@ -6356,6 +6339,20 @@
   340 |     __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
       |     ^~~~~~~~~~~
 /usr/include/c++/14/bits/stl_heap.h:340:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::ZDT1<>::ObjectiveF1, ens::test::ZDT1<>::ObjectiveF2>(std::tuple<ens::test::ZDT1<>::ObjectiveF1, ens::test::ZDT1<>::ObjectiveF2>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::ZDT1<>::ObjectiveF1, ens::test::ZDT1<>::ObjectiveF2>(std::tuple<ens::test::ZDT1<>::ObjectiveF1, ens::test::ZDT1<>::ObjectiveF2>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'typename MatType::elem_type ens::AGEMOEA::Optimize(std::tuple<_Elements ...>&, MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<double>; ArbitraryFunctionType = {ens::test::ZDT1<>::ObjectiveF1, ens::test::ZDT1<>::ObjectiveF2}; CallbackTypes = {}]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/agemoea/agemoea_impl.hpp:182:14,
+    inlined from 'void C_A_T_C_H_T_E_S_T_8()' at /build/reproducible-path/ensmallen-2.22.1/tests/agemoea_test.cpp:257:17:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::NSGA2::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]':
 /usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
  1876 |     __introsort_loop(_RandomAccessIterator __first,
@@ -6402,6 +6399,20 @@
 /usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
  1908 |           std::__final_insertion_sort(__first, __last, __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'typename MatType::elem_type ens::AGEMOEA::Optimize(std::tuple<_Elements ...>&, MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<double>; ArbitraryFunctionType = {ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB}; CallbackTypes = {}]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/agemoea/agemoea_impl.hpp:182:14,
+    inlined from 'void C_A_T_C_H_T_E_S_T_4()' at /build/reproducible-path/ensmallen-2.22.1/tests/agemoea_test.cpp:159:17:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::NSGA2::Optimize<arma::Mat<double>, ens::test::ZDT1<>::ObjectiveF1, ens::test::ZDT1<>::ObjectiveF2>(std::tuple<ens::test::ZDT1<>::ObjectiveF1, ens::test::ZDT1<>::ObjectiveF2>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]':
 /usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
  1876 |     __introsort_loop(_RandomAccessIterator __first,
@@ -6449,8 +6460,6 @@
 /usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
  1908 |           std::__final_insertion_sort(__first, __last, __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-[ 67%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/pop_cmaes_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/pop_cmaes_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/pop_cmaes_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/pop_cmaes_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/pop_cmaes_test.cpp
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::NSGA2::Optimize<arma::Mat<double>, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]':
 /usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
  1876 |     __introsort_loop(_RandomAccessIterator __first,
@@ -6484,6 +6493,19 @@
 /usr/include/c++/14/bits/stl_algo.h:1890:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
  1890 |           std::__introsort_loop(__cut, __last, __depth_limit, __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = ens::AGEMOEA::Optimize<arma::Mat<double>, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'typename MatType::elem_type ens::AGEMOEA::Optimize(std::tuple<_Elements ...>&, MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<double>; ArbitraryFunctionType = {ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveA, ens::test::SchafferFunctionN1<arma::Mat<double> >::ObjectiveB}; CallbackTypes = {}]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/agemoea/agemoea_impl.hpp:182:14:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<double>*, std::vector<arma::Mat<double> > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::NSGA2::Optimize<arma::Mat<double>, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)> >]',
     inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::Mat<double>*, vector<arma::Mat<double> > >; _Compare = ens::NSGA2::Optimize<arma::Mat<double>, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB>&, arma::Mat<double>&)::<lambda(BaseMatType, BaseMatType)>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
     inlined from 'typename MatType::elem_type ens::NSGA2::Optimize(std::tuple<_Elements ...>&, MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<double>; ArbitraryFunctionType = {ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<double> >::ObjectiveB}; CallbackTypes = {}]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/nsga2/nsga2_impl.hpp:174:14:
@@ -6589,6 +6611,20 @@
 /usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
  1908 |           std::__final_insertion_sort(__first, __last, __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)> >]',
+    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::Mat<float>*, vector<arma::Mat<float>, allocator<arma::Mat<float> > > >; _Compare = ens::AGEMOEA::Optimize<arma::Mat<float>, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>(std::tuple<ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB>&, arma::Mat<float>&)::<lambda(BaseMatType, BaseMatType)>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
+    inlined from 'typename MatType::elem_type ens::AGEMOEA::Optimize(std::tuple<_Elements ...>&, MatType&, CallbackTypes&& ...) [with MatType = arma::Mat<float>; ArbitraryFunctionType = {ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveA, ens::test::FonsecaFlemingFunction<arma::Mat<float> >::ObjectiveB}; CallbackTypes = {}]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/agemoea/agemoea_impl.hpp:182:14,
+    inlined from 'void C_A_T_C_H_T_E_S_T_6()' at /build/reproducible-path/ensmallen-2.22.1/tests/agemoea_test.cpp:211:17:
+/usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
+ 1905 |           std::__introsort_loop(__first, __last,
+      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+ 1906 |                                 std::__lg(__last - __first) * 2,
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 1907 |                                 __comp);
+      |                                 ~~~~~~~
+/usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::Mat<float>*, std::vector<arma::Mat<float>, std::allocator<arma::Mat<float> > > >' changed in GCC 7.1
+ 1908 |           std::__final_insertion_sort(__first, __last, __comp);
+      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 [ 69%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/proximal_test.cpp.o
 cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/proximal_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/proximal_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/proximal_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/proximal_test.cpp
 [ 70%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/pso_test.cpp.o
@@ -6615,6 +6651,11 @@
  1770 |     __insertion_sort(_RandomAccessIterator __first,
       |     ^~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
+[ 72%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/quasi_hyperbolic_momentum_sgd_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/quasi_hyperbolic_momentum_sgd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/quasi_hyperbolic_momentum_sgd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/quasi_hyperbolic_momentum_sgd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/quasi_hyperbolic_momentum_sgd_test.cpp
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
+/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
+/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
 In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/pso/pso.hpp:272,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:126,
                  from /build/reproducible-path/ensmallen-2.22.1/tests/pso_test.cpp:13:
@@ -6751,10 +6792,7 @@
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
 /usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
 /usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
-/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
-/usr/include/c++/14/bits/stl_algo.h:1770:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]':
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
 /usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1876 |     __introsort_loop(_RandomAccessIterator __first,
       |     ^~~~~~~~~~~~~~~~
@@ -6762,7 +6800,7 @@
 /usr/include/c++/14/bits/stl_algo.h:1890:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1890 |           std::__introsort_loop(__cut, __last, __depth_limit, __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]':
 /usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1876 |     __introsort_loop(_RandomAccessIterator __first,
       |     ^~~~~~~~~~~~~~~~
@@ -6772,7 +6810,7 @@
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]',
     inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = arma::arma_sort_index_helper_ascend<double>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = eOp<Col<double>, eop_abs>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:81:16:
+    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = Mat<double>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:81:16:
 /usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1905 |           std::__introsort_loop(__first, __last,
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
@@ -6783,7 +6821,7 @@
 In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]',
     inlined from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]' at /usr/include/c++/14/bits/stl_algo.h:1908:31,
     inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = arma::arma_sort_index_helper_ascend<double>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = eOp<Col<double>, eop_abs>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:81:16:
+    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = Mat<double>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:81:16:
 /usr/include/c++/14/bits/stl_algo.h:1817:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1817 |           std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -6792,7 +6830,7 @@
       |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]',
     inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = arma::arma_sort_index_helper_descend<double>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = eOp<Col<double>, eop_abs>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:96:16:
+    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = Mat<double>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:96:16:
 /usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1905 |           std::__introsort_loop(__first, __last,
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
@@ -6803,16 +6841,34 @@
 In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]',
     inlined from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]' at /usr/include/c++/14/bits/stl_algo.h:1908:31,
     inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = arma::arma_sort_index_helper_descend<double>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = eOp<Col<double>, eop_abs>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:96:16:
+    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = Mat<double>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:96:16:
 /usr/include/c++/14/bits/stl_algo.h:1817:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1817 |           std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_algo.h:1822:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1822 |         std::__insertion_sort(__first, __last, __comp);
       |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-[ 72%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/quasi_hyperbolic_momentum_sgd_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/quasi_hyperbolic_momentum_sgd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/quasi_hyperbolic_momentum_sgd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/quasi_hyperbolic_momentum_sgd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/quasi_hyperbolic_momentum_sgd_test.cpp
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
+In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
+                 from /build/reproducible-path/ensmallen-2.22.1/tests/quasi_hyperbolic_momentum_sgd_test.cpp:10:
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::QHUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::QHUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = double]'
+  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  142 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  143 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/quasi_hyperbolic_momentum_sgd_test.cpp:61:31:   required from here
+   61 |     double result = s.Optimize(f, coordinates);
+      |                     ~~~~~~~~~~^~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::QHUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]':
 /usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1876 |     __introsort_loop(_RandomAccessIterator __first,
       |     ^~~~~~~~~~~~~~~~
@@ -6820,7 +6876,7 @@
 /usr/include/c++/14/bits/stl_algo.h:1890:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1890 |           std::__introsort_loop(__cut, __last, __depth_limit, __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]':
+/usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]':
 /usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1876 |     __introsort_loop(_RandomAccessIterator __first,
       |     ^~~~~~~~~~~~~~~~
@@ -6830,7 +6886,7 @@
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]',
     inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = arma::arma_sort_index_helper_ascend<double>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = Mat<double>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:81:16:
+    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = eOp<Col<double>, eop_abs>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:81:16:
 /usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1905 |           std::__introsort_loop(__first, __last,
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
@@ -6841,7 +6897,7 @@
 In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]',
     inlined from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_ascend<double> >]' at /usr/include/c++/14/bits/stl_algo.h:1908:31,
     inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = arma::arma_sort_index_helper_ascend<double>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = Mat<double>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:81:16:
+    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = eOp<Col<double>, eop_abs>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:81:16:
 /usr/include/c++/14/bits/stl_algo.h:1817:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1817 |           std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -6850,7 +6906,7 @@
       |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]',
     inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = arma::arma_sort_index_helper_descend<double>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = Mat<double>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:96:16:
+    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = eOp<Col<double>, eop_abs>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:96:16:
 /usr/include/c++/14/bits/stl_algo.h:1905:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1905 |           std::__introsort_loop(__first, __last,
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
@@ -6861,33 +6917,13 @@
 In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]',
     inlined from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::arma_sort_index_helper_descend<double> >]' at /usr/include/c++/14/bits/stl_algo.h:1908:31,
     inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, vector<arma::arma_sort_index_packet<double>, allocator<arma::arma_sort_index_packet<double> > > >; _Compare = arma::arma_sort_index_helper_descend<double>]' at /usr/include/c++/14/bits/stl_algo.h:4804:18,
-    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = Mat<double>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:96:16:
+    inlined from 'bool arma::arma_sort_index_helper(Mat<unsigned int>&, const Proxy<T1>&, uword) [with T1 = eOp<Col<double>, eop_abs>; bool sort_stable = false]' at /usr/include/armadillo_bits/op_sort_index_meat.hpp:96:16:
 /usr/include/c++/14/bits/stl_algo.h:1817:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1817 |           std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_algo.h:1822:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<arma::arma_sort_index_packet<double>*, std::vector<arma::arma_sort_index_packet<double>, std::allocator<arma::arma_sort_index_packet<double> > > >' changed in GCC 7.1
  1822 |         std::__insertion_sort(__first, __last, __comp);
       |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
-                 from /build/reproducible-path/ensmallen-2.22.1/tests/quasi_hyperbolic_momentum_sgd_test.cpp:10:
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::QHUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::GeneralizedRosenbrockFunction; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::QHUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = double]'
-  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  142 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  143 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/quasi_hyperbolic_momentum_sgd_test.cpp:61:31:   required from here
-   61 |     double result = s.Optimize(f, coordinates);
-      |                     ~~~~~~~~~~^~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::QHUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::QHUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::QHUpdate; DecayPolicyType = ens::NoDecay; typename MatType::elem_type = double]'
   141 |     return Optimize<SeparableFunctionType, MatType, MatType,
@@ -6961,8 +6997,6 @@
       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 [ 76%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/sa_test.cpp.o
 cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/sa_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/sa_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/sa_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/sa_test.cpp
-[ 78%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/sarah_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/sarah_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/sarah_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/sarah_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/sarah_test.cpp
 In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
@@ -7019,6 +7053,10 @@
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+[ 78%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/sarah_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/sarah_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/sarah_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/sarah_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/sarah_test.cpp
+[ 80%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/sdp_primal_dual_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/sdp_primal_dual_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/sdp_primal_dual_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/sdp_primal_dual_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/sdp_primal_dual_test.cpp
 In file included from /usr/include/c++/14/map:62,
                  from /usr/include/armadillo:49,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35:
@@ -7026,8 +7064,8 @@
 /usr/include/c++/14/bits/stl_tree.h:2206:5: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
  2206 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-[ 80%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/sdp_primal_dual_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/sdp_primal_dual_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/sdp_primal_dual_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/sdp_primal_dual_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/sdp_primal_dual_test.cpp
+[ 81%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/sgdr_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/sgdr_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/sgdr_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/sgdr_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/sgdr_test.cpp
 /usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
 /usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
  2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
@@ -7081,8 +7119,77 @@
 /usr/include/c++/14/bits/stl_algo.h:1822:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
  1822 |         std::__insertion_sort(__first, __last, __comp);
       |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-[ 81%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/sgdr_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/sgdr_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/sgdr_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/sgdr_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/sgdr_test.cpp
+In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
+                 from /build/reproducible-path/ensmallen-2.22.1/tests/sgdr_test.cpp:12:
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::CyclicalDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::CyclicalDecay; typename MatType::elem_type = double]'
+  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  142 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  143 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgdr/sgdr_impl.hpp:76:28:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGDR<UpdatePolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
+   76 |   return optimizer.Optimize(function, iterate, callbacks...);
+      |          ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgdr/sgdr.hpp:121:26:   required from 'typename MatType::elem_type ens::SGDR<UpdatePolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; typename MatType::elem_type = double]'
+  120 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  121 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  122 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:200:23:   required from 'void LogisticRegressionFunctionTest(OptimizerType&, double, double, size_t) [with MatType = arma::Mat<double>; OptimizerType = ens::SGDR<>; size_t = unsigned int]'
+  200 |     optimizer.Optimize(lr, coordinates);
+      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/sgdr_test.cpp:66:35:   required from here
+   66 |     LogisticRegressionFunctionTest(sgdr, 0.003, 0.006);
+      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::MomentumUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<float> >; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::CyclicalDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<float> >; MatType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::CyclicalDecay; typename MatType::elem_type = float]'
+  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  142 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  143 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgdr/sgdr_impl.hpp:76:28:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGDR<UpdatePolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<float> >; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]'
+   76 |   return optimizer.Optimize(function, iterate, callbacks...);
+      |          ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgdr/sgdr.hpp:121:26:   required from 'typename MatType::elem_type ens::SGDR<UpdatePolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<float> >; MatType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; typename MatType::elem_type = float]'
+  120 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  121 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  122 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:200:23:   required from 'void LogisticRegressionFunctionTest(OptimizerType&, double, double, size_t) [with MatType = arma::Mat<float>; OptimizerType = ens::SGDR<>; size_t = unsigned int]'
+  200 |     optimizer.Optimize(lr, coordinates);
+      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/sgdr_test.cpp:80:47:   required from here
+   80 |     LogisticRegressionFunctionTest<arma::fmat>(sgdr, 0.015, 0.03, 3);
+      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::MomentumUpdate::Policy<arma::Mat<float>, arma::Mat<float> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+[ 83%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/sgd_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/sgd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/sgd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/sgd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/sgd_test.cpp
+In file included from /usr/include/c++/14/map:62,
+                 from /usr/include/armadillo:49,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35:
+/usr/include/c++/14/bits/stl_tree.h: In function 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(const_iterator, const key_type&) [with _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
+/usr/include/c++/14/bits/stl_tree.h:2206:5: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+ 2206 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
+      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
 /usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
  2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
@@ -7225,79 +7332,6 @@
 /usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
  1908 |           std::__final_insertion_sort(__first, __last, __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
-                 from /build/reproducible-path/ensmallen-2.22.1/tests/sgdr_test.cpp:12:
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::CyclicalDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::CyclicalDecay; typename MatType::elem_type = double]'
-  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  142 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  143 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgdr/sgdr_impl.hpp:76:28:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGDR<UpdatePolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
-   76 |   return optimizer.Optimize(function, iterate, callbacks...);
-      |          ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgdr/sgdr.hpp:121:26:   required from 'typename MatType::elem_type ens::SGDR<UpdatePolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; typename MatType::elem_type = double]'
-  120 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  121 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  122 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:200:23:   required from 'void LogisticRegressionFunctionTest(OptimizerType&, double, double, size_t) [with MatType = arma::Mat<double>; OptimizerType = ens::SGDR<>; size_t = unsigned int]'
-  200 |     optimizer.Optimize(lr, coordinates);
-      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/sgdr_test.cpp:66:35:   required from here
-   66 |     LogisticRegressionFunctionTest(sgdr, 0.003, 0.006);
-      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::MomentumUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<float> >; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::CyclicalDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:142:26:   required from 'typename MatType::elem_type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<float> >; MatType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; DecayPolicyType = ens::CyclicalDecay; typename MatType::elem_type = float]'
-  141 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  142 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  143 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgdr/sgdr_impl.hpp:76:28:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGDR<UpdatePolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<float> >; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]'
-   76 |   return optimizer.Optimize(function, iterate, callbacks...);
-      |          ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgdr/sgdr.hpp:121:26:   required from 'typename MatType::elem_type ens::SGDR<UpdatePolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<float> >; MatType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::MomentumUpdate; typename MatType::elem_type = float]'
-  120 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  121 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  122 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:200:23:   required from 'void LogisticRegressionFunctionTest(OptimizerType&, double, double, size_t) [with MatType = arma::Mat<float>; OptimizerType = ens::SGDR<>; size_t = unsigned int]'
-  200 |     optimizer.Optimize(lr, coordinates);
-      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/sgdr_test.cpp:80:47:   required from here
-   80 |     LogisticRegressionFunctionTest<arma::fmat>(sgdr, 0.015, 0.03, 3);
-      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::MomentumUpdate::Policy<arma::Mat<float>, arma::Mat<float> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-In file included from /usr/include/c++/14/map:62,
-                 from /usr/include/armadillo:49,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:35:
-/usr/include/c++/14/bits/stl_tree.h: In function 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(const_iterator, const key_type&) [with _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
-/usr/include/c++/14/bits/stl_tree.h:2206:5: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
- 2206 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
-      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-[ 83%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/sgd_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/sgd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/sgd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/sgd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/sgd_test.cpp
-[ 85%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/smorms3_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/smorms3_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/smorms3_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/smorms3_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/smorms3_test.cpp
 /usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
 /usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
  2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
@@ -7320,6 +7354,12 @@
       |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
   641 |                                              std::forward<_Args>(__args)...);
       |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+[ 85%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/smorms3_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/smorms3_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/smorms3_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/smorms3_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/smorms3_test.cpp
+[ 87%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/snapshot_ensembles.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/snapshot_ensembles.cpp.o -MF CMakeFiles/ensmallen_tests.dir/snapshot_ensembles.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/snapshot_ensembles.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/snapshot_ensembles.cpp
+[ 89%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/spalera_sgd_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/spalera_sgd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/spalera_sgd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/spalera_sgd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/spalera_sgd_test.cpp
 In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
@@ -7376,10 +7416,8 @@
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-[ 87%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/snapshot_ensembles.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/snapshot_ensembles.cpp.o -MF CMakeFiles/ensmallen_tests.dir/snapshot_ensembles.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/snapshot_ensembles.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/snapshot_ensembles.cpp
-[ 89%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/spalera_sgd_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/spalera_sgd_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/spalera_sgd_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/spalera_sgd_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/spalera_sgd_test.cpp
+[ 90%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/spsa_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/spsa_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/spsa_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/spsa_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/spsa_test.cpp
 In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
@@ -7498,8 +7536,8 @@
 /usr/include/c++/14/bits/stl_tree.h:2206:5: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
  2206 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-[ 90%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/spsa_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/spsa_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/spsa_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/spsa_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/spsa_test.cpp
+[ 92%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/svrg_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/svrg_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/svrg_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/svrg_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/svrg_test.cpp
 /usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
 /usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
  2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
@@ -7522,10 +7560,10 @@
       |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
   641 |                                              std::forward<_Args>(__args)...);
       |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-[ 92%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/svrg_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/svrg_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/svrg_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/svrg_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/svrg_test.cpp
 [ 94%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/swats_test.cpp.o
 cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/swats_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/swats_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/swats_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/swats_test.cpp
+[ 96%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/wn_grad_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/wn_grad_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/wn_grad_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/wn_grad_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/wn_grad_test.cpp
 In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/svrg/svrg.hpp:274,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:144,
                  from /build/reproducible-path/ensmallen-2.22.1/tests/svrg_test.cpp:12:
@@ -7567,8 +7605,8 @@
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/svrg/svrg_impl.hpp:107:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
 /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/svrg/svrg_impl.hpp:107:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-[ 96%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/wn_grad_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/wn_grad_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/wn_grad_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/wn_grad_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/wn_grad_test.cpp
+[ 98%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/yogi_test.cpp.o
+cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/yogi_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/yogi_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/yogi_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/yogi_test.cpp
 In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
                  from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
@@ -7754,35 +7792,146 @@
 /usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
  2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
-/usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
-In file included from /usr/include/c++/14/map:63:
-In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
-    inlined from 'void arma::MapMat<eT>::operator=(const arma::SpMat<eT>&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:169:27,
-    inlined from 'void arma::SpMat<eT>::sync_cache_simple() const [with eT = double]' at /usr/include/armadillo_bits/SpMat_meat.hpp:6773:16:
-/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
-  640 |           return _M_t._M_emplace_hint_unique(__pos,
-      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
-  641 |                                              std::forward<_Args>(__args)...);
-      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
-    inlined from 'void arma::MapMat<eT>::set_val(arma::uword, const eT&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:796:27,
-    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1390:21:
-/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
-  640 |           return _M_t._M_emplace_hint_unique(__pos,
-      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
-  641 |                                              std::forward<_Args>(__args)...);
-      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
-    inlined from 'void arma::MapMat<eT>::set_val(arma::uword, const eT&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:800:25,
-    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1390:21:
-/usr/include/c++/14/bits/stl_map.h:513:44: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
-  513 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
-      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  514 |                                             std::tuple<const key_type&>(__k),
-      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  515 |                                             std::tuple<>());
-      |                                             ~~~~~~~~~~~~~~~
+In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
+                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
+                 from /build/reproducible-path/ensmallen-2.22.1/tests/yogi_test.cpp:11:
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::YogiUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:110:26:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
+  109 |     return optimizer.Optimize<SeparableFunctionType, MatType, GradType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  110 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  111 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:123:26:   required from 'typename MatType::elem_type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; CallbackTypes = {}; typename MatType::elem_type = double]'
+  122 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  123 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  124 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/yogi_test.cpp:27:21:   required from here
+   27 |   optimizer.Optimize(f, coordinates);
+      |   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::YogiUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::YogiUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:110:26:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]'
+  109 |     return optimizer.Optimize<SeparableFunctionType, MatType, GradType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  110 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  111 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:123:26:   required from 'typename MatType::elem_type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; CallbackTypes = {}; typename MatType::elem_type = float]'
+  122 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  123 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  124 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/yogi_test.cpp:42:21:   required from here
+   42 |   optimizer.Optimize(f, coordinates);
+      |   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::YogiUpdate::Policy<arma::Mat<float>, arma::Mat<float> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::YogiUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:110:26:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
+  109 |     return optimizer.Optimize<SeparableFunctionType, MatType, GradType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  110 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  111 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:123:26:   required from 'typename MatType::elem_type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; CallbackTypes = {}; typename MatType::elem_type = double]'
+  122 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  123 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  124 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:200:23:   required from 'void LogisticRegressionFunctionTest(OptimizerType&, double, double, size_t) [with MatType = arma::Mat<double>; OptimizerType = ens::Yogi; size_t = unsigned int]'
+  200 |     optimizer.Optimize(lr, coordinates);
+      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/yogi_test.cpp:63:33:   required from here
+   63 |   LogisticRegressionFunctionTest(optimizer, 0.003, 0.006);
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::YogiUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<float> >; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::YogiUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:110:26:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<float> >; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]'
+  109 |     return optimizer.Optimize<SeparableFunctionType, MatType, GradType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  110 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  111 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:123:26:   required from 'typename MatType::elem_type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<float> >; MatType = arma::Mat<float>; CallbackTypes = {}; typename MatType::elem_type = float]'
+  122 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  123 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  124 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:200:23:   required from 'void LogisticRegressionFunctionTest(OptimizerType&, double, double, size_t) [with MatType = arma::Mat<float>; OptimizerType = ens::Yogi; size_t = unsigned int]'
+  200 |     optimizer.Optimize(lr, coordinates);
+      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/yogi_test.cpp:73:45:   required from here
+   73 |   LogisticRegressionFunctionTest<arma::fmat>(optimizer, 0.003, 0.006);
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::YogiUpdate::Policy<arma::Mat<float>, arma::Mat<float> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::McCormickFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::YogiUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:110:26:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::McCormickFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
+  109 |     return optimizer.Optimize<SeparableFunctionType, MatType, GradType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  110 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  111 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:123:26:   required from 'typename MatType::elem_type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::McCormickFunction; MatType = arma::Mat<double>; CallbackTypes = {}; typename MatType::elem_type = double]'
+  122 |     return Optimize<SeparableFunctionType, MatType, MatType,
+      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  123 |         CallbackTypes...>(function, iterate,
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
+  124 |         std::forward<CallbackTypes>(callbacks)...);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:110:46:   required from 'bool TestOptimizer(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, bool) [with FunctionType = ens::test::McCormickFunction; OptimizerType = ens::Yogi; PointType = arma::Mat<double>]'
+  110 |   const double objective = optimizer.Optimize(f, point);
+      |                            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:152:32:   required from 'void MultipleTrialOptimizerTest(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, size_t) [with FunctionType = ens::test::McCormickFunction; OptimizerType = ens::Yogi; PointType = arma::Mat<double>; size_t = unsigned int]'
+  152 |     bool result = TestOptimizer(f, optimizer, coordinates, expectedResult,
+      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  153 |         coordinateMargin, expectedObjective, objectiveMargin,
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  154 |         (t == (trials - 1)));
+      |         ~~~~~~~~~~~~~~~~~~~~    
+/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:176:29:   required from 'void FunctionTest(OptimizerType&, double, double, size_t) [with FunctionType = ens::test::McCormickFunction; MatType = arma::Mat<double>; OptimizerType = ens::Yogi; size_t = unsigned int]'
+  176 |   MultipleTrialOptimizerTest(f, optimizer, initialPoint, expectedResult,
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  177 |       coordinateMargin, f.GetFinalObjective(), objectiveMargin, trials);
+      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/tests/yogi_test.cpp:54:34:   required from here
+   54 |   FunctionTest<McCormickFunction>(optimizer, 0.5, 0.1);
+      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::YogiUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
+  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
+/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
 In file included from /usr/include/c++/14/bits/stl_algo.h:61,
                  from /usr/include/c++/14/algorithm:61,
                  from /usr/include/armadillo:45,
@@ -7818,10 +7967,28 @@
 /usr/include/c++/14/bits/stl_algo.h:1822:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
  1822 |         std::__insertion_sort(__first, __last, __comp);
       |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
+/usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+In file included from /usr/include/c++/14/map:63:
+In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
+    inlined from 'void arma::MapMat<eT>::operator=(const arma::SpMat<eT>&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:169:27,
+    inlined from 'void arma::SpMat<eT>::sync_cache_simple() const [with eT = double]' at /usr/include/armadillo_bits/SpMat_meat.hpp:6773:16:
+/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
+  640 |           return _M_t._M_emplace_hint_unique(__pos,
+      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
+  641 |                                              std::forward<_Args>(__args)...);
+      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
+    inlined from 'void arma::MapMat<eT>::set_val(arma::uword, const eT&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:796:27,
+    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1390:21:
+/usr/include/c++/14/bits/stl_map.h:640:45: note: parameter passing for argument of type 'std::map<unsigned int, double, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator'} changed in GCC 7.1
+  640 |           return _M_t._M_emplace_hint_unique(__pos,
+      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
+  641 |                                              std::forward<_Args>(__args)...);
+      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
-    inlined from 'void arma::SpMat_MapMat_val<eT>::add(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1417:33,
-    inlined from 'arma::SpMat_MapMat_val<eT>& arma::SpMat_MapMat_val<eT>::operator+=(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1211:16,
-    inlined from 'void ens::test::StyblinskiTangFunction::Gradient(const MatType&, size_t, GradType&, size_t) const [with MatType = arma::SpMat<double>; GradType = arma::SpMat<double>]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/problems/styblinski_tang_function_impl.hpp:72:17:
+    inlined from 'void arma::MapMat<eT>::set_val(arma::uword, const eT&) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:800:25,
+    inlined from 'void arma::SpMat_MapMat_val<eT>::set(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1390:21:
 /usr/include/c++/14/bits/stl_map.h:513:44: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
   513 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
       |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -7860,6 +8027,28 @@
       |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   515 |                                             std::tuple<>());
       |                                             ~~~~~~~~~~~~~~~
+In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
+    inlined from 'void arma::SpMat_MapMat_val<eT>::add(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1417:33,
+    inlined from 'arma::SpMat_MapMat_val<eT>& arma::SpMat_MapMat_val<eT>::operator+=(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1211:16,
+    inlined from 'void ens::test::StyblinskiTangFunction::Gradient(const MatType&, size_t, GradType&, size_t) const [with MatType = arma::SpMat<double>; GradType = arma::SpMat<double>]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/problems/styblinski_tang_function_impl.hpp:72:17:
+/usr/include/c++/14/bits/stl_map.h:513:44: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+  513 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
+      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  514 |                                             std::tuple<const key_type&>(__k),
+      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  515 |                                             std::tuple<>());
+      |                                             ~~~~~~~~~~~~~~~
+In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
+    inlined from 'void arma::SpMat_MapMat_val<eT>::add(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1417:33,
+    inlined from 'arma::SpMat_MapMat_val<eT>& arma::SpMat_MapMat_val<eT>::operator+=(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1211:16,
+    inlined from 'void ens::test::StyblinskiTangFunction::Gradient(const MatType&, size_t, GradType&, size_t) const [with MatType = arma::SpMat<double>; GradType = arma::SpMat<double>]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/problems/styblinski_tang_function_impl.hpp:72:17:
+/usr/include/c++/14/bits/stl_map.h:513:44: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
+  513 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
+      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  514 |                                             std::tuple<const key_type&>(__k),
+      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  515 |                                             std::tuple<>());
+      |                                             ~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const unsigned int&, const double&}; _Key = unsigned int; _Val = std::pair<const unsigned int, double>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, double> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]':
 /usr/include/c++/14/bits/stl_tree.h:2454:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
  2454 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
@@ -7882,19 +8071,6 @@
       |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
   641 |                                              std::forward<_Args>(__args)...);
       |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-[ 98%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/yogi_test.cpp.o
-cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/c++  -I/build/reproducible-path/ensmallen-2.22.1/include -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -Wall -Wpedantic -Wunused -MD -MT tests/CMakeFiles/ensmallen_tests.dir/yogi_test.cpp.o -MF CMakeFiles/ensmallen_tests.dir/yogi_test.cpp.o.d -o CMakeFiles/ensmallen_tests.dir/yogi_test.cpp.o -c /build/reproducible-path/ensmallen-2.22.1/tests/yogi_test.cpp
-In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = unsigned int; _Tp = double; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, double> >]',
-    inlined from 'void arma::SpMat_MapMat_val<eT>::add(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1417:33,
-    inlined from 'arma::SpMat_MapMat_val<eT>& arma::SpMat_MapMat_val<eT>::operator+=(eT) [with eT = double]' at /usr/include/armadillo_bits/MapMat_meat.hpp:1211:16,
-    inlined from 'void ens::test::StyblinskiTangFunction::Gradient(const MatType&, size_t, GradType&, size_t) const [with MatType = arma::SpMat<double>; GradType = arma::SpMat<double>]' at /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/problems/styblinski_tang_function_impl.hpp:72:17:
-/usr/include/c++/14/bits/stl_map.h:513:44: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, double>, std::_Select1st<std::pair<const unsigned int, double> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, double> > >::const_iterator' changed in GCC 7.1
-  513 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
-      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  514 |                                             std::tuple<const key_type&>(__k),
-      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  515 |                                             std::tuple<>());
-      |                                             ~~~~~~~~~~~~~~~
 /usr/include/c++/14/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<double, unsigned int>*, vector<pair<double, unsigned int>, allocator<pair<double, unsigned int> > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<arma::newarp::PairComparator<pair<double, unsigned int> > >]':
 /usr/include/c++/14/bits/stl_algo.h:1876:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
  1876 |     __introsort_loop(_RandomAccessIterator __first,
@@ -8135,146 +8311,6 @@
 /usr/include/c++/14/bits/stl_algo.h:1908:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<double, unsigned int>*, std::vector<std::pair<double, unsigned int>, std::allocator<std::pair<double, unsigned int> > > >' changed in GCC 7.1
  1908 |           std::__final_insertion_sort(__first, __last, __comp);
       |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd.hpp:257,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/ada_belief/ada_belief.hpp:17,
-                 from /build/reproducible-path/ensmallen-2.22.1/include/ensmallen.hpp:94,
-                 from /build/reproducible-path/ensmallen-2.22.1/tests/yogi_test.cpp:11:
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::YogiUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:110:26:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
-  109 |     return optimizer.Optimize<SeparableFunctionType, MatType, GradType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  110 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  111 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:123:26:   required from 'typename MatType::elem_type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<double>; CallbackTypes = {}; typename MatType::elem_type = double]'
-  122 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  123 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  124 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/yogi_test.cpp:27:21:   required from here
-   27 |   optimizer.Optimize(f, coordinates);
-      |   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::YogiUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::YogiUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:110:26:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]'
-  109 |     return optimizer.Optimize<SeparableFunctionType, MatType, GradType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  110 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  111 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:123:26:   required from 'typename MatType::elem_type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::SphereFunction; MatType = arma::Mat<float>; CallbackTypes = {}; typename MatType::elem_type = float]'
-  122 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  123 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  124 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/yogi_test.cpp:42:21:   required from here
-   42 |   optimizer.Optimize(f, coordinates);
-      |   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::YogiUpdate::Policy<arma::Mat<float>, arma::Mat<float> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::YogiUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:110:26:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
-  109 |     return optimizer.Optimize<SeparableFunctionType, MatType, GradType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  110 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  111 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:123:26:   required from 'typename MatType::elem_type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<double> >; MatType = arma::Mat<double>; CallbackTypes = {}; typename MatType::elem_type = double]'
-  122 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  123 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  124 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:200:23:   required from 'void LogisticRegressionFunctionTest(OptimizerType&, double, double, size_t) [with MatType = arma::Mat<double>; OptimizerType = ens::Yogi; size_t = unsigned int]'
-  200 |     optimizer.Optimize(lr, coordinates);
-      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/yogi_test.cpp:63:33:   required from here
-   63 |   LogisticRegressionFunctionTest(optimizer, 0.003, 0.006);
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::YogiUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<float> >; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; UpdatePolicyType = ens::YogiUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:110:26:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<float> >; MatType = arma::Mat<float>; GradType = arma::Mat<float>; CallbackTypes = {}; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = float; typename MatType::elem_type = float]'
-  109 |     return optimizer.Optimize<SeparableFunctionType, MatType, GradType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  110 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  111 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:123:26:   required from 'typename MatType::elem_type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::LogisticRegressionFunction<arma::Mat<float> >; MatType = arma::Mat<float>; CallbackTypes = {}; typename MatType::elem_type = float]'
-  122 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  123 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  124 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:200:23:   required from 'void LogisticRegressionFunctionTest(OptimizerType&, double, double, size_t) [with MatType = arma::Mat<float>; OptimizerType = ens::Yogi; size_t = unsigned int]'
-  200 |     optimizer.Optimize(lr, coordinates);
-      |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/yogi_test.cpp:73:45:   required from here
-   73 |   LogisticRegressionFunctionTest<arma::fmat>(optimizer, 0.003, 0.006);
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::YogiUpdate::Policy<arma::Mat<float>, arma::Mat<float> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp: In instantiation of 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::SGD<UpdatePolicyType, DecayPolicyType>::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::McCormickFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; UpdatePolicyType = ens::YogiUpdate; DecayPolicyType = ens::NoDecay; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]':
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:110:26:   required from 'typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::McCormickFunction; MatType = arma::Mat<double>; GradType = arma::Mat<double>; CallbackTypes = {}; typename std::enable_if<ens::IsArmaType<GradType>::value, typename MatType::elem_type>::type = double; typename MatType::elem_type = double]'
-  109 |     return optimizer.Optimize<SeparableFunctionType, MatType, GradType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  110 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  111 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/yogi/yogi.hpp:123:26:   required from 'typename MatType::elem_type ens::Yogi::Optimize(SeparableFunctionType&, MatType&, CallbackTypes&& ...) [with SeparableFunctionType = ens::test::McCormickFunction; MatType = arma::Mat<double>; CallbackTypes = {}; typename MatType::elem_type = double]'
-  122 |     return Optimize<SeparableFunctionType, MatType, MatType,
-      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  123 |         CallbackTypes...>(function, iterate,
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
-  124 |         std::forward<CallbackTypes>(callbacks)...);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:110:46:   required from 'bool TestOptimizer(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, bool) [with FunctionType = ens::test::McCormickFunction; OptimizerType = ens::Yogi; PointType = arma::Mat<double>]'
-  110 |   const double objective = optimizer.Optimize(f, point);
-      |                            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:152:32:   required from 'void MultipleTrialOptimizerTest(FunctionType&, OptimizerType&, PointType&, const PointType&, double, double, double, size_t) [with FunctionType = ens::test::McCormickFunction; OptimizerType = ens::Yogi; PointType = arma::Mat<double>; size_t = unsigned int]'
-  152 |     bool result = TestOptimizer(f, optimizer, coordinates, expectedResult,
-      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  153 |         coordinateMargin, expectedObjective, objectiveMargin,
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  154 |         (t == (trials - 1)));
-      |         ~~~~~~~~~~~~~~~~~~~~    
-/build/reproducible-path/ensmallen-2.22.1/tests/test_function_tools.hpp:176:29:   required from 'void FunctionTest(OptimizerType&, double, double, size_t) [with FunctionType = ens::test::McCormickFunction; MatType = arma::Mat<double>; OptimizerType = ens::Yogi; size_t = unsigned int]'
-  176 |   MultipleTrialOptimizerTest(f, optimizer, initialPoint, expectedResult,
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  177 |       coordinateMargin, f.GetFinalObjective(), objectiveMargin, trials);
-      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/tests/yogi_test.cpp:54:34:   required from here
-   54 |   FunctionTest<McCormickFunction>(optimizer, 0.5, 0.1);
-      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: warning: 'new' of type 'InstUpdatePolicyType' {aka 'ens::YogiUpdate::Policy<arma::Mat<double>, arma::Mat<double> >'} with extended alignment 16 [-Waligned-new=]
-  119 |         new InstUpdatePolicyType(updatePolicy, iterate.n_rows, iterate.n_cols));
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
-/build/reproducible-path/ensmallen-2.22.1/include/ensmallen_bits/sgd/sgd_impl.hpp:119:9: note: use '-faligned-new' to enable C++17 over-aligned new support
 [100%] Linking CXX executable ../ensmallen_tests
 cd /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/tests && /usr/bin/cmake -E cmake_link_script CMakeFiles/ensmallen_tests.dir/link.txt --verbose=1
 /usr/bin/c++ -g -O2 -ffile-prefix-map=/build/reproducible-path/ensmallen-2.22.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -Wl,--dependency-file,CMakeFiles/ensmallen_tests.dir/link.d CMakeFiles/ensmallen_tests.dir/main.cpp.o CMakeFiles/ensmallen_tests.dir/active_cmaes_test.cpp.o CMakeFiles/ensmallen_tests.dir/ada_belief_test.cpp.o CMakeFiles/ensmallen_tests.dir/ada_bound_test.cpp.o CMakeFiles/ensmallen_tests.dir/ada_delta_test.cpp.o CMakeFiles/ensmallen_tests.dir/ada_grad_test.cpp.o CMakeFiles/ensmallen_tests.dir/ada_sqrt_test.cpp.o CMakeFiles/ensmallen_tests.dir/adam_test.cpp.o CMakeFiles/ensmallen_tests.dir/aug_lagrangian_test.cpp.o CMakeFiles/ensmallen_tests.dir/bigbatch_sgd_test.cpp.o CMakeFiles/ensmallen_tests.dir/callbacks_test.cpp.o CMakeFiles/ensmallen_tests.dir/cd_test.cpp.o CMakeFiles/ensmallen_tests.dir/cmaes_test.cpp.o CMakeFiles/ensmallen_tests.dir/cne_test.cpp.o CMakeFiles/ensmallen_tests.dir/de_test.cpp.o CMakeFiles/ensmallen_tests.dir/demon_adam_test.cpp.o CMakeFiles/ensmallen_tests.dir/demon_sgd_test.cpp.o CMakeFiles/ensmallen_tests.dir/eve_test.cpp.o CMakeFiles/ensmallen_tests.dir/frankwolfe_test.cpp.o CMakeFiles/ensmallen_tests.dir/ftml_test.cpp.o CMakeFiles/ensmallen_tests.dir/function_test.cpp.o CMakeFiles/ensmallen_tests.dir/gradient_descent_test.cpp.o CMakeFiles/ensmallen_tests.dir/grid_search_test.cpp.o CMakeFiles/ensmallen_tests.dir/iqn_test.cpp.o CMakeFiles/ensmallen_tests.dir/indicators_test.cpp.o CMakeFiles/ensmallen_tests.dir/katyusha_test.cpp.o CMakeFiles/ensmallen_tests.dir/lbfgs_test.cpp.o CMakeFiles/ensmallen_tests.dir/line_search_test.cpp.o CMakeFiles/ensmallen_tests.dir/lookahead_test.cpp.o CMakeFiles/ensmallen_tests.dir/lrsdp_test.cpp.o CMakeFiles/ensmallen_tests.dir/moead_test.cpp.o CMakeFiles/ensmallen_tests.dir/agemoea_test.cpp.o CMakeFiles/ensmallen_tests.dir/momentum_sgd_test.cpp.o CMakeFiles/ensmallen_tests.dir/nesterov_momentum_sgd_test.cpp.o CMakeFiles/ensmallen_tests.dir/nsga2_test.cpp.o CMakeFiles/ensmallen_tests.dir/parallel_sgd_test.cpp.o CMakeFiles/ensmallen_tests.dir/pop_cmaes_test.cpp.o CMakeFiles/ensmallen_tests.dir/proximal_test.cpp.o CMakeFiles/ensmallen_tests.dir/pso_test.cpp.o CMakeFiles/ensmallen_tests.dir/quasi_hyperbolic_momentum_sgd_test.cpp.o CMakeFiles/ensmallen_tests.dir/rmsprop_test.cpp.o CMakeFiles/ensmallen_tests.dir/sa_test.cpp.o CMakeFiles/ensmallen_tests.dir/sarah_test.cpp.o CMakeFiles/ensmallen_tests.dir/sdp_primal_dual_test.cpp.o CMakeFiles/ensmallen_tests.dir/sgdr_test.cpp.o CMakeFiles/ensmallen_tests.dir/sgd_test.cpp.o CMakeFiles/ensmallen_tests.dir/smorms3_test.cpp.o CMakeFiles/ensmallen_tests.dir/snapshot_ensembles.cpp.o CMakeFiles/ensmallen_tests.dir/spalera_sgd_test.cpp.o CMakeFiles/ensmallen_tests.dir/spsa_test.cpp.o CMakeFiles/ensmallen_tests.dir/svrg_test.cpp.o CMakeFiles/ensmallen_tests.dir/swats_test.cpp.o CMakeFiles/ensmallen_tests.dir/wn_grad_test.cpp.o CMakeFiles/ensmallen_tests.dir/yogi_test.cpp.o -o ../ensmallen_tests  /usr/lib/libarmadillo.so
@@ -8312,10 +8348,10 @@
 fi; \
 ${ok}
 Test Run 1
-	cd obj-arm-linux-gnueabihf && make -j3 test ARGS\+=--verbose ARGS\+=-j3
+	cd obj-arm-linux-gnueabihf && make -j4 test ARGS\+=--verbose ARGS\+=-j4
 make[2]: Entering directory '/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf'
 Running tests...
-/usr/bin/ctest --force-new-ctest-process --verbose -j3
+/usr/bin/ctest --force-new-ctest-process --verbose -j4
 UpdateCTestConfiguration  from :/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/DartConfiguration.tcl
 UpdateCTestConfiguration  from :/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/DartConfiguration.tcl
 Test project /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf
@@ -8337,18 +8373,18 @@
 1: ===============================================================================
 1: All tests passed (12616 assertions in 341 test cases)
 1: 
-1/1 Test #1: ensmallen_tests ..................   Passed  600.27 sec
+1/1 Test #1: ensmallen_tests ..................   Passed  782.39 sec
 
 100% tests passed, 0 tests failed out of 1
 
-Total Test time (real) = 600.28 sec
+Total Test time (real) = 782.40 sec
 make[2]: Leaving directory '/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf'
 success
 Test Run 2
-	cd obj-arm-linux-gnueabihf && make -j3 test ARGS\+=--verbose ARGS\+=-j3
+	cd obj-arm-linux-gnueabihf && make -j4 test ARGS\+=--verbose ARGS\+=-j4
 make[2]: Entering directory '/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf'
 Running tests...
-/usr/bin/ctest --force-new-ctest-process --verbose -j3
+/usr/bin/ctest --force-new-ctest-process --verbose -j4
 UpdateCTestConfiguration  from :/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/DartConfiguration.tcl
 UpdateCTestConfiguration  from :/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf/DartConfiguration.tcl
 Test project /build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf
@@ -8370,11 +8406,11 @@
 1: ===============================================================================
 1: All tests passed (12616 assertions in 341 test cases)
 1: 
-1/1 Test #1: ensmallen_tests ..................   Passed  677.59 sec
+1/1 Test #1: ensmallen_tests ..................   Passed  769.07 sec
 
 100% tests passed, 0 tests failed out of 1
 
-Total Test time (real) = 677.59 sec
+Total Test time (real) = 769.07 sec
 make[2]: Leaving directory '/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf'
 success
 All 2 test runs succeeded.
@@ -8382,7 +8418,7 @@
    create-stamp debian/debhelper-build-stamp
    dh_prep
    dh_auto_install --destdir=debian/libensmallen-dev/
-	cd obj-arm-linux-gnueabihf && make -j3 install DESTDIR=/build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true"
+	cd obj-arm-linux-gnueabihf && make -j4 install DESTDIR=/build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true"
 make[1]: Entering directory '/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf'
 /usr/bin/cmake -S/build/reproducible-path/ensmallen-2.22.1 -B/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf --check-build-system CMakeFiles/Makefile.cmake 0
 make  -f CMakeFiles/Makefile2 preinstall
@@ -8396,349 +8432,349 @@
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/lib/cmake/ensmallen/ensmallen-config-version.cmake
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/lib/cmake/ensmallen/ensmallen-targets.cmake
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/wn_grad
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/wn_grad/wn_grad_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/wn_grad/wn_grad.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/wn_grad/wn_grad_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/demon_sgd
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/demon_sgd/demon_sgd.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/demon_sgd/demon_sgd_update.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/adam
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/adam/adamax_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/adam/adam_impl.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/adam/adam.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/adam/nadamax_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/adam/nadam_update.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/adam/optimisticadam_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/adam/nadam_update.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/adam/adam_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/adam/nadamax_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/adam/adamax_update.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/adam/amsgrad_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/katyusha
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/katyusha/katyusha.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/katyusha/katyusha_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sa
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sa/sa.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sa/sa_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sa/exponential_schedule.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/adam/adam_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ens_version.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cd
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cd/descent_policies
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cd/descent_policies/random_descent.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cd/descent_policies/cyclic_descent.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cd/descent_policies/greedy_descent.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cd/cd.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cd/cd_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/eve
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/eve/eve.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/eve/eve_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/swats
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/swats/swats_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/swats/swats.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/swats/swats_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/qhadam
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/qhadam/qhadam_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/qhadam/qhadam_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/qhadam/qhadam.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/arma_traits.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/add_gradient.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/add_evaluate_with_gradient.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/add_evaluate.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/traits.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/add_separable_evaluate.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/sfinae_utility.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/static_checks.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/add_separable_evaluate_with_gradient.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/add_separable_gradient.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_sqrt
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_sqrt/ada_sqrt.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_sqrt/ada_sqrt_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_sqrt/ada_sqrt_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_belief
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_belief/ada_belief_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_belief/ada_belief.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_belief/ada_belief_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/svrg
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/svrg/svrg_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/svrg/svrg_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/svrg/barzilai_borwein_decay.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/svrg/svrg.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/moead_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/decomposition_policies
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/decomposition_policies/pbi_decomposition.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/decomposition_policies/weighted_decomposition.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/decomposition_policies/tchebycheff_decomposition.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/weight_init_policies
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/weight_init_policies/dirichlet_init.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/weight_init_policies/bbs_init.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/weight_init_policies/uniform_init.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/moead.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ftml
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ftml/ftml.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ftml/ftml_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ftml/ftml_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/lrsdp_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/lrsdp.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/lin_alg.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/primal_dual.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/lrsdp_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/sdp_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/primal_dual_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/lrsdp_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/sdp.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/spsa
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/spsa/spsa_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/spsa/spsa.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_grad
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_grad/ada_grad.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_grad/ada_grad_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_grad/ada_grad_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/bigbatch_sgd
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/bigbatch_sgd/adaptive_stepsize.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/bigbatch_sgd/backtracking_line_search.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/rmsprop
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/rmsprop/rmsprop.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/rmsprop/rmsprop_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_delta
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_delta/ada_delta.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_delta/ada_delta_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_delta/ada_delta_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cne
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cne/cne.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cne/cne_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/lbfgs
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/lbfgs/lbfgs_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/lbfgs/lbfgs.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/eggholder_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/schwefel_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/bukin_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/schwefel_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/holder_table_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/mc_cormick_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/aug_lagrangian_test_functions_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/beale_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/logistic_regression_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/ackley_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/drop_wave_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/aug_lagrangian_test_functions.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/schaffer_function_n2.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/ackley_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/rastrigin_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/eggholder_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/booth_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/sparse_test_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/gradient_descent_test_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/himmelblau_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/sgd_test_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/easom_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/booth_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/three_hump_camel_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/drop_wave_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/schaffer_function_n1.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/sparse_test_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/ackley_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/styblinski_tang_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/levy_function_n13_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/cross_in_tray_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/styblinski_tang_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/wood_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/sparse_test_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/sgd_test_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/levy_function_n13.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/softmax_regression_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/logistic_regression_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/schaffer_function_n4_impl.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/rosenbrock_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/matyas_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/levy_function_n13_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/rastrigin_function_impl.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/sphere_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/goldstein_price_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/cross_in_tray_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/rosenbrock_wood_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/softmax_regression_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/schwefel_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/three_hump_camel_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/wood_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/schaffer_function_n1.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/booth_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/zdt
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/zdt/zdt1_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/zdt/zdt2_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/zdt/zdt6_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/zdt/zdt4_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/zdt/zdt3_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/drop_wave_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/rastrigin_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/schaffer_function_n2.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/logistic_regression_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/beale_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/eggholder_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/rosenbrock_wood_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/colville_function_impl.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/rosenbrock_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/schaffer_function_n4.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/mc_cormick_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/easom_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/fw_test_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/schaffer_function_n2_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/himmelblau_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/rastrigin_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/goldstein_price_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/schaffer_function_n4_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/colville_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/generalized_rosenbrock_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/sgd_test_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/eggholder_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/goldstein_price_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/beale_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/wood_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/colville_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/booth_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/holder_table_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/colville_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/ackley_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/three_hump_camel_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/generalized_rosenbrock_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/aug_lagrangian_test_functions.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/drop_wave_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/gradient_descent_test_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/mc_cormick_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/dtlz
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/dtlz/dtlz4_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/dtlz/dtlz3_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/dtlz/dtlz6_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/dtlz/dtlz1_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/dtlz/dtlz2_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/dtlz/dtlz6_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/dtlz/dtlz7_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/dtlz/dtlz1_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/dtlz/dtlz5_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/bukin_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/gradient_descent_test_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/holder_table_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/logistic_regression_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/fw_test_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/easom_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/matyas_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/mc_cormick_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/sphere_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/fonseca_fleming_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/three_hump_camel_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/zdt
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/zdt/zdt3_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/zdt/zdt6_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/zdt/zdt2_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/zdt/zdt1_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/zdt/zdt4_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/dtlz/dtlz3_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/problems.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/levy_function_n13.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/schaffer_function_n4.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/wood_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/maf
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/maf/maf1_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/maf/maf5_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/maf/maf4_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/maf/maf2_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/maf/maf6_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/maf/maf4_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/maf/maf1_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/maf/maf3_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/holder_table_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/styblinski_tang_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/himmelblau_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/fonseca_fleming_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/softmax_regression_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/aug_lagrangian_test_functions_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/cross_in_tray_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/sgd_test_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/bukin_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/cross_in_tray_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/softmax_regression_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/bukin_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/schwefel_function_impl.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/matyas_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/generalized_rosenbrock_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/problems.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/lrsdp_function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/sdp_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/lrsdp_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/lin_alg.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/primal_dual.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/sdp.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/primal_dual_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/lrsdp.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sdp/lrsdp_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/iqn
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/iqn/iqn.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/iqn/iqn_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_belief
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_belief/ada_belief.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_belief/ada_belief_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_belief/ada_belief_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/parallel_sgd
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/parallel_sgd/decay_policies
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/parallel_sgd/decay_policies/exponential_backoff.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/parallel_sgd/decay_policies/constant_step.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/parallel_sgd/parallel_sgd.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/parallel_sgd/parallel_sgd_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/nsga2
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/nsga2/nsga2.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/nsga2/nsga2_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/qhadam
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/qhadam/qhadam_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/qhadam/qhadam.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/qhadam/qhadam_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/demon_sgd
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/demon_sgd/demon_sgd_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/demon_sgd/demon_sgd.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/grid_search
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/grid_search/grid_search_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/grid_search/grid_search.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/eve
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/eve/eve.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/eve/eve_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/yogi
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/yogi/yogi_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/yogi/yogi.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/yogi/yogi_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cne
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cne/cne_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cne/cne.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/demon_adam
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/demon_adam/demon_adam.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/demon_adam/demon_adam_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sarah
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sarah/sarah_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sarah/sarah_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sarah/sarah_plus_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sarah/sarah.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/utility
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/utility/arma_traits.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/utility/any.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/utility/indicators
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/utility/indicators/igd.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/utility/indicators/epsilon.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/utility/indicators/igd_plus.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/agemoea
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/agemoea/agemoea.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/agemoea/agemoea_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/add_separable_gradient.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/arma_traits.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/add_evaluate_with_gradient.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/add_separable_evaluate.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/traits.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/static_checks.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/add_gradient.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/add_separable_evaluate_with_gradient.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/add_evaluate.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/function/sfinae_utility.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/spalera_sgd
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/spalera_sgd/spalera_sgd_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/spalera_sgd/spalera_sgd.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/spalera_sgd/spalera_stepsize.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/log.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/weight_init_policies
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/weight_init_policies/uniform_init.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/weight_init_policies/bbs_init.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/weight_init_policies/dirichlet_init.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/moead_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/moead.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/decomposition_policies
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/decomposition_policies/weighted_decomposition.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/decomposition_policies/tchebycheff_decomposition.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/moead/decomposition_policies/pbi_decomposition.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/sphere_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/goldstein_price_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/sparse_test_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/rosenbrock_wood_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/gradient_descent_test_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/generalized_rosenbrock_function_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/problems/himmelblau_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/atoms.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/update_full_correction.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/func_sq.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/update_classic.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/line_search
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/line_search/line_search_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/line_search/line_search.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/frank_wolfe_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/proximal
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/proximal/proximal.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/proximal/proximal_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/update_full_correction.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/update_span.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/frank_wolfe.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/constr_lpball.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/update_span.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/constr_structure_group.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/update_classic.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/atoms.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/update_linesearch.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/proximal
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/proximal/proximal.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/proximal/proximal_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/line_search
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/line_search/line_search_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/fw/line_search/line_search.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgdr
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgdr/snapshot_sgdr_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgdr/cyclical_decay.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgdr/snapshot_sgdr.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgdr/snapshot_ensembles.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgdr/sgdr_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgdr/sgdr.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/config.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/pop_cmaes.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/active_cmaes_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/random_selection.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/cmaes.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/active_cmaes.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/cmaes_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/not_empty_transformation.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/pop_cmaes_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/transformation_policies
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/transformation_policies/empty_transformation.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/transformation_policies/boundary_box_constraint.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/full_selection.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_bound
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_bound/ams_bound_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_bound/ada_bound_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_bound/ada_bound.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_bound/ada_bound_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/smorms3
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/smorms3/smorms3_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/smorms3/smorms3.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/smorms3/smorms3_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sa
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sa/sa.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sa/exponential_schedule.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sa/sa_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/grid_search
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/grid_search/grid_search.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/grid_search/grid_search_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/utility
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/utility/arma_traits.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/utility/indicators
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/utility/indicators/epsilon.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/utility/indicators/igd_plus.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/utility/indicators/igd.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/utility/any.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/aug_lagrangian
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/aug_lagrangian/aug_lagrangian_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/aug_lagrangian/aug_lagrangian_function.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/aug_lagrangian/aug_lagrangian.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/aug_lagrangian/aug_lagrangian_function_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ens_version.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_grad
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_grad/ada_grad_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_grad/ada_grad_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_grad/ada_grad.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/svrg
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/svrg/svrg_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/svrg/barzilai_borwein_decay.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/svrg/svrg.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/svrg/svrg_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/aug_lagrangian/aug_lagrangian_function.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/katyusha
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/katyusha/katyusha_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/katyusha/katyusha.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/yogi
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/yogi/yogi.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/yogi/yogi_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/yogi/yogi_impl.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/padam
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/padam/padam.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/padam/padam_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/spsa
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/spsa/spsa.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/spsa/spsa_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/decay_policies
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/decay_policies/no_decay.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/sgd.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/sgd_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/update_policies
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/update_policies/momentum_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/update_policies/vanilla_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/update_policies/nesterov_momentum_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/update_policies/gradient_clipping.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/update_policies/quasi_hyperbolic_update.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/lookahead
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/lookahead/lookahead_impl.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/lookahead/lookahead.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_delta
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_delta/ada_delta_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_delta/ada_delta.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_delta/ada_delta_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_sqrt
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_sqrt/ada_sqrt_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_sqrt/ada_sqrt_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_sqrt/ada_sqrt.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/lookahead/lookahead_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/spalera_sgd
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/spalera_sgd/spalera_stepsize.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/spalera_sgd/spalera_sgd_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/spalera_sgd/spalera_sgd.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/pso
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/pso/pso_impl.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/pso/pso.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/pso/update_policies
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/pso/update_policies/lbest_update.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/pso/init_policies
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/pso/init_policies/default_init.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/lbfgs
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/lbfgs/lbfgs_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/lbfgs/lbfgs.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/bigbatch_sgd
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/bigbatch_sgd/backtracking_line_search.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/bigbatch_sgd/adaptive_stepsize.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/bigbatch_sgd/bigbatch_sgd.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/de
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/de/de.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/de/de_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/random_selection.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/cmaes.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/cmaes_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/full_selection.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/active_cmaes.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/active_cmaes_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/pop_cmaes_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/transformation_policies
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/transformation_policies/boundary_box_constraint.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/transformation_policies/empty_transformation.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/pop_cmaes.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cmaes/not_empty_transformation.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/swats
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/swats/swats.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/swats/swats_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/swats/swats_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/rmsprop
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/rmsprop/rmsprop.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/rmsprop/rmsprop_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgdr
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgdr/sgdr.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgdr/snapshot_ensembles.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgdr/snapshot_sgdr.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgdr/cyclical_decay.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgdr/snapshot_sgdr_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgdr/sgdr_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/gradient_descent
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/gradient_descent/gradient_descent_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/gradient_descent/gradient_descent.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/smorms3
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/smorms3/smorms3_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/smorms3/smorms3.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/smorms3/smorms3_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/pso/update_policies
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/pso/update_policies/lbest_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/pso/pso_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/demon_adam
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/demon_adam/demon_adam.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/demon_adam/demon_adam_update.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/timer_stop.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/traits.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/early_stop_at_min_loss.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/grad_clip_by_value.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/callbacks.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/print_loss.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/traits.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/report.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/store_best_coordinates.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/timer_stop.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/grad_clip_by_norm.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/early_stop_at_min_loss.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/progress_bar.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/report.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/query_front.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/grad_clip_by_value.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/grad_clip_by_norm.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/callbacks/print_loss.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/config.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ftml
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ftml/ftml_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ftml/ftml.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ftml/ftml_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_bound
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_bound/ams_bound_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_bound/ada_bound.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_bound/ada_bound_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/ada_bound/ada_bound_update.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cd
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cd/cd.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cd/cd_impl.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cd/descent_policies
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cd/descent_policies/greedy_descent.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cd/descent_policies/random_descent.hpp
--- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/cd/descent_policies/cyclic_descent.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/de
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/de/de.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/de/de_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/agemoea
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/agemoea/agemoea.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/agemoea/agemoea_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/iqn
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/iqn/iqn.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/iqn/iqn_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/gradient_descent
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/gradient_descent/gradient_descent.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/gradient_descent/gradient_descent_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/wn_grad
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/wn_grad/wn_grad_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/wn_grad/wn_grad.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/wn_grad/wn_grad_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/nsga2
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/nsga2/nsga2.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/nsga2/nsga2_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/log.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/sgd.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/update_policies
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/update_policies/quasi_hyperbolic_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/update_policies/vanilla_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/update_policies/momentum_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/update_policies/nesterov_momentum_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/update_policies/gradient_clipping.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/sgd_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/decay_policies
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sgd/decay_policies/no_decay.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/parallel_sgd
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/parallel_sgd/decay_policies
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/parallel_sgd/decay_policies/constant_step.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/parallel_sgd/decay_policies/exponential_backoff.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/parallel_sgd/parallel_sgd_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/parallel_sgd/parallel_sgd.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sarah
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sarah/sarah_plus_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sarah/sarah_update.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sarah/sarah_impl.hpp
+-- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen_bits/sarah/sarah.hpp
 -- Installing: /build/reproducible-path/ensmallen-2.22.1/debian/libensmallen-dev/usr/include/ensmallen.hpp
 make[1]: Leaving directory '/build/reproducible-path/ensmallen-2.22.1/obj-arm-linux-gnueabihf'
    dh_installdocs
@@ -8765,12 +8801,14 @@
 dpkg-buildpackage: info: binary-only upload (no source included)
 dpkg-genchanges: info: including full source code in upload
 I: copying local configuration
+I: user script /srv/workspace/pbuilder/3267/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/3267/tmp/hooks/B01_cleanup finished
 I: unmounting dev/ptmx filesystem
 I: unmounting dev/pts filesystem
 I: unmounting dev/shm filesystem
 I: unmounting proc filesystem
 I: unmounting sys filesystem
 I: cleaning the build env 
-I: removing directory /srv/workspace/pbuilder/6325 and its subdirectories
-I: Current time: Thu Dec  5 12:57:50 -12 2024
-I: pbuilder-time-stamp: 1733446670
+I: removing directory /srv/workspace/pbuilder/3267 and its subdirectories
+I: Current time: Fri Dec  6 15:41:08 +14 2024
+I: pbuilder-time-stamp: 1733449268