Warning: Permanently added '2620:52:3:1:dead:beef:cafe:c29b' (ED25519) to the list of known hosts.

You can reproduce this build on your computer by running:

  sudo dnf install copr-rpmbuild
  /usr/bin/copr-rpmbuild --verbose --drop-resultdir --task-url https://copr.fedorainfracloud.org/backend/get-build-task/8770319-fedora-42-ppc64le --chroot fedora-42-ppc64le


Version: 1.2
PID: 12192
Logging PID: 12193
Task:
{'allow_user_ssh': False,
 'appstream': False,
 'background': False,
 'bootstrap': 'on',
 'build_id': 8770319,
 'buildroot_pkgs': [],
 'chroot': 'fedora-42-ppc64le',
 'enable_net': False,
 'fedora_review': False,
 'git_hash': 'c016f9960b104246141ed454c8d21e845dcc487e',
 'git_repo': 'https://copr-dist-git.fedorainfracloud.org/git/mattia/Astronomy/python-ducc0',
 'isolation': 'default',
 'memory_reqs': 2048,
 'package_name': 'python-ducc0',
 'package_version': '0.37.1-1',
 'project_dirname': 'Astronomy',
 'project_name': 'Astronomy',
 'project_owner': 'mattia',
 'repo_priority': None,
 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/mattia/Astronomy/fedora-42-ppc64le/',
            'id': 'copr_base',
            'name': 'Copr repository',
            'priority': None}],
 'sandbox': 'mattia/Astronomy--mattia',
 'source_json': {},
 'source_type': None,
 'ssh_public_keys': None,
 'storage': None,
 'submitter': 'mattia',
 'tags': [],
 'task_id': '8770319-fedora-42-ppc64le',
 'timeout': 18000,
 'uses_devel_repo': False,
 'with_opts': [],
 'without_opts': []}

Running: git clone https://copr-dist-git.fedorainfracloud.org/git/mattia/Astronomy/python-ducc0 /var/lib/copr-rpmbuild/workspace/workdir-tc8g9pjc/python-ducc0 --depth 500 --no-single-branch --recursive

cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/mattia/Astronomy/python-ducc0', '/var/lib/copr-rpmbuild/workspace/workdir-tc8g9pjc/python-ducc0', '--depth', '500', '--no-single-branch', '--recursive']
cwd: .
rc: 0
stdout: 
stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-tc8g9pjc/python-ducc0'...

Running: git checkout c016f9960b104246141ed454c8d21e845dcc487e --

cmd: ['git', 'checkout', 'c016f9960b104246141ed454c8d21e845dcc487e', '--']
cwd: /var/lib/copr-rpmbuild/workspace/workdir-tc8g9pjc/python-ducc0
rc: 0
stdout: 
stderr: Note: switching to 'c016f9960b104246141ed454c8d21e845dcc487e'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at c016f99 automatic import of python-ducc0

Running: dist-git-client sources

cmd: ['dist-git-client', 'sources']
cwd: /var/lib/copr-rpmbuild/workspace/workdir-tc8g9pjc/python-ducc0
rc: 0
stdout: 
stderr: INFO: Reading stdout from command: git rev-parse --abbrev-ref HEAD
INFO: Reading stdout from command: git rev-parse HEAD
INFO: Reading sources specification file: sources
INFO: Downloading ducc0-0.37.1.tar.gz
INFO: Reading stdout from command: curl --help all
INFO: Calling: curl -H Pragma: -o ducc0-0.37.1.tar.gz --location --connect-timeout 60 --retry 3 --retry-delay 10 --remote-time --show-error --fail --retry-all-errors https://copr-dist-git.fedorainfracloud.org/repo/pkgs/mattia/Astronomy/python-ducc0/ducc0-0.37.1.tar.gz/md5/43996b7fa7f7c791ad200dba5a31e8c5/ducc0-0.37.1.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  326k  100  326k    0     0  4404k      0 --:--:-- --:--:-- --:--:-- 4357k
INFO: Reading stdout from command: md5sum ducc0-0.37.1.tar.gz

/usr/bin/tail: /var/lib/copr-rpmbuild/main.log: file truncated
Running (timeout=18000): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-tc8g9pjc/python-ducc0/python-ducc0.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-tc8g9pjc/python-ducc0 --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1742033264.003378 -r /var/lib/copr-rpmbuild/results/configs/child.cfg
INFO: mock.py version 6.1 starting (python version = 3.13.0, NVR = mock-6.1-1.fc41), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-tc8g9pjc/python-ducc0/python-ducc0.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-tc8g9pjc/python-ducc0 --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1742033264.003378 -r /var/lib/copr-rpmbuild/results/configs/child.cfg
Start(bootstrap): init plugins
INFO: tmpfs initialized
INFO: selinux enabled
INFO: chroot_scan: initialized
INFO: compress_logs: initialized
Finish(bootstrap): init plugins
Start: init plugins
INFO: tmpfs initialized
INFO: selinux enabled
INFO: chroot_scan: initialized
INFO: compress_logs: initialized
Finish: init plugins
INFO: Signal handler active
Start: run
INFO: Start(/var/lib/copr-rpmbuild/workspace/workdir-tc8g9pjc/python-ducc0/python-ducc0.spec)  Config(fedora-42-ppc64le)
Start: clean chroot
Finish: clean chroot
Mock Version: 6.1
INFO: Mock Version: 6.1
Start(bootstrap): chroot init
INFO: mounting tmpfs at /var/lib/mock/fedora-42-ppc64le-bootstrap-1742033264.003378/root.
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled package manager cache
Start(bootstrap): cleaning package manager metadata
Finish(bootstrap): cleaning package manager metadata
INFO: Package manager dnf5 detected and used (fallback)
Start(bootstrap): installing dnf5 tooling
Updating and loading repositories:
 fedora                                 100% |  12.5 MiB/s |  33.1 MiB |  00m03s
 updates                                100% |  34.2 KiB/s |   7.6 KiB |  00m00s
 Copr repository                        100% | 273.1 KiB/s |  24.3 KiB |  00m00s
Repositories loaded.
Package                        Arch    Version                    Repository      Size
Installing:
 dnf5                          ppc64le 5.2.10.0-2.fc42            fedora       2.4 MiB
 dnf5-plugins                  ppc64le 5.2.10.0-2.fc42            fedora       1.4 MiB
Installing dependencies:
 alternatives                  ppc64le 1.31-3.fc42                fedora      90.1 KiB
 audit-libs                    ppc64le 4.0.3-2.fc42               fedora     479.0 KiB
 basesystem                    noarch  11-22.fc42                 fedora       0.0   B
 bash                          ppc64le 5.2.37-1.fc42              fedora       8.7 MiB
 bzip2-libs                    ppc64le 1.0.8-20.fc42              fedora     136.5 KiB
 ca-certificates               noarch  2024.2.69_v8.0.401-5.fc42  fedora       2.6 MiB
 coreutils-single              ppc64le 9.6-1.fc42                 fedora       1.8 MiB
 crypto-policies               noarch  20250214-1.gitff7551b.fc42 fedora     137.2 KiB
 curl                          ppc64le 8.11.1-4.fc42              fedora     518.7 KiB
 cyrus-sasl-lib                ppc64le 2.1.28-30.fc42             fedora       2.9 MiB
 elfutils-default-yama-scope   noarch  0.192-8.fc42               fedora       1.8 KiB
 elfutils-libelf               ppc64le 0.192-8.fc42               fedora       1.2 MiB
 elfutils-libs                 ppc64le 0.192-8.fc42               fedora     874.2 KiB
 fedora-gpg-keys               noarch  42-0.5                     fedora     128.2 KiB
 fedora-release                noarch  42-0.21                    fedora       0.0   B
 fedora-release-common         noarch  42-0.21                    fedora      20.1 KiB
 fedora-release-identity-basic noarch  42-0.21                    fedora     701.0   B
 fedora-repos                  noarch  42-0.5                     fedora       4.9 KiB
 file-libs                     ppc64le 5.46-1.fc42                fedora      11.9 MiB
 filesystem                    ppc64le 3.18-36.fc42               fedora     112.0   B
 findutils                     ppc64le 1:4.10.0-5.fc42            fedora       2.0 MiB
 fmt                           ppc64le 11.1.3-1.fc42              fedora     323.3 KiB
 gdbm-libs                     ppc64le 1:1.23-9.fc42              fedora     233.5 KiB
 glib2                         ppc64le 2.83.2-6.fc42              fedora      16.3 MiB
 glibc                         ppc64le 2.40.9000-35.fc42          fedora      11.7 MiB
 glibc-common                  ppc64le 2.40.9000-35.fc42          fedora       1.5 MiB
 glibc-minimal-langpack        ppc64le 2.40.9000-35.fc42          fedora       0.0   B
 gmp                           ppc64le 1:6.3.0-2.fc41             fedora     850.3 KiB
 gnutls                        ppc64le 3.8.9-2.fc42               fedora       3.8 MiB
 grep                          ppc64le 3.11-10.fc42               fedora       1.0 MiB
 json-c                        ppc64le 0.18-2.fc42                fedora     138.6 KiB
 keyutils-libs                 ppc64le 1.6.3-5.fc42               fedora      98.0 KiB
 krb5-libs                     ppc64le 1.21.3-5.fc42              fedora       3.0 MiB
 libacl                        ppc64le 2.3.2-3.fc42               fedora      66.0 KiB
 libarchive                    ppc64le 3.7.7-2.fc42               fedora       1.3 MiB
 libattr                       ppc64le 2.5.2-5.fc42               fedora      66.8 KiB
 libblkid                      ppc64le 2.40.4-7.fc42              fedora     354.5 KiB
 libbrotli                     ppc64le 1.1.0-6.fc42               fedora     972.7 KiB
 libcap                        ppc64le 2.73-2.fc42                fedora     505.6 KiB
 libcap-ng                     ppc64le 0.8.5-4.fc42               fedora     160.3 KiB
 libcom_err                    ppc64le 1.47.2-3.fc42              fedora     111.0 KiB
 libcurl                       ppc64le 8.11.1-4.fc42              fedora       1.0 MiB
 libdnf5                       ppc64le 5.2.10.0-2.fc42            fedora       3.9 MiB
 libdnf5-cli                   ppc64le 5.2.10.0-2.fc42            fedora     992.2 KiB
 libeconf                      ppc64le 0.7.6-1.fc42               fedora      80.5 KiB
 libevent                      ppc64le 2.1.12-15.fc42             fedora       1.2 MiB
 libffi                        ppc64le 3.4.6-5.fc42               fedora      89.9 KiB
 libgcc                        ppc64le 15.0.1-0.9.fc42            fedora     286.4 KiB
 libgomp                       ppc64le 15.0.1-0.9.fc42            fedora     639.5 KiB
 libidn2                       ppc64le 2.3.7-3.fc42               fedora     392.7 KiB
 libmodulemd                   ppc64le 2.15.0-16.fc42             fedora     915.3 KiB
 libmount                      ppc64le 2.40.4-7.fc42              fedora     483.9 KiB
 libnghttp2                    ppc64le 1.64.0-3.fc42              fedora     198.0 KiB
 libpsl                        ppc64le 0.21.5-5.fc42              fedora     132.1 KiB
 librepo                       ppc64le 1.19.0-3.fc42              fedora     292.1 KiB
 libselinux                    ppc64le 3.8-1.fc42                 fedora     265.1 KiB
 libsemanage                   ppc64le 3.8-1.fc42                 fedora     423.9 KiB
 libsepol                      ppc64le 3.8-1.fc42                 fedora       1.0 MiB
 libsmartcols                  ppc64le 2.40.4-7.fc42              fedora     289.4 KiB
 libsolv                       ppc64le 0.7.31-5.fc42              fedora       1.2 MiB
 libssh                        ppc64le 0.11.1-4.fc42              fedora     713.5 KiB
 libssh-config                 noarch  0.11.1-4.fc42              fedora     277.0   B
 libstdc++                     ppc64le 15.0.1-0.9.fc42            fedora       3.8 MiB
 libtasn1                      ppc64le 4.20.0-1.fc42              fedora     220.0 KiB
 libtool-ltdl                  ppc64le 2.5.4-4.fc42               fedora      93.9 KiB
 libunistring                  ppc64le 1.1-9.fc42                 fedora       1.9 MiB
 libuuid                       ppc64le 2.40.4-7.fc42              fedora      69.3 KiB
 libverto                      ppc64le 0.3.2-10.fc42              fedora      69.1 KiB
 libxcrypt                     ppc64le 4.4.38-6.fc42              fedora     336.2 KiB
 libxml2                       ppc64le 2.12.9-2.fc42              fedora       2.3 MiB
 libyaml                       ppc64le 0.2.5-16.fc42              fedora     198.3 KiB
 libzstd                       ppc64le 1.5.6-3.fc42               fedora     923.7 KiB
 lua-libs                      ppc64le 5.4.7-2.fc42               fedora     392.8 KiB
 lz4-libs                      ppc64le 1.10.0-2.fc42              fedora     261.1 KiB
 ncurses-base                  noarch  6.5-5.20250125.fc42        fedora     326.8 KiB
 ncurses-libs                  ppc64le 6.5-5.20250125.fc42        fedora       1.5 MiB
 nettle                        ppc64le 3.10.1-1.fc42              fedora     957.7 KiB
 openldap                      ppc64le 2.6.9-3.fc42               fedora     889.2 KiB
 openssl-libs                  ppc64le 1:3.2.4-1.fc42             fedora       7.8 MiB
 p11-kit                       ppc64le 0.25.5-5.fc42              fedora       2.8 MiB
 p11-kit-trust                 ppc64le 0.25.5-5.fc42              fedora     527.1 KiB
 pam-libs                      ppc64le 1.7.0-4.fc42               fedora     286.2 KiB
 pcre2                         ppc64le 10.44-1.fc42.2             fedora     776.5 KiB
 pcre2-syntax                  noarch  10.44-1.fc42.2             fedora     251.6 KiB
 popt                          ppc64le 1.19-8.fc42                fedora     208.7 KiB
 publicsuffix-list-dafsa       noarch  20250116-1.fc42            fedora      68.5 KiB
 rpm                           ppc64le 4.20.0-8.fc42              fedora       4.1 MiB
 rpm-build-libs                ppc64le 4.20.0-8.fc42              fedora     262.5 KiB
 rpm-libs                      ppc64le 4.20.0-8.fc42              fedora     989.8 KiB
 rpm-sequoia                   ppc64le 1.7.0-5.fc42               fedora       2.8 MiB
 sdbus-cpp                     ppc64le 1.5.0-4.fc42               fedora     365.5 KiB
 sed                           ppc64le 4.9-4.fc42                 fedora     937.2 KiB
 setup                         noarch  2.15.0-12.fc42             fedora     720.8 KiB
 shadow-utils                  ppc64le 2:4.17.0-4.fc42            fedora       4.9 MiB
 sqlite-libs                   ppc64le 3.47.2-2.fc42              fedora       1.9 MiB
 systemd-libs                  ppc64le 257.3-7.fc42               fedora       2.9 MiB
 systemd-standalone-sysusers   ppc64le 257.3-7.fc42               fedora     329.4 KiB
 xz-libs                       ppc64le 1:5.6.3-3.fc42             fedora     266.0 KiB
 zchunk-libs                   ppc64le 1.5.1-2.fc42               fedora     137.0 KiB
 zlib-ng-compat                ppc64le 2.2.3-2.fc42               fedora     197.4 KiB

Transaction Summary:
 Installing:       102 packages

Total size of inbound packages is 40 MiB. Need to download 40 MiB.
After this operation, 141 MiB extra will be used (install 141 MiB, remove 0 B).
[  1/102] dnf5-plugins-0:5.2.10.0-2.fc4 100% |   2.2 MiB/s | 452.7 KiB |  00m00s
[  2/102] dnf5-0:5.2.10.0-2.fc42.ppc64l 100% |   3.7 MiB/s | 820.7 KiB |  00m00s
[  3/102] fmt-0:11.1.3-1.fc42.ppc64le   100% |   2.6 MiB/s | 121.6 KiB |  00m00s
[  4/102] bash-0:5.2.37-1.fc42.ppc64le  100% |   6.6 MiB/s |   1.9 MiB |  00m00s
[  5/102] libdnf5-cli-0:5.2.10.0-2.fc42 100% |   5.6 MiB/s | 358.4 KiB |  00m00s
[  6/102] libdnf5-0:5.2.10.0-2.fc42.ppc 100% |  10.9 MiB/s |   1.2 MiB |  00m00s
[  7/102] libgcc-0:15.0.1-0.9.fc42.ppc6 100% |   2.3 MiB/s | 100.9 KiB |  00m00s
[  8/102] libstdc++-0:15.0.1-0.9.fc42.p 100% |  12.3 MiB/s |   1.0 MiB |  00m00s
[  9/102] rpm-libs-0:4.20.0-8.fc42.ppc6 100% |   6.2 MiB/s | 357.6 KiB |  00m00s
[ 10/102] glibc-0:2.40.9000-35.fc42.ppc 100% |  12.1 MiB/s |   3.2 MiB |  00m00s
[ 11/102] sdbus-cpp-0:1.5.0-4.fc42.ppc6 100% |   2.4 MiB/s | 109.4 KiB |  00m00s
[ 12/102] systemd-libs-0:257.3-7.fc42.p 100% |  10.4 MiB/s | 872.3 KiB |  00m00s
[ 13/102] json-c-0:0.18-2.fc42.ppc64le  100% |   1.0 MiB/s |  49.3 KiB |  00m00s
[ 14/102] ncurses-libs-0:6.5-5.20250125 100% |   7.8 MiB/s | 383.5 KiB |  00m00s
[ 15/102] rpm-build-libs-0:4.20.0-8.fc4 100% |   1.1 MiB/s | 107.6 KiB |  00m00s
[ 16/102] basesystem-0:11-22.fc42.noarc 100% | 182.3 KiB/s |   7.3 KiB |  00m00s
[ 17/102] glibc-common-0:2.40.9000-35.f 100% |   6.5 MiB/s | 428.5 KiB |  00m00s
[ 18/102] filesystem-0:3.18-36.fc42.ppc 100% |   9.2 MiB/s |   1.3 MiB |  00m00s
[ 19/102] libmodulemd-0:2.15.0-16.fc42. 100% |   5.8 MiB/s | 232.2 KiB |  00m00s
[ 20/102] librepo-0:1.19.0-3.fc42.ppc64 100% |   2.7 MiB/s | 108.9 KiB |  00m00s
[ 21/102] libsolv-0:0.7.31-5.fc42.ppc64 100% |  10.4 MiB/s | 499.1 KiB |  00m00s
[ 22/102] libxml2-0:2.12.9-2.fc42.ppc64 100% |   8.8 MiB/s | 776.5 KiB |  00m00s
[ 23/102] sqlite-libs-0:3.47.2-2.fc42.p 100% |  10.6 MiB/s | 836.3 KiB |  00m00s
[ 24/102] glib2-0:2.83.2-6.fc42.ppc64le 100% |  13.8 MiB/s |   3.2 MiB |  00m00s
[ 25/102] libsmartcols-0:2.40.4-7.fc42. 100% |   2.0 MiB/s | 107.9 KiB |  00m00s
[ 26/102] bzip2-libs-0:1.0.8-20.fc42.pp 100% |   1.2 MiB/s |  49.5 KiB |  00m00s
[ 27/102] libcap-0:2.73-2.fc42.ppc64le  100% |   2.1 MiB/s |  91.8 KiB |  00m00s
[ 28/102] libacl-0:2.3.2-3.fc42.ppc64le 100% | 402.1 KiB/s |  25.3 KiB |  00m00s
[ 29/102] libzstd-0:1.5.6-3.fc42.ppc64l 100% |   3.7 MiB/s | 352.2 KiB |  00m00s
[ 30/102] lua-libs-0:5.4.7-2.fc42.ppc64 100% |   2.8 MiB/s | 148.8 KiB |  00m00s
[ 31/102] popt-0:1.19-8.fc42.ppc64le    100% |   1.4 MiB/s |  70.4 KiB |  00m00s
[ 32/102] xz-libs-1:5.6.3-3.fc42.ppc64l 100% |   2.7 MiB/s | 126.4 KiB |  00m00s
[ 33/102] rpm-0:4.20.0-8.fc42.ppc64le   100% |   7.4 MiB/s | 546.4 KiB |  00m00s
[ 34/102] rpm-sequoia-0:1.7.0-5.fc42.pp 100% |  10.5 MiB/s |   1.0 MiB |  00m00s
[ 35/102] zlib-ng-compat-0:2.2.3-2.fc42 100% |   1.7 MiB/s |  80.9 KiB |  00m00s
[ 36/102] elfutils-libelf-0:0.192-8.fc4 100% |   3.2 MiB/s | 217.0 KiB |  00m00s
[ 37/102] elfutils-libs-0:0.192-8.fc42. 100% |   2.9 MiB/s | 303.6 KiB |  00m00s
[ 38/102] file-libs-0:5.46-1.fc42.ppc64 100% |   8.0 MiB/s | 861.7 KiB |  00m00s
[ 39/102] libgomp-0:15.0.1-0.9.fc42.ppc 100% |   4.7 MiB/s | 368.7 KiB |  00m00s
[ 40/102] setup-0:2.15.0-12.fc42.noarch 100% |   3.2 MiB/s | 155.7 KiB |  00m00s
[ 41/102] libffi-0:3.4.6-5.fc42.ppc64le 100% | 899.8 KiB/s |  38.7 KiB |  00m00s
[ 42/102] gnutls-0:3.8.9-2.fc42.ppc64le 100% |  10.1 MiB/s |   1.2 MiB |  00m00s
[ 43/102] libmount-0:2.40.4-7.fc42.ppc6 100% |   3.2 MiB/s | 177.6 KiB |  00m00s
[ 44/102] libselinux-0:3.8-1.fc42.ppc64 100% |   2.4 MiB/s | 111.4 KiB |  00m00s
[ 45/102] pcre2-0:10.44-1.fc42.2.ppc64l 100% |   4.6 MiB/s | 254.3 KiB |  00m00s
[ 46/102] libyaml-0:0.2.5-16.fc42.ppc64 100% |   1.4 MiB/s |  69.5 KiB |  00m00s
[ 47/102] zchunk-libs-0:1.5.1-2.fc42.pp 100% |   1.5 MiB/s |  59.4 KiB |  00m00s
[ 48/102] libattr-0:2.5.2-5.fc42.ppc64l 100% | 390.0 KiB/s |  17.5 KiB |  00m00s
[ 49/102] pam-libs-0:1.7.0-4.fc42.ppc64 100% |   1.4 MiB/s |  64.4 KiB |  00m00s
[ 50/102] openssl-libs-1:3.2.4-1.fc42.p 100% |  13.3 MiB/s |   2.5 MiB |  00m00s
[ 51/102] ncurses-base-0:6.5-5.20250125 100% | 233.6 KiB/s |  88.1 KiB |  00m00s
[ 52/102] curl-0:8.11.1-4.fc42.ppc64le  100% |   4.0 MiB/s | 228.1 KiB |  00m00s
[ 53/102] elfutils-default-yama-scope-0 100% | 292.9 KiB/s |  12.6 KiB |  00m00s
[ 54/102] crypto-policies-0:20250214-1. 100% |   2.4 MiB/s |  98.7 KiB |  00m00s
[ 55/102] libidn2-0:2.3.7-3.fc42.ppc64l 100% |   2.6 MiB/s | 120.7 KiB |  00m00s
[ 56/102] gmp-1:6.3.0-2.fc41.ppc64le    100% |   3.1 MiB/s | 309.0 KiB |  00m00s
[ 57/102] libarchive-0:3.7.7-2.fc42.ppc 100% |   3.2 MiB/s | 486.0 KiB |  00m00s
[ 58/102] libtasn1-0:4.20.0-1.fc42.ppc6 100% |   1.3 MiB/s |  80.9 KiB |  00m00s
[ 59/102] nettle-0:3.10.1-1.fc42.ppc64l 100% |   6.9 MiB/s | 460.6 KiB |  00m00s
[ 60/102] p11-kit-0:0.25.5-5.fc42.ppc64 100% |   7.5 MiB/s | 493.1 KiB |  00m00s
[ 61/102] p11-kit-trust-0:0.25.5-5.fc42 100% |   3.8 MiB/s | 149.0 KiB |  00m00s
[ 62/102] libunistring-0:1.1-9.fc42.ppc 100% |   4.4 MiB/s | 577.8 KiB |  00m00s
[ 63/102] libblkid-0:2.40.4-7.fc42.ppc6 100% |   2.5 MiB/s | 141.8 KiB |  00m00s
[ 64/102] libuuid-0:2.40.4-7.fc42.ppc64 100% | 383.9 KiB/s |  27.3 KiB |  00m00s
[ 65/102] libsepol-0:3.8-1.fc42.ppc64le 100% |   6.3 MiB/s | 381.1 KiB |  00m00s
[ 66/102] pcre2-syntax-0:10.44-1.fc42.2 100% |   3.2 MiB/s | 149.8 KiB |  00m00s
[ 67/102] audit-libs-0:4.0.3-2.fc42.ppc 100% |   3.0 MiB/s | 141.1 KiB |  00m00s
[ 68/102] libeconf-0:0.7.6-1.fc42.ppc64 100% | 907.6 KiB/s |  39.9 KiB |  00m00s
[ 69/102] lz4-libs-0:1.10.0-2.fc42.ppc6 100% |   1.6 MiB/s | 102.1 KiB |  00m00s
[ 70/102] ca-certificates-0:2024.2.69_v 100% |   7.0 MiB/s | 949.0 KiB |  00m00s
[ 71/102] alternatives-0:1.31-3.fc42.pp 100% | 404.6 KiB/s |  43.7 KiB |  00m00s
[ 72/102] findutils-1:4.10.0-5.fc42.ppc 100% |   8.6 MiB/s | 589.3 KiB |  00m00s
[ 73/102] grep-0:3.11-10.fc42.ppc64le   100% |   5.3 MiB/s | 309.3 KiB |  00m00s
[ 74/102] sed-0:4.9-4.fc42.ppc64le      100% |   6.4 MiB/s | 322.6 KiB |  00m00s
[ 75/102] libcap-ng-0:0.8.5-4.fc42.ppc6 100% | 929.9 KiB/s |  33.5 KiB |  00m00s
[ 76/102] fedora-release-0:42-0.21.noar 100% | 358.6 KiB/s |  14.0 KiB |  00m00s
[ 77/102] fedora-release-common-0:42-0. 100% | 529.7 KiB/s |  24.9 KiB |  00m00s
[ 78/102] fedora-repos-0:42-0.5.noarch  100% | 199.5 KiB/s |   9.4 KiB |  00m00s
[ 79/102] fedora-gpg-keys-0:42-0.5.noar 100% |   2.7 MiB/s | 135.7 KiB |  00m00s
[ 80/102] systemd-standalone-sysusers-0 100% |   3.7 MiB/s | 163.4 KiB |  00m00s
[ 81/102] coreutils-single-0:9.6-1.fc42 100% |   8.9 MiB/s | 726.8 KiB |  00m00s
[ 82/102] libcurl-0:8.11.1-4.fc42.ppc64 100% |   7.1 MiB/s | 423.1 KiB |  00m00s
[ 83/102] libxcrypt-0:4.4.38-6.fc42.ppc 100% | 852.8 KiB/s | 139.9 KiB |  00m00s
[ 84/102] libbrotli-0:1.1.0-6.fc42.ppc6 100% |   5.4 MiB/s | 382.4 KiB |  00m00s
[ 85/102] krb5-libs-0:1.21.3-5.fc42.ppc 100% |   7.8 MiB/s | 851.2 KiB |  00m00s
[ 86/102] libpsl-0:0.21.5-5.fc42.ppc64l 100% |   1.3 MiB/s |  65.8 KiB |  00m00s
[ 87/102] libnghttp2-0:1.64.0-3.fc42.pp 100% | 878.8 KiB/s |  86.1 KiB |  00m00s
[ 88/102] openldap-0:2.6.9-3.fc42.ppc64 100% |   5.2 MiB/s | 289.4 KiB |  00m00s
[ 89/102] libssh-0:0.11.1-4.fc42.ppc64l 100% |   3.1 MiB/s | 264.9 KiB |  00m00s
[ 90/102] keyutils-libs-0:1.6.3-5.fc42. 100% | 990.4 KiB/s |  32.7 KiB |  00m00s
[ 91/102] libverto-0:0.3.2-10.fc42.ppc6 100% | 761.0 KiB/s |  22.1 KiB |  00m00s
[ 92/102] libcom_err-0:1.47.2-3.fc42.pp 100% | 649.7 KiB/s |  27.3 KiB |  00m00s
[ 93/102] publicsuffix-list-dafsa-0:202 100% |   1.2 MiB/s |  58.8 KiB |  00m00s
[ 94/102] libssh-config-0:0.11.1-4.fc42 100% | 214.4 KiB/s |   9.0 KiB |  00m00s
[ 95/102] libevent-0:2.1.12-15.fc42.ppc 100% |   5.8 MiB/s | 275.3 KiB |  00m00s
[ 96/102] libtool-ltdl-0:2.5.4-4.fc42.p 100% | 985.3 KiB/s |  39.4 KiB |  00m00s
[ 97/102] cyrus-sasl-lib-0:2.1.28-30.fc 100% |  10.0 MiB/s | 880.8 KiB |  00m00s
[ 98/102] libsemanage-0:3.8-1.fc42.ppc6 100% |   3.1 MiB/s | 135.2 KiB |  00m00s
[ 99/102] gdbm-libs-1:1.23-9.fc42.ppc64 100% |   1.1 MiB/s |  61.8 KiB |  00m00s
[100/102] fedora-release-identity-basic 100% | 435.0 KiB/s |  14.8 KiB |  00m00s
[101/102] shadow-utils-2:4.17.0-4.fc42. 100% |  10.3 MiB/s |   1.3 MiB |  00m00s
[102/102] glibc-minimal-langpack-0:2.40 100% |   1.4 MiB/s | 127.9 KiB |  00m00s
--------------------------------------------------------------------------------
[102/102] Total                         100% |  14.7 MiB/s |  39.9 MiB |  00m03s
Running transaction
Importing OpenPGP key 0x105EF944:
 UserID     : "Fedora (42) <fedora-42-primary@fedoraproject.org>"
 Fingerprint: B0F4950458F69E1150C6C5EDC8AC4916105EF944
 From       : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-42-primary
The key was successfully imported.
[  1/104] Verify package files          100% | 235.0   B/s | 102.0   B |  00m00s
[  2/104] Prepare transaction           100% |   1.4 KiB/s | 102.0   B |  00m00s
[  3/104] Installing libgcc-0:15.0.1-0. 100% |  93.8 MiB/s | 288.1 KiB |  00m00s
[  4/104] Installing fedora-release-ide 100% | 937.5 KiB/s | 960.0   B |  00m00s
[  5/104] Installing fedora-gpg-keys-0: 100% |  17.1 MiB/s | 174.8 KiB |  00m00s
[  6/104] Installing fedora-repos-0:42- 100% |   5.6 MiB/s |   5.7 KiB |  00m00s
[  7/104] Installing fedora-release-com 100% |  11.9 MiB/s |  24.4 KiB |  00m00s
[  8/104] Installing fedora-release-0:4 100% |   0.0   B/s | 124.0   B |  00m00s
[  9/104] Installing setup-0:2.15.0-12. 100% |  22.2 MiB/s | 726.6 KiB |  00m00s
[ 10/104] Installing filesystem-0:3.18- 100% |   1.2 MiB/s | 212.4 KiB |  00m00s
[ 11/104] Installing basesystem-0:11-22 100% |   0.0   B/s | 124.0   B |  00m00s
[ 12/104] Installing libssh-config-0:0. 100% | 796.9 KiB/s | 816.0   B |  00m00s
[ 13/104] Installing publicsuffix-list- 100% |  67.6 MiB/s |  69.2 KiB |  00m00s
[ 14/104] Installing pcre2-syntax-0:10. 100% |  82.7 MiB/s | 254.1 KiB |  00m00s
[ 15/104] Installing ncurses-base-0:6.5 100% |  26.5 MiB/s | 352.2 KiB |  00m00s
[ 16/104] Installing ncurses-libs-0:6.5 100% | 115.1 MiB/s |   1.5 MiB |  00m00s
[ 17/104] Installing glibc-0:2.40.9000- 100% | 117.0 MiB/s |  11.7 MiB |  00m00s
[ 18/104] Installing bash-0:5.2.37-1.fc 100% | 114.1 MiB/s |   8.7 MiB |  00m00s
[ 19/104] Installing glibc-common-0:2.4 100% |  44.5 MiB/s |   1.5 MiB |  00m00s
[ 20/104] Installing glibc-minimal-lang 100% | 121.1 KiB/s | 124.0   B |  00m00s
[ 21/104] Installing zlib-ng-compat-0:2 100% |  96.8 MiB/s | 198.2 KiB |  00m00s
[ 22/104] Installing libstdc++-0:15.0.1 100% | 166.8 MiB/s |   3.8 MiB |  00m00s
[ 23/104] Installing libzstd-0:1.5.6-3. 100% | 150.5 MiB/s | 924.9 KiB |  00m00s
[ 24/104] Installing bzip2-libs-0:1.0.8 100% |  67.2 MiB/s | 137.6 KiB |  00m00s
[ 25/104] Installing xz-libs-1:5.6.3-3. 100% |  86.9 MiB/s | 267.1 KiB |  00m00s
[ 26/104] Installing libxml2-0:2.12.9-2 100% |  61.3 MiB/s |   2.3 MiB |  00m00s
[ 27/104] Installing fmt-0:11.1.3-1.fc4 100% |  24.4 MiB/s | 324.8 KiB |  00m00s
[ 28/104] Installing crypto-policies-0: 100% |  12.3 MiB/s | 163.5 KiB |  00m00s
[ 29/104] Installing json-c-0:0.18-2.fc 100% |  68.3 MiB/s | 139.8 KiB |  00m00s
[ 30/104] Installing popt-0:1.19-8.fc42 100% |  35.0 MiB/s | 215.3 KiB |  00m00s
[ 31/104] Installing libffi-0:3.4.6-5.f 100% |  44.6 MiB/s |  91.3 KiB |  00m00s
[ 32/104] Installing pcre2-0:10.44-1.fc 100% | 151.9 MiB/s | 777.9 KiB |  00m00s
[ 33/104] Installing libtasn1-0:4.20.0- 100% |  72.2 MiB/s | 221.9 KiB |  00m00s
[ 34/104] Installing p11-kit-0:0.25.5-5 100% |  60.2 MiB/s |   2.8 MiB |  00m00s
[ 35/104] Installing libunistring-0:1.1 100% | 144.0 MiB/s |   1.9 MiB |  00m00s
[ 36/104] Installing libidn2-0:2.3.7-3. 100% |  64.9 MiB/s | 398.7 KiB |  00m00s
[ 37/104] Installing libxcrypt-0:4.4.38 100% |  82.7 MiB/s | 338.9 KiB |  00m00s
[ 38/104] Installing elfutils-libelf-0: 100% | 156.5 MiB/s |   1.3 MiB |  00m00s
[ 39/104] Installing sqlite-libs-0:3.47 100% | 147.3 MiB/s |   1.9 MiB |  00m00s
[ 40/104] Installing lua-libs-0:5.4.7-2 100% | 128.3 MiB/s | 394.0 KiB |  00m00s
[ 41/104] Installing libattr-0:2.5.2-5. 100% |  66.2 MiB/s |  67.7 KiB |  00m00s
[ 42/104] Installing libacl-0:2.3.2-3.f 100% |  32.6 MiB/s |  66.8 KiB |  00m00s
[ 43/104] Installing gmp-1:6.3.0-2.fc41 100% | 138.8 MiB/s | 852.5 KiB |  00m00s
[ 44/104] Installing libuuid-0:2.40.4-7 100% |  68.7 MiB/s |  70.4 KiB |  00m00s
[ 45/104] Installing libsepol-0:3.8-1.f 100% | 148.9 MiB/s |   1.0 MiB |  00m00s
[ 46/104] Installing libselinux-0:3.8-1 100% |  86.7 MiB/s | 266.3 KiB |  00m00s
[ 47/104] Installing libeconf-0:0.7.6-1 100% |  40.1 MiB/s |  82.2 KiB |  00m00s
[ 48/104] Installing findutils-1:4.10.0 100% |  53.8 MiB/s |   2.0 MiB |  00m00s
[ 49/104] Installing sed-0:4.9-4.fc42.p 100% |  28.8 MiB/s | 945.3 KiB |  00m00s
[ 50/104] Installing libblkid-0:2.40.4- 100% |  86.8 MiB/s | 355.6 KiB |  00m00s
[ 51/104] Installing libmount-0:2.40.4- 100% | 118.4 MiB/s | 485.0 KiB |  00m00s
[ 52/104] Installing nettle-0:3.10.1-1. 100% | 134.0 MiB/s | 960.8 KiB |  00m00s
[ 53/104] Installing libpsl-0:0.21.5-5. 100% |  65.1 MiB/s | 133.2 KiB |  00m00s
[ 54/104] Installing grep-0:3.11-10.fc4 100% |  30.4 MiB/s |   1.0 MiB |  00m00s
[ 55/104] Installing file-libs-0:5.46-1 100% | 233.0 MiB/s |  11.9 MiB |  00m00s
[ 56/104] Installing elfutils-default-y 100% | 340.5 KiB/s |   2.0 KiB |  00m00s
[ 57/104] Installing elfutils-libs-0:0. 100% | 122.2 MiB/s | 876.0 KiB |  00m00s
[ 58/104] Installing libsmartcols-0:2.4 100% |  94.5 MiB/s | 290.4 KiB |  00m00s
[ 59/104] Installing libgomp-0:15.0.1-0 100% | 156.5 MiB/s | 640.9 KiB |  00m00s
[ 60/104] Installing libyaml-0:0.2.5-16 100% |  97.5 MiB/s | 199.7 KiB |  00m00s
[ 61/104] Installing lz4-libs-0:1.10.0- 100% |  85.4 MiB/s | 262.2 KiB |  00m00s
[ 62/104] Installing alternatives-0:1.3 100% |   3.9 MiB/s |  91.6 KiB |  00m00s
[ 63/104] Installing p11-kit-trust-0:0. 100% |  15.6 MiB/s | 528.8 KiB |  00m00s
[ 64/104] Installing gnutls-0:3.8.9-2.f 100% | 152.2 MiB/s |   3.8 MiB |  00m00s
[ 65/104] Installing glib2-0:2.83.2-6.f 100% | 132.4 MiB/s |  16.3 MiB |  00m00s
[ 66/104] Installing libcap-ng-0:0.8.5- 100% |  79.2 MiB/s | 162.1 KiB |  00m00s
[ 67/104] Installing audit-libs-0:4.0.3 100% |  94.0 MiB/s | 481.1 KiB |  00m00s
[ 68/104] Installing pam-libs-0:1.7.0-4 100% |  93.9 MiB/s | 288.6 KiB |  00m00s
[ 69/104] Installing libcap-0:2.73-2.fc 100% |  18.5 MiB/s | 510.6 KiB |  00m00s
[ 70/104] Installing systemd-libs-0:257 100% | 144.9 MiB/s |   2.9 MiB |  00m00s
[ 71/104] Installing coreutils-single-0 100% |  44.8 MiB/s |   1.8 MiB |  00m00s
[ 72/104] Installing sdbus-cpp-0:1.5.0- 100% |  35.9 MiB/s | 367.2 KiB |  00m00s
[ 73/104] Installing ca-certificates-0: 100% | 626.8 KiB/s |   2.4 MiB |  00m04s
[ 74/104] Installing openssl-libs-1:3.2 100% | 169.0 MiB/s |   7.8 MiB |  00m00s
[ 75/104] Installing zchunk-libs-0:1.5. 100% |  67.6 MiB/s | 138.4 KiB |  00m00s
[ 76/104] Installing rpm-sequoia-0:1.7. 100% | 155.7 MiB/s |   2.8 MiB |  00m00s
[ 77/104] Installing libarchive-0:3.7.7 100% | 140.7 MiB/s |   1.3 MiB |  00m00s
[ 78/104] Installing libevent-0:2.1.12- 100% | 134.4 MiB/s |   1.2 MiB |  00m00s
[ 79/104] Installing systemd-standalone 100% |  13.4 MiB/s | 329.9 KiB |  00m00s
[ 80/104] Installing rpm-libs-0:4.20.0- 100% | 138.3 MiB/s | 991.2 KiB |  00m00s
[ 81/104] Installing rpm-build-libs-0:4 100% |  85.7 MiB/s | 263.3 KiB |  00m00s
[ 82/104] Installing libmodulemd-0:2.15 100% |  32.0 MiB/s | 917.8 KiB |  00m00s
[ 83/104] Installing libsolv-0:0.7.31-5 100% | 135.2 MiB/s |   1.2 MiB |  00m00s
[ 84/104] Installing libsemanage-0:3.8- 100% |  83.1 MiB/s | 425.7 KiB |  00m00s
[ 85/104] Installing shadow-utils-2:4.1 100% |  69.2 MiB/s |   5.0 MiB |  00m00s
[ 86/104] Installing libbrotli-0:1.1.0- 100% | 119.0 MiB/s | 975.0 KiB |  00m00s
[ 87/104] Installing libnghttp2-0:1.64. 100% |  97.2 MiB/s | 199.1 KiB |  00m00s
[ 88/104] Installing keyutils-libs-0:1. 100% |  48.5 MiB/s |  99.4 KiB |  00m00s
[ 89/104] Installing libcom_err-0:1.47. 100% | 109.5 MiB/s | 112.1 KiB |  00m00s
[ 90/104] Installing libverto-0:0.3.2-1 100% |  34.6 MiB/s |  70.9 KiB |  00m00s
[ 91/104] Installing krb5-libs-0:1.21.3 100% | 134.9 MiB/s |   3.0 MiB |  00m00s
[ 92/104] Installing libssh-0:0.11.1-4. 100% | 139.8 MiB/s | 715.6 KiB |  00m00s
[ 93/104] Installing libtool-ltdl-0:2.5 100% |  92.8 MiB/s |  95.0 KiB |  00m00s
[ 94/104] Installing gdbm-libs-1:1.23-9 100% | 114.8 MiB/s | 235.2 KiB |  00m00s
[ 95/104] Installing cyrus-sasl-lib-0:2 100% |  62.1 MiB/s |   2.9 MiB |  00m00s
[ 96/104] Installing openldap-0:2.6.9-3 100% | 109.0 MiB/s | 893.0 KiB |  00m00s
[ 97/104] Installing libcurl-0:8.11.1-4 100% | 128.3 MiB/s |   1.0 MiB |  00m00s
[ 98/104] Installing librepo-0:1.19.0-3 100% |  71.6 MiB/s | 293.3 KiB |  00m00s
[ 99/104] Installing libdnf5-0:5.2.10.0 100% | 148.7 MiB/s |   3.9 MiB |  00m00s
>>> [RPM] /etc/dnf/dnf.conf created as /etc/dnf/dnf.conf.rpmnew                 
[100/104] Installing libdnf5-cli-0:5.2. 100% |  97.2 MiB/s | 995.7 KiB |  00m00s
[101/104] Installing dnf5-0:5.2.10.0-2. 100% |  47.3 MiB/s |   2.4 MiB |  00m00s
[102/104] Installing curl-0:8.11.1-4.fc 100% |  12.1 MiB/s | 521.1 KiB |  00m00s
[103/104] Installing rpm-0:4.20.0-8.fc4 100% |  47.1 MiB/s |   2.7 MiB |  00m00s
[104/104] Installing dnf5-plugins-0:5.2 100% | 299.6 KiB/s |   1.5 MiB |  00m05s
Complete!
Finish(bootstrap): installing dnf5 tooling
Start(bootstrap): creating root cache
Finish(bootstrap): creating root cache
Finish(bootstrap): chroot init
Start: chroot init
INFO: mounting tmpfs at /var/lib/mock/fedora-42-ppc64le-1742033264.003378/root.
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled package manager cache
Start: cleaning package manager metadata
Finish: cleaning package manager metadata
INFO: enabled HW Info plugin
INFO: Package manager dnf5 detected and used (direct choice)
INFO: Buildroot is handled by package management installed into bootstrap:
  rpm-4.20.0-8.fc42.ppc64le
  rpm-sequoia-1.7.0-5.fc42.ppc64le
  dnf5-5.2.10.0-2.fc42.ppc64le
  dnf5-plugins-5.2.10.0-2.fc42.ppc64le
Start: installing minimal buildroot with dnf5
Updating and loading repositories:
 updates                                100% |  21.4 KiB/s |   7.6 KiB |  00m00s
 fedora                                 100% | 788.7 KiB/s |  33.2 MiB |  00m43s
 Copr repository                        100% | 264.2 KiB/s |  24.3 KiB |  00m00s
Repositories loaded.
Package                            Arch    Version                    Repository      Size
Installing group/module packages:
 bash                              ppc64le 5.2.37-1.fc42              fedora       8.7 MiB
 bzip2                             ppc64le 1.0.8-20.fc42              fedora     171.1 KiB
 coreutils                         ppc64le 9.6-1.fc42                 fedora       9.4 MiB
 cpio                              ppc64le 2.15-2.fc41                fedora       1.2 MiB
 diffutils                         ppc64le 3.10-9.fc42                fedora       1.7 MiB
 fedora-release-common             noarch  42-0.21                    fedora      20.1 KiB
 findutils                         ppc64le 1:4.10.0-5.fc42            fedora       2.0 MiB
 gawk                              ppc64le 5.3.1-1.fc42               fedora       2.7 MiB
 glibc-minimal-langpack            ppc64le 2.40.9000-35.fc42          fedora       0.0   B
 grep                              ppc64le 3.11-10.fc42               fedora       1.0 MiB
 gzip                              ppc64le 1.13-3.fc42                fedora     424.7 KiB
 info                              ppc64le 7.2-3.fc42                 fedora     485.4 KiB
 patch                             ppc64le 2.7.6-26.fc42              fedora     326.4 KiB
 redhat-rpm-config                 noarch  342-2.fc42                 fedora     186.8 KiB
 rpm-build                         ppc64le 4.20.0-8.fc42              fedora     524.2 KiB
 sed                               ppc64le 4.9-4.fc42                 fedora     937.2 KiB
 shadow-utils                      ppc64le 2:4.17.0-4.fc42            fedora       4.9 MiB
 tar                               ppc64le 2:1.35-5.fc42              fedora       3.1 MiB
 unzip                             ppc64le 6.0-66.fc42                fedora     533.9 KiB
 util-linux                        ppc64le 2.40.4-7.fc42              fedora       6.7 MiB
 which                             ppc64le 2.23-1.fc42                fedora     123.3 KiB
 xz                                ppc64le 1:5.6.3-3.fc42             fedora       1.3 MiB
Installing dependencies:
 add-determinism                   ppc64le 0.6.0-1.fc42               fedora       2.5 MiB
 alternatives                      ppc64le 1.31-3.fc42                fedora      90.1 KiB
 ansible-srpm-macros               noarch  1-17.1.fc42                fedora      35.7 KiB
 audit-libs                        ppc64le 4.0.3-2.fc42               fedora     479.0 KiB
 basesystem                        noarch  11-22.fc42                 fedora       0.0   B
 binutils                          ppc64le 2.44-3.fc42                fedora      31.4 MiB
 build-reproducibility-srpm-macros noarch  0.6.0-1.fc42               fedora     735.0   B
 bzip2-libs                        ppc64le 1.0.8-20.fc42              fedora     136.5 KiB
 ca-certificates                   noarch  2024.2.69_v8.0.401-5.fc42  fedora       2.6 MiB
 coreutils-common                  ppc64le 9.6-1.fc42                 fedora      11.1 MiB
 crypto-policies                   noarch  20250214-1.gitff7551b.fc42 fedora     137.2 KiB
 curl                              ppc64le 8.11.1-4.fc42              fedora     518.7 KiB
 cyrus-sasl-lib                    ppc64le 2.1.28-30.fc42             fedora       2.9 MiB
 debugedit                         ppc64le 5.1-4.fc42                 fedora     308.1 KiB
 dwz                               ppc64le 0.15-9.fc42                fedora     386.6 KiB
 ed                                ppc64le 1.21-2.fc42                fedora     154.4 KiB
 efi-srpm-macros                   noarch  6-2.fc42                   fedora      40.1 KiB
 elfutils                          ppc64le 0.192-8.fc42               fedora       3.4 MiB
 elfutils-debuginfod-client        ppc64le 0.192-8.fc42               fedora     143.5 KiB
 elfutils-default-yama-scope       noarch  0.192-8.fc42               fedora       1.8 KiB
 elfutils-libelf                   ppc64le 0.192-8.fc42               fedora       1.2 MiB
 elfutils-libs                     ppc64le 0.192-8.fc42               fedora     874.2 KiB
 fedora-gpg-keys                   noarch  42-0.5                     fedora     128.2 KiB
 fedora-release                    noarch  42-0.21                    fedora       0.0   B
 fedora-release-identity-basic     noarch  42-0.21                    fedora     701.0   B
 fedora-repos                      noarch  42-0.5                     fedora       4.9 KiB
 file                              ppc64le 5.46-1.fc42                fedora     140.1 KiB
 file-libs                         ppc64le 5.46-1.fc42                fedora      11.9 MiB
 filesystem                        ppc64le 3.18-36.fc42               fedora     112.0   B
 filesystem-srpm-macros            noarch  3.18-36.fc42               fedora      38.2 KiB
 fonts-srpm-macros                 noarch  1:2.0.5-21.fc42            fedora      55.8 KiB
 forge-srpm-macros                 noarch  0.4.0-2.fc42               fedora      38.9 KiB
 fpc-srpm-macros                   noarch  1.3-14.fc42                fedora     144.0   B
 gdb-minimal                       ppc64le 16.2-2.fc42                fedora      15.7 MiB
 gdbm-libs                         ppc64le 1:1.23-9.fc42              fedora     233.5 KiB
 ghc-srpm-macros                   noarch  1.9.2-2.fc42               fedora     779.0   B
 glibc                             ppc64le 2.40.9000-35.fc42          fedora      11.7 MiB
 glibc-common                      ppc64le 2.40.9000-35.fc42          fedora       1.5 MiB
 glibc-gconv-extra                 ppc64le 2.40.9000-35.fc42          fedora      18.5 MiB
 gmp                               ppc64le 1:6.3.0-2.fc41             fedora     850.3 KiB
 gnat-srpm-macros                  noarch  6-7.fc42                   fedora       1.0 KiB
 go-srpm-macros                    noarch  3.6.0-6.fc42               fedora      60.8 KiB
 jansson                           ppc64le 2.14-2.fc42                fedora     157.0 KiB
 json-c                            ppc64le 0.18-2.fc42                fedora     138.6 KiB
 kernel-srpm-macros                noarch  1.0-25.fc42                fedora       1.9 KiB
 keyutils-libs                     ppc64le 1.6.3-5.fc42               fedora      98.0 KiB
 krb5-libs                         ppc64le 1.21.3-5.fc42              fedora       3.0 MiB
 libacl                            ppc64le 2.3.2-3.fc42               fedora      66.0 KiB
 libarchive                        ppc64le 3.7.7-2.fc42               fedora       1.3 MiB
 libattr                           ppc64le 2.5.2-5.fc42               fedora      66.8 KiB
 libblkid                          ppc64le 2.40.4-7.fc42              fedora     354.5 KiB
 libbrotli                         ppc64le 1.1.0-6.fc42               fedora     972.7 KiB
 libcap                            ppc64le 2.73-2.fc42                fedora     505.6 KiB
 libcap-ng                         ppc64le 0.8.5-4.fc42               fedora     160.3 KiB
 libcom_err                        ppc64le 1.47.2-3.fc42              fedora     111.0 KiB
 libcurl                           ppc64le 8.11.1-4.fc42              fedora       1.0 MiB
 libeconf                          ppc64le 0.7.6-1.fc42               fedora      80.5 KiB
 libevent                          ppc64le 2.1.12-15.fc42             fedora       1.2 MiB
 libfdisk                          ppc64le 2.40.4-7.fc42              fedora     482.9 KiB
 libffi                            ppc64le 3.4.6-5.fc42               fedora      89.9 KiB
 libgcc                            ppc64le 15.0.1-0.9.fc42            fedora     286.4 KiB
 libgomp                           ppc64le 15.0.1-0.9.fc42            fedora     639.5 KiB
 libidn2                           ppc64le 2.3.7-3.fc42               fedora     392.7 KiB
 libmount                          ppc64le 2.40.4-7.fc42              fedora     483.9 KiB
 libnghttp2                        ppc64le 1.64.0-3.fc42              fedora     198.0 KiB
 libpkgconf                        ppc64le 2.3.0-2.fc42               fedora     133.9 KiB
 libpsl                            ppc64le 0.21.5-5.fc42              fedora     132.1 KiB
 librtas                           ppc64le 2.0.6-3.fc42               fedora     305.4 KiB
 libselinux                        ppc64le 3.8-1.fc42                 fedora     265.1 KiB
 libsemanage                       ppc64le 3.8-1.fc42                 fedora     423.9 KiB
 libsepol                          ppc64le 3.8-1.fc42                 fedora       1.0 MiB
 libsmartcols                      ppc64le 2.40.4-7.fc42              fedora     289.4 KiB
 libssh                            ppc64le 0.11.1-4.fc42              fedora     713.5 KiB
 libssh-config                     noarch  0.11.1-4.fc42              fedora     277.0   B
 libstdc++                         ppc64le 15.0.1-0.9.fc42            fedora       3.8 MiB
 libtasn1                          ppc64le 4.20.0-1.fc42              fedora     220.0 KiB
 libtool-ltdl                      ppc64le 2.5.4-4.fc42               fedora      93.9 KiB
 libunistring                      ppc64le 1.1-9.fc42                 fedora       1.9 MiB
 libuuid                           ppc64le 2.40.4-7.fc42              fedora      69.3 KiB
 libverto                          ppc64le 0.3.2-10.fc42              fedora      69.1 KiB
 libxcrypt                         ppc64le 4.4.38-6.fc42              fedora     336.2 KiB
 libxml2                           ppc64le 2.12.9-2.fc42              fedora       2.3 MiB
 libzstd                           ppc64le 1.5.6-3.fc42               fedora     923.7 KiB
 lua-libs                          ppc64le 5.4.7-2.fc42               fedora     392.8 KiB
 lua-srpm-macros                   noarch  1-15.fc42                  fedora       1.3 KiB
 lz4-libs                          ppc64le 1.10.0-2.fc42              fedora     261.1 KiB
 mpfr                              ppc64le 4.2.1-6.fc42               fedora     912.7 KiB
 ncurses-base                      noarch  6.5-5.20250125.fc42        fedora     326.8 KiB
 ncurses-libs                      ppc64le 6.5-5.20250125.fc42        fedora       1.5 MiB
 ocaml-srpm-macros                 noarch  10-4.fc42                  fedora       1.9 KiB
 openblas-srpm-macros              noarch  2-19.fc42                  fedora     112.0   B
 openldap                          ppc64le 2.6.9-3.fc42               fedora     889.2 KiB
 openssl-libs                      ppc64le 1:3.2.4-1.fc42             fedora       7.8 MiB
 p11-kit                           ppc64le 0.25.5-5.fc42              fedora       2.8 MiB
 p11-kit-trust                     ppc64le 0.25.5-5.fc42              fedora     527.1 KiB
 package-notes-srpm-macros         noarch  0.5-13.fc42                fedora       1.6 KiB
 pam-libs                          ppc64le 1.7.0-4.fc42               fedora     286.2 KiB
 pcre2                             ppc64le 10.44-1.fc42.2             fedora     776.5 KiB
 pcre2-syntax                      noarch  10.44-1.fc42.2             fedora     251.6 KiB
 perl-srpm-macros                  noarch  1-57.fc42                  fedora     861.0   B
 pkgconf                           ppc64le 2.3.0-2.fc42               fedora     112.4 KiB
 pkgconf-m4                        noarch  2.3.0-2.fc42               fedora      14.4 KiB
 pkgconf-pkg-config                ppc64le 2.3.0-2.fc42               fedora     990.0   B
 popt                              ppc64le 1.19-8.fc42                fedora     208.7 KiB
 publicsuffix-list-dafsa           noarch  20250116-1.fc42            fedora      68.5 KiB
 pyproject-srpm-macros             noarch  1.17.0-1.fc42              fedora       1.9 KiB
 python-srpm-macros                noarch  3.13-4.fc42                fedora      51.0 KiB
 qt5-srpm-macros                   noarch  5.15.15-1.fc42             fedora     500.0   B
 qt6-srpm-macros                   noarch  6.8.2-2.fc42               fedora     464.0   B
 readline                          ppc64le 8.2-12.fc42                fedora     624.9 KiB
 rpm                               ppc64le 4.20.0-8.fc42              fedora       4.1 MiB
 rpm-build-libs                    ppc64le 4.20.0-8.fc42              fedora     262.5 KiB
 rpm-libs                          ppc64le 4.20.0-8.fc42              fedora     989.8 KiB
 rpm-sequoia                       ppc64le 1.7.0-5.fc42               fedora       2.8 MiB
 rust-srpm-macros                  noarch  26.3-4.fc42                fedora       4.8 KiB
 setup                             noarch  2.15.0-12.fc42             fedora     720.8 KiB
 sqlite-libs                       ppc64le 3.47.2-2.fc42              fedora       1.9 MiB
 systemd-libs                      ppc64le 257.3-7.fc42               fedora       2.9 MiB
 systemd-standalone-sysusers       ppc64le 257.3-7.fc42               fedora     329.4 KiB
 tree-sitter-srpm-macros           noarch  0.1.0-8.fc42               fedora       6.5 KiB
 util-linux-core                   ppc64le 2.40.4-7.fc42              fedora       2.5 MiB
 xxhash-libs                       ppc64le 0.8.3-2.fc42               fedora      85.6 KiB
 xz-libs                           ppc64le 1:5.6.3-3.fc42             fedora     266.0 KiB
 zig-srpm-macros                   noarch  1-4.fc42                   fedora       1.1 KiB
 zip                               ppc64le 3.0-43.fc42                fedora     889.8 KiB
 zlib-ng-compat                    ppc64le 2.2.3-2.fc42               fedora     197.4 KiB
 zstd                              ppc64le 1.5.6-3.fc42               fedora       1.9 MiB
Installing groups:
 Buildsystem building group                                                               

Transaction Summary:
 Installing:       149 packages

Total size of inbound packages is 57 MiB. Need to download 57 MiB.
After this operation, 228 MiB extra will be used (install 228 MiB, remove 0 B).
[  1/149] bzip2-0:1.0.8-20.fc42.ppc64le 100% | 416.0 KiB/s |  53.2 KiB |  00m00s
[  2/149] coreutils-0:9.6-1.fc42.ppc64l 100% |   6.9 MiB/s |   1.2 MiB |  00m00s
[  3/149] cpio-0:2.15-2.fc41.ppc64le    100% |   3.6 MiB/s | 299.5 KiB |  00m00s
[  4/149] diffutils-0:3.10-9.fc42.ppc64 100% |   9.7 MiB/s | 417.3 KiB |  00m00s
[  5/149] bash-0:5.2.37-1.fc42.ppc64le  100% |   8.1 MiB/s |   1.9 MiB |  00m00s
[  6/149] fedora-release-common-0:42-0. 100% |   1.1 MiB/s |  24.9 KiB |  00m00s
[  7/149] findutils-1:4.10.0-5.fc42.ppc 100% |  12.2 MiB/s | 589.3 KiB |  00m00s
[  8/149] glibc-minimal-langpack-0:2.40 100% |   3.2 MiB/s | 127.9 KiB |  00m00s
[  9/149] gzip-0:1.13-3.fc42.ppc64le    100% |   4.5 MiB/s | 174.6 KiB |  00m00s
[ 10/149] grep-0:3.11-10.fc42.ppc64le   100% |   4.9 MiB/s | 309.3 KiB |  00m00s
[ 11/149] gawk-0:5.3.1-1.fc42.ppc64le   100% |   9.3 MiB/s |   1.1 MiB |  00m00s
[ 12/149] info-0:7.2-3.fc42.ppc64le     100% |   4.7 MiB/s | 202.7 KiB |  00m00s
[ 13/149] redhat-rpm-config-0:342-2.fc4 100% |   3.6 MiB/s |  81.6 KiB |  00m00s
[ 14/149] patch-0:2.7.6-26.fc42.ppc64le 100% |   2.6 MiB/s | 139.7 KiB |  00m00s
[ 15/149] rpm-build-0:4.20.0-8.fc42.ppc 100% |   2.3 MiB/s |  84.2 KiB |  00m00s
[ 16/149] sed-0:4.9-4.fc42.ppc64le      100% |  10.5 MiB/s | 322.6 KiB |  00m00s
[ 17/149] shadow-utils-2:4.17.0-4.fc42. 100% |  13.5 MiB/s |   1.3 MiB |  00m00s
[ 18/149] unzip-0:6.0-66.fc42.ppc64le   100% |   2.5 MiB/s | 190.9 KiB |  00m00s
[ 19/149] tar-2:1.35-5.fc42.ppc64le     100% |   7.3 MiB/s | 887.0 KiB |  00m00s
[ 20/149] which-0:2.23-1.fc42.ppc64le   100% |   1.5 MiB/s |  43.0 KiB |  00m00s
[ 21/149] xz-1:5.6.3-3.fc42.ppc64le     100% |   7.3 MiB/s | 479.0 KiB |  00m00s
[ 22/149] util-linux-0:2.40.4-7.fc42.pp 100% |   9.4 MiB/s |   1.2 MiB |  00m00s
[ 23/149] filesystem-0:3.18-36.fc42.ppc 100% |  12.7 MiB/s |   1.3 MiB |  00m00s
[ 24/149] bzip2-libs-0:1.0.8-20.fc42.pp 100% |   1.9 MiB/s |  49.5 KiB |  00m00s
[ 25/149] ncurses-libs-0:6.5-5.20250125 100% |   7.3 MiB/s | 383.5 KiB |  00m00s
[ 26/149] gmp-1:6.3.0-2.fc41.ppc64le    100% |   7.9 MiB/s | 309.0 KiB |  00m00s
[ 27/149] glibc-0:2.40.9000-35.fc42.ppc 100% |  19.1 MiB/s |   3.2 MiB |  00m00s
[ 28/149] libacl-0:2.3.2-3.fc42.ppc64le 100% | 723.8 KiB/s |  25.3 KiB |  00m00s
[ 29/149] libattr-0:2.5.2-5.fc42.ppc64l 100% | 585.0 KiB/s |  17.5 KiB |  00m00s
[ 30/149] libcap-0:2.73-2.fc42.ppc64le  100% |   2.2 MiB/s |  91.8 KiB |  00m00s
[ 31/149] coreutils-common-0:9.6-1.fc42 100% |  14.1 MiB/s |   2.1 MiB |  00m00s
[ 32/149] libselinux-0:3.8-1.fc42.ppc64 100% |   2.3 MiB/s | 111.4 KiB |  00m00s
[ 33/149] fedora-repos-0:42-0.5.noarch  100% | 360.7 KiB/s |   9.4 KiB |  00m00s
[ 34/149] systemd-libs-0:257.3-7.fc42.p 100% |  13.5 MiB/s | 872.3 KiB |  00m00s
[ 35/149] mpfr-0:4.2.1-6.fc42.ppc64le   100% |   9.3 MiB/s | 362.4 KiB |  00m00s
[ 36/149] readline-0:8.2-12.fc42.ppc64l 100% |   6.3 MiB/s | 232.0 KiB |  00m00s
[ 37/149] openssl-libs-1:3.2.4-1.fc42.p 100% |  19.1 MiB/s |   2.5 MiB |  00m00s
[ 38/149] pcre2-0:10.44-1.fc42.2.ppc64l 100% |  10.8 MiB/s | 254.3 KiB |  00m00s
[ 39/149] ansible-srpm-macros-0:1-17.1. 100% |   1.2 MiB/s |  20.3 KiB |  00m00s
[ 40/149] ed-0:1.21-2.fc42.ppc64le      100% |   3.0 MiB/s |  85.2 KiB |  00m00s
[ 41/149] build-reproducibility-srpm-ma 100% | 730.2 KiB/s |  11.7 KiB |  00m00s
[ 42/149] glibc-common-0:2.40.9000-35.f 100% |   6.0 MiB/s | 428.5 KiB |  00m00s
[ 43/149] efi-srpm-macros-0:6-2.fc42.no 100% |   1.2 MiB/s |  22.5 KiB |  00m00s
[ 44/149] dwz-0:0.15-9.fc42.ppc64le     100% |   4.4 MiB/s | 145.6 KiB |  00m00s
[ 45/149] filesystem-srpm-macros-0:3.18 100% |   1.3 MiB/s |  25.6 KiB |  00m00s
[ 46/149] file-0:5.46-1.fc42.ppc64le    100% |   1.5 MiB/s |  49.5 KiB |  00m00s
[ 47/149] fonts-srpm-macros-1:2.0.5-21. 100% |   1.2 MiB/s |  27.1 KiB |  00m00s
[ 48/149] forge-srpm-macros-0:0.4.0-2.f 100% |   1.1 MiB/s |  19.9 KiB |  00m00s
[ 49/149] fpc-srpm-macros-0:1.3-14.fc42 100% | 222.8 KiB/s |   8.0 KiB |  00m00s
[ 50/149] ghc-srpm-macros-0:1.9.2-2.fc4 100% | 339.1 KiB/s |   9.2 KiB |  00m00s
[ 51/149] gnat-srpm-macros-0:6-7.fc42.n 100% | 430.6 KiB/s |   8.6 KiB |  00m00s
[ 52/149] lua-srpm-macros-0:1-15.fc42.n 100% | 524.5 KiB/s |   8.9 KiB |  00m00s
[ 53/149] kernel-srpm-macros-0:1.0-25.f 100% | 519.5 KiB/s |   9.9 KiB |  00m00s
[ 54/149] go-srpm-macros-0:3.6.0-6.fc42 100% |   1.4 MiB/s |  27.7 KiB |  00m00s
[ 55/149] ocaml-srpm-macros-0:10-4.fc42 100% | 575.3 KiB/s |   9.2 KiB |  00m00s
[ 56/149] openblas-srpm-macros-0:2-19.f 100% | 408.7 KiB/s |   7.8 KiB |  00m00s
[ 57/149] package-notes-srpm-macros-0:0 100% | 487.4 KiB/s |   9.3 KiB |  00m00s
[ 58/149] perl-srpm-macros-0:1-57.fc42. 100% | 500.3 KiB/s |   8.5 KiB |  00m00s
[ 59/149] pyproject-srpm-macros-0:1.17. 100% | 663.8 KiB/s |  13.9 KiB |  00m00s
[ 60/149] python-srpm-macros-0:3.13-4.f 100% |   1.1 MiB/s |  23.0 KiB |  00m00s
[ 61/149] qt5-srpm-macros-0:5.15.15-1.f 100% | 556.2 KiB/s |   8.9 KiB |  00m00s
[ 62/149] qt6-srpm-macros-0:6.8.2-2.fc4 100% | 465.0 KiB/s |   9.3 KiB |  00m00s
[ 63/149] rust-srpm-macros-0:26.3-4.fc4 100% | 650.3 KiB/s |  11.7 KiB |  00m00s
[ 64/149] tree-sitter-srpm-macros-0:0.1 100% | 561.6 KiB/s |  11.2 KiB |  00m00s
[ 65/149] rpm-0:4.20.0-8.fc42.ppc64le   100% |  11.6 MiB/s | 546.4 KiB |  00m00s
[ 66/149] zig-srpm-macros-0:1-4.fc42.no 100% | 392.6 KiB/s |   8.2 KiB |  00m00s
[ 67/149] zip-0:3.0-43.fc42.ppc64le     100% |   9.0 MiB/s | 275.5 KiB |  00m00s
[ 68/149] debugedit-0:5.1-4.fc42.ppc64l 100% |   3.3 MiB/s |  82.3 KiB |  00m00s
[ 69/149] elfutils-libelf-0:0.192-8.fc4 100% |   7.6 MiB/s | 217.0 KiB |  00m00s
[ 70/149] elfutils-0:0.192-8.fc42.ppc64 100% |  14.2 MiB/s | 567.9 KiB |  00m00s
[ 71/149] pkgconf-pkg-config-0:2.3.0-2. 100% | 266.2 KiB/s |   9.9 KiB |  00m00s
[ 72/149] libarchive-0:3.7.7-2.fc42.ppc 100% |   9.5 MiB/s | 486.0 KiB |  00m00s
[ 73/149] rpm-build-libs-0:4.20.0-8.fc4 100% |   3.8 MiB/s | 107.6 KiB |  00m00s
[ 74/149] popt-0:1.19-8.fc42.ppc64le    100% |   1.8 MiB/s |  70.4 KiB |  00m00s
[ 75/149] rpm-libs-0:4.20.0-8.fc42.ppc6 100% |  18.4 MiB/s | 357.6 KiB |  00m00s
[ 76/149] audit-libs-0:4.0.3-2.fc42.ppc 100% |   5.3 MiB/s | 141.1 KiB |  00m00s
[ 77/149] zstd-0:1.5.6-3.fc42.ppc64le   100% |  10.6 MiB/s | 522.6 KiB |  00m00s
[ 78/149] libeconf-0:0.7.6-1.fc42.ppc64 100% |   1.5 MiB/s |  39.9 KiB |  00m00s
[ 79/149] binutils-0:2.44-3.fc42.ppc64l 100% |  25.0 MiB/s |   6.5 MiB |  00m00s
[ 80/149] libsemanage-0:3.8-1.fc42.ppc6 100% |   1.9 MiB/s | 135.2 KiB |  00m00s
[ 81/149] libxcrypt-0:4.4.38-6.fc42.ppc 100% |   2.4 MiB/s | 139.9 KiB |  00m00s
[ 82/149] setup-0:2.15.0-12.fc42.noarch 100% |   6.3 MiB/s | 155.7 KiB |  00m00s
[ 83/149] pam-libs-0:1.7.0-4.fc42.ppc64 100% |   2.2 MiB/s |  64.4 KiB |  00m00s
[ 84/149] libblkid-0:2.40.4-7.fc42.ppc6 100% |   4.6 MiB/s | 141.8 KiB |  00m00s
[ 85/149] libmount-0:2.40.4-7.fc42.ppc6 100% |   6.4 MiB/s | 177.6 KiB |  00m00s
[ 86/149] libfdisk-0:2.40.4-7.fc42.ppc6 100% |   5.7 MiB/s | 174.0 KiB |  00m00s
[ 87/149] libcap-ng-0:0.8.5-4.fc42.ppc6 100% | 904.7 KiB/s |  33.5 KiB |  00m00s
[ 88/149] libsmartcols-0:2.40.4-7.fc42. 100% |   4.1 MiB/s | 107.9 KiB |  00m00s
[ 89/149] librtas-0:2.0.6-3.fc42.ppc64l 100% |   2.6 MiB/s |  81.0 KiB |  00m00s
[ 90/149] libuuid-0:2.40.4-7.fc42.ppc64 100% | 757.1 KiB/s |  27.3 KiB |  00m00s
[ 91/149] zlib-ng-compat-0:2.2.3-2.fc42 100% |   3.0 MiB/s |  80.9 KiB |  00m00s
[ 92/149] util-linux-core-0:2.40.4-7.fc 100% |  14.7 MiB/s | 571.6 KiB |  00m00s
[ 93/149] xz-libs-1:5.6.3-3.fc42.ppc64l 100% |   4.1 MiB/s | 126.4 KiB |  00m00s
[ 94/149] basesystem-0:11-22.fc42.noarc 100% | 383.7 KiB/s |   7.3 KiB |  00m00s
[ 95/149] ncurses-base-0:6.5-5.20250125 100% |   4.3 MiB/s |  88.1 KiB |  00m00s
[ 96/149] libgcc-0:15.0.1-0.9.fc42.ppc6 100% |   2.2 MiB/s | 100.9 KiB |  00m00s
[ 97/149] libsepol-0:3.8-1.fc42.ppc64le 100% |  11.6 MiB/s | 381.1 KiB |  00m00s
[ 98/149] ca-certificates-0:2024.2.69_v 100% |  25.7 MiB/s | 949.0 KiB |  00m00s
[ 99/149] glibc-gconv-extra-0:2.40.9000 100% |  17.0 MiB/s |   1.7 MiB |  00m00s
[100/149] crypto-policies-0:20250214-1. 100% |   4.4 MiB/s |  98.7 KiB |  00m00s
[101/149] fedora-gpg-keys-0:42-0.5.noar 100% |   5.8 MiB/s | 135.7 KiB |  00m00s
[102/149] pcre2-syntax-0:10.44-1.fc42.2 100% |   6.1 MiB/s | 149.8 KiB |  00m00s
[103/149] add-determinism-0:0.6.0-1.fc4 100% |  17.0 MiB/s | 960.2 KiB |  00m00s
[104/149] curl-0:8.11.1-4.fc42.ppc64le  100% |   6.2 MiB/s | 228.1 KiB |  00m00s
[105/149] file-libs-0:5.46-1.fc42.ppc64 100% |  14.0 MiB/s | 861.7 KiB |  00m00s
[106/149] alternatives-0:1.31-3.fc42.pp 100% |   1.2 MiB/s |  43.7 KiB |  00m00s
[107/149] elfutils-debuginfod-client-0: 100% |   1.1 MiB/s |  49.6 KiB |  00m00s
[108/149] jansson-0:2.14-2.fc42.ppc64le 100% |   1.6 MiB/s |  50.9 KiB |  00m00s
[109/149] elfutils-libs-0:0.192-8.fc42. 100% |   5.8 MiB/s | 303.6 KiB |  00m00s
[110/149] libzstd-0:1.5.6-3.fc42.ppc64l 100% |   5.6 MiB/s | 352.2 KiB |  00m00s
[111/149] libstdc++-0:15.0.1-0.9.fc42.p 100% |  10.6 MiB/s |   1.0 MiB |  00m00s
[112/149] lz4-libs-0:1.10.0-2.fc42.ppc6 100% |   2.8 MiB/s | 102.1 KiB |  00m00s
[113/149] pkgconf-0:2.3.0-2.fc42.ppc64l 100% |   1.6 MiB/s |  45.5 KiB |  00m00s
[114/149] libxml2-0:2.12.9-2.fc42.ppc64 100% |  10.8 MiB/s | 776.5 KiB |  00m00s
[115/149] pkgconf-m4-0:2.3.0-2.fc42.noa 100% | 547.5 KiB/s |  14.2 KiB |  00m00s
[116/149] libgomp-0:15.0.1-0.9.fc42.ppc 100% |   9.0 MiB/s | 368.7 KiB |  00m00s
[117/149] lua-libs-0:5.4.7-2.fc42.ppc64 100% |   4.4 MiB/s | 148.8 KiB |  00m00s
[118/149] rpm-sequoia-0:1.7.0-5.fc42.pp 100% |  16.7 MiB/s |   1.0 MiB |  00m00s
[119/149] libffi-0:3.4.6-5.fc42.ppc64le 100% |   1.1 MiB/s |  38.7 KiB |  00m00s
[120/149] sqlite-libs-0:3.47.2-2.fc42.p 100% |  13.8 MiB/s | 836.3 KiB |  00m00s
[121/149] p11-kit-0:0.25.5-5.fc42.ppc64 100% |  10.7 MiB/s | 493.1 KiB |  00m00s
[122/149] p11-kit-trust-0:0.25.5-5.fc42 100% |   3.8 MiB/s | 149.0 KiB |  00m00s
[123/149] json-c-0:0.18-2.fc42.ppc64le  100% |   1.3 MiB/s |  49.3 KiB |  00m00s
[124/149] elfutils-default-yama-scope-0 100% | 629.8 KiB/s |  12.6 KiB |  00m00s
[125/149] libpkgconf-0:2.3.0-2.fc42.ppc 100% |   1.5 MiB/s |  43.2 KiB |  00m00s
[126/149] libtasn1-0:4.20.0-1.fc42.ppc6 100% |   3.6 MiB/s |  80.9 KiB |  00m00s
[127/149] fedora-release-0:42-0.21.noar 100% | 635.7 KiB/s |  14.0 KiB |  00m00s
[128/149] xxhash-libs-0:0.8.3-2.fc42.pp 100% |   1.5 MiB/s |  38.1 KiB |  00m00s
[129/149] systemd-standalone-sysusers-0 100% |   3.7 MiB/s | 163.4 KiB |  00m00s
[130/149] fedora-release-identity-basic 100% | 739.5 KiB/s |  14.8 KiB |  00m00s
[131/149] libcurl-0:8.11.1-4.fc42.ppc64 100% |   7.7 MiB/s | 423.1 KiB |  00m00s
[132/149] krb5-libs-0:1.21.3-5.fc42.ppc 100% |   9.6 MiB/s | 851.2 KiB |  00m00s
[133/149] gdb-minimal-0:16.2-2.fc42.ppc 100% |  25.4 MiB/s |   4.7 MiB |  00m00s
[134/149] libidn2-0:2.3.7-3.fc42.ppc64l 100% |   2.4 MiB/s | 120.7 KiB |  00m00s
[135/149] libbrotli-0:1.1.0-6.fc42.ppc6 100% |   3.7 MiB/s | 382.4 KiB |  00m00s
[136/149] libpsl-0:0.21.5-5.fc42.ppc64l 100% |   2.3 MiB/s |  65.8 KiB |  00m00s
[137/149] libnghttp2-0:1.64.0-3.fc42.pp 100% |   2.6 MiB/s |  86.1 KiB |  00m00s
[138/149] libssh-0:0.11.1-4.fc42.ppc64l 100% |   5.7 MiB/s | 264.9 KiB |  00m00s
[139/149] openldap-0:2.6.9-3.fc42.ppc64 100% |   7.2 MiB/s | 289.4 KiB |  00m00s
[140/149] keyutils-libs-0:1.6.3-5.fc42. 100% | 933.8 KiB/s |  32.7 KiB |  00m00s
[141/149] libcom_err-0:1.47.2-3.fc42.pp 100% | 909.5 KiB/s |  27.3 KiB |  00m00s
[142/149] publicsuffix-list-dafsa-0:202 100% |   2.7 MiB/s |  58.8 KiB |  00m00s
[143/149] libssh-config-0:0.11.1-4.fc42 100% | 290.4 KiB/s |   9.0 KiB |  00m00s
[144/149] libunistring-0:1.1-9.fc42.ppc 100% |   5.2 MiB/s | 577.8 KiB |  00m00s
[145/149] libevent-0:2.1.12-15.fc42.ppc 100% |   5.6 MiB/s | 275.3 KiB |  00m00s
[146/149] cyrus-sasl-lib-0:2.1.28-30.fc 100% |   8.1 MiB/s | 880.8 KiB |  00m00s
[147/149] libtool-ltdl-0:2.5.4-4.fc42.p 100% |   1.2 MiB/s |  39.4 KiB |  00m00s
[148/149] gdbm-libs-1:1.23-9.fc42.ppc64 100% |   1.7 MiB/s |  61.8 KiB |  00m00s
[149/149] libverto-0:0.3.2-10.fc42.ppc6 100% | 102.6 KiB/s |  22.1 KiB |  00m00s
--------------------------------------------------------------------------------
[149/149] Total                         100% |  22.5 MiB/s |  56.5 MiB |  00m03s
Running transaction
Importing OpenPGP key 0x105EF944:
 UserID     : "Fedora (42) <fedora-42-primary@fedoraproject.org>"
 Fingerprint: B0F4950458F69E1150C6C5EDC8AC4916105EF944
 From       : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-42-primary
The key was successfully imported.
[  1/151] Verify package files          100% | 243.0   B/s | 149.0   B |  00m01s
[  2/151] Prepare transaction           100% |   1.5 KiB/s | 149.0   B |  00m00s
[  3/151] Installing libgcc-0:15.0.1-0. 100% |  93.8 MiB/s | 288.1 KiB |  00m00s
[  4/151] Installing libssh-config-0:0. 100% |   0.0   B/s | 816.0   B |  00m00s
[  5/151] Installing publicsuffix-list- 100% |  67.6 MiB/s |  69.2 KiB |  00m00s
[  6/151] Installing fedora-release-ide 100% | 937.5 KiB/s | 960.0   B |  00m00s
[  7/151] Installing fedora-gpg-keys-0: 100% |  17.1 MiB/s | 174.8 KiB |  00m00s
[  8/151] Installing fedora-repos-0:42- 100% |   5.6 MiB/s |   5.7 KiB |  00m00s
[  9/151] Installing fedora-release-com 100% |  11.9 MiB/s |  24.4 KiB |  00m00s
[ 10/151] Installing fedora-release-0:4 100% |  10.1 KiB/s | 124.0   B |  00m00s
>>> Running unknown scriptlet: setup-0:2.15.0-12.fc42.noarch                    
>>> Finished unknown scriptlet: setup-0:2.15.0-12.fc42.noarch                   
>>> Scriptlet output:                                                           
>>> Creating group 'adm' with GID 4.                                            
>>> Creating group 'audio' with GID 63.                                         
>>> Creating group 'bin' with GID 1.                                            
>>> Creating group 'cdrom' with GID 11.                                         
>>> Creating group 'clock' with GID 103.                                        
>>> Creating group 'daemon' with GID 2.                                         
>>> Creating group 'dialout' with GID 18.                                       
>>> Creating group 'disk' with GID 6.                                           
>>> Creating group 'floppy' with GID 19.                                        
>>> Creating group 'ftp' with GID 50.                                           
>>> Creating group 'games' with GID 20.                                         
>>> Creating group 'input' with GID 104.                                        
>>> Creating group 'kmem' with GID 9.                                           
>>> Creating group 'kvm' with GID 36.                                           
>>> Creating group 'lock' with GID 54.                                          
>>> Creating group 'lp' with GID 7.                                             
>>> Creating group 'mail' with GID 12.                                          
>>> Creating group 'man' with GID 15.                                           
>>> Creating group 'mem' with GID 8.                                            
>>> Creating group 'nobody' with GID 65534.                                     
>>> Creating group 'render' with GID 105.                                       
>>> Creating group 'root' with GID 0.                                           
>>> Creating group 'sgx' with GID 106.                                          
>>> Creating group 'sys' with GID 3.                                            
>>> Creating group 'tape' with GID 33.                                          
>>> Creating group 'tty' with GID 5.                                            
>>> Creating group 'users' with GID 100.                                        
>>> Creating group 'utmp' with GID 22.                                          
>>> Creating group 'video' with GID 39.                                         
>>> Creating group 'wheel' with GID 10.                                         
>>>                                                                             
>>> Running unknown scriptlet: setup-0:2.15.0-12.fc42.noarch                    
>>> Finished unknown scriptlet: setup-0:2.15.0-12.fc42.noarch                   
>>> Scriptlet output:                                                           
>>> Creating user 'adm' (adm) with UID 3 and GID 4.                             
>>> Creating user 'bin' (bin) with UID 1 and GID 1.                             
>>> Creating user 'daemon' (daemon) with UID 2 and GID 2.                       
>>> Creating user 'ftp' (FTP User) with UID 14 and GID 50.                      
>>> Creating user 'games' (games) with UID 12 and GID 20.                       
>>> Creating user 'halt' (halt) with UID 7 and GID 0.                           
>>> Creating user 'lp' (lp) with UID 4 and GID 7.                               
>>> Creating user 'mail' (mail) with UID 8 and GID 12.                          
>>> Creating user 'nobody' (Kernel Overflow User) with UID 65534 and GID 65534. 
>>> Creating user 'operator' (operator) with UID 11 and GID 0.                  
>>> Creating user 'root' (Super User) with UID 0 and GID 0.                     
>>> Creating user 'shutdown' (shutdown) with UID 6 and GID 0.                   
>>> Creating user 'sync' (sync) with UID 5 and GID 0.                           
>>>                                                                             
[ 11/151] Installing setup-0:2.15.0-12. 100% |  21.5 MiB/s | 726.6 KiB |  00m00s
>>> [RPM] /etc/hosts created as /etc/hosts.rpmnew                               
[ 12/151] Installing filesystem-0:3.18- 100% |   1.2 MiB/s | 212.4 KiB |  00m00s
[ 13/151] Installing basesystem-0:11-22 100% |   0.0   B/s | 124.0   B |  00m00s
[ 14/151] Installing pkgconf-m4-0:2.3.0 100% |  14.5 MiB/s |  14.8 KiB |  00m00s
[ 15/151] Installing pcre2-syntax-0:10. 100% |  82.7 MiB/s | 254.1 KiB |  00m00s
[ 16/151] Installing ncurses-base-0:6.5 100% |  28.7 MiB/s | 352.2 KiB |  00m00s
[ 17/151] Installing glibc-minimal-lang 100% |   0.0   B/s | 124.0   B |  00m00s
[ 18/151] Installing ncurses-libs-0:6.5 100% | 124.7 MiB/s |   1.5 MiB |  00m00s
[ 19/151] Installing glibc-0:2.40.9000- 100% | 112.5 MiB/s |  11.7 MiB |  00m00s
[ 20/151] Installing bash-0:5.2.37-1.fc 100% |  85.0 MiB/s |   8.7 MiB |  00m00s
[ 21/151] Installing glibc-common-0:2.4 100% |  38.8 MiB/s |   1.5 MiB |  00m00s
[ 22/151] Installing glibc-gconv-extra- 100% | 162.9 MiB/s |  18.6 MiB |  00m00s
[ 23/151] Installing zlib-ng-compat-0:2 100% |  96.8 MiB/s | 198.2 KiB |  00m00s
[ 24/151] Installing bzip2-libs-0:1.0.8 100% |  67.2 MiB/s | 137.6 KiB |  00m00s
[ 25/151] Installing xz-libs-1:5.6.3-3. 100% |  86.9 MiB/s | 267.1 KiB |  00m00s
[ 26/151] Installing libuuid-0:2.40.4-7 100% |  68.7 MiB/s |  70.4 KiB |  00m00s
[ 27/151] Installing libblkid-0:2.40.4- 100% | 115.8 MiB/s | 355.6 KiB |  00m00s
[ 28/151] Installing gmp-1:6.3.0-2.fc41 100% | 138.8 MiB/s | 852.5 KiB |  00m00s
[ 29/151] Installing readline-0:8.2-12. 100% | 122.5 MiB/s | 627.0 KiB |  00m00s
[ 30/151] Installing popt-0:1.19-8.fc42 100% |  35.0 MiB/s | 215.3 KiB |  00m00s
[ 31/151] Installing libxcrypt-0:4.4.38 100% |  82.7 MiB/s | 338.9 KiB |  00m00s
[ 32/151] Installing libstdc++-0:15.0.1 100% | 166.8 MiB/s |   3.8 MiB |  00m00s
[ 33/151] Installing libzstd-0:1.5.6-3. 100% | 129.0 MiB/s | 924.9 KiB |  00m00s
[ 34/151] Installing elfutils-libelf-0: 100% | 156.5 MiB/s |   1.3 MiB |  00m00s
[ 35/151] Installing libattr-0:2.5.2-5. 100% |  66.2 MiB/s |  67.7 KiB |  00m00s
[ 36/151] Installing libacl-0:2.3.2-3.f 100% |  65.2 MiB/s |  66.8 KiB |  00m00s
[ 37/151] Installing dwz-0:0.15-9.fc42. 100% |  14.6 MiB/s | 388.0 KiB |  00m00s
[ 38/151] Installing mpfr-0:4.2.1-6.fc4 100% | 127.6 MiB/s | 914.4 KiB |  00m00s
[ 39/151] Installing gawk-0:5.3.1-1.fc4 100% |  64.3 MiB/s |   2.7 MiB |  00m00s
[ 40/151] Installing unzip-0:6.0-66.fc4 100% |  20.2 MiB/s | 537.4 KiB |  00m00s
[ 41/151] Installing file-libs-0:5.46-1 100% | 237.6 MiB/s |  11.9 MiB |  00m00s
[ 42/151] Installing file-0:5.46-1.fc42 100% |   4.5 MiB/s | 141.6 KiB |  00m00s
[ 43/151] Installing crypto-policies-0: 100% |   8.9 MiB/s | 163.5 KiB |  00m00s
[ 44/151] Installing pcre2-0:10.44-1.fc 100% |  84.4 MiB/s | 777.9 KiB |  00m00s
[ 45/151] Installing grep-0:3.11-10.fc4 100% |  22.5 MiB/s |   1.0 MiB |  00m00s
[ 46/151] Installing xz-1:5.6.3-3.fc42. 100% |  35.7 MiB/s |   1.3 MiB |  00m00s
[ 47/151] Installing libeconf-0:0.7.6-1 100% |  40.1 MiB/s |  82.2 KiB |  00m00s
[ 48/151] Installing libcap-ng-0:0.8.5- 100% |  79.2 MiB/s | 162.1 KiB |  00m00s
[ 49/151] Installing audit-libs-0:4.0.3 100% | 117.5 MiB/s | 481.1 KiB |  00m00s
[ 50/151] Installing pam-libs-0:1.7.0-4 100% |  93.9 MiB/s | 288.6 KiB |  00m00s
[ 51/151] Installing libcap-0:2.73-2.fc 100% |  17.8 MiB/s | 510.6 KiB |  00m00s
[ 52/151] Installing systemd-libs-0:257 100% | 161.0 MiB/s |   2.9 MiB |  00m00s
[ 53/151] Installing libsmartcols-0:2.4 100% |  94.5 MiB/s | 290.4 KiB |  00m00s
[ 54/151] Installing libsepol-0:3.8-1.f 100% | 148.9 MiB/s |   1.0 MiB |  00m00s
[ 55/151] Installing libselinux-0:3.8-1 100% |  86.7 MiB/s | 266.3 KiB |  00m00s
[ 56/151] Installing findutils-1:4.10.0 100% |  53.8 MiB/s |   2.0 MiB |  00m00s
[ 57/151] Installing sed-0:4.9-4.fc42.p 100% |  26.4 MiB/s | 945.3 KiB |  00m00s
[ 58/151] Installing libmount-0:2.40.4- 100% |  94.7 MiB/s | 485.0 KiB |  00m00s
[ 59/151] Installing alternatives-0:1.3 100% |   3.7 MiB/s |  91.6 KiB |  00m00s
[ 60/151] Installing lz4-libs-0:1.10.0- 100% |  85.4 MiB/s | 262.2 KiB |  00m00s
[ 61/151] Installing lua-libs-0:5.4.7-2 100% |  96.2 MiB/s | 394.0 KiB |  00m00s
[ 62/151] Installing libffi-0:3.4.6-5.f 100% |  44.6 MiB/s |  91.3 KiB |  00m00s
[ 63/151] Installing libtasn1-0:4.20.0- 100% |  72.2 MiB/s | 221.9 KiB |  00m00s
[ 64/151] Installing p11-kit-0:0.25.5-5 100% |  60.2 MiB/s |   2.8 MiB |  00m00s
[ 65/151] Installing libunistring-0:1.1 100% | 156.0 MiB/s |   1.9 MiB |  00m00s
[ 66/151] Installing libidn2-0:2.3.7-3. 100% |  64.9 MiB/s | 398.7 KiB |  00m00s
[ 67/151] Installing libpsl-0:0.21.5-5. 100% |  65.1 MiB/s | 133.2 KiB |  00m00s
[ 68/151] Installing p11-kit-trust-0:0. 100% |  16.7 MiB/s | 528.8 KiB |  00m00s
[ 69/151] Installing zstd-0:1.5.6-3.fc4 100% |  55.4 MiB/s |   1.9 MiB |  00m00s
[ 70/151] Installing util-linux-core-0: 100% |  61.2 MiB/s |   2.5 MiB |  00m00s
[ 71/151] Installing tar-2:1.35-5.fc42. 100% |  72.8 MiB/s |   3.1 MiB |  00m00s
[ 72/151] Installing libsemanage-0:3.8- 100% |  83.1 MiB/s | 425.7 KiB |  00m00s
[ 73/151] Installing shadow-utils-2:4.1 100% |  69.2 MiB/s |   5.0 MiB |  00m00s
[ 74/151] Installing systemd-standalone 100% |  13.4 MiB/s | 329.9 KiB |  00m00s
[ 75/151] Installing zip-0:3.0-43.fc42. 100% |  30.1 MiB/s | 893.7 KiB |  00m00s
[ 76/151] Installing libfdisk-0:2.40.4- 100% | 118.2 MiB/s | 484.0 KiB |  00m00s
[ 77/151] Installing libxml2-0:2.12.9-2 100% |  61.3 MiB/s |   2.3 MiB |  00m00s
[ 78/151] Installing bzip2-0:1.0.8-20.f 100% |   7.1 MiB/s | 175.7 KiB |  00m00s
[ 79/151] Installing add-determinism-0: 100% |  66.8 MiB/s |   2.5 MiB |  00m00s
[ 80/151] Installing build-reproducibil 100% |   0.0   B/s |   1.0 KiB |  00m00s
[ 81/151] Installing sqlite-libs-0:3.47 100% | 147.3 MiB/s |   1.9 MiB |  00m00s
[ 82/151] Installing ed-0:1.21-2.fc42.p 100% |   6.4 MiB/s | 156.7 KiB |  00m00s
[ 83/151] Installing patch-0:2.7.6-26.f 100% |  12.8 MiB/s | 327.9 KiB |  00m00s
[ 84/151] Installing filesystem-srpm-ma 100% |  38.0 MiB/s |  38.9 KiB |  00m00s
[ 85/151] Installing elfutils-default-y 100% | 340.5 KiB/s |   2.0 KiB |  00m00s
[ 86/151] Installing elfutils-libs-0:0. 100% | 122.2 MiB/s | 876.0 KiB |  00m00s
[ 87/151] Installing cpio-0:2.15-2.fc41 100% |  38.1 MiB/s |   1.2 MiB |  00m00s
[ 88/151] Installing diffutils-0:3.10-9 100% |  47.7 MiB/s |   1.7 MiB |  00m00s
[ 89/151] Installing librtas-0:2.0.6-3. 100% |  30.0 MiB/s | 307.5 KiB |  00m00s
[ 90/151] Installing jansson-0:2.14-2.f 100% |  77.4 MiB/s | 158.4 KiB |  00m00s
[ 91/151] Installing libgomp-0:15.0.1-0 100% | 156.5 MiB/s | 640.9 KiB |  00m00s
[ 92/151] Installing json-c-0:0.18-2.fc 100% |  68.3 MiB/s | 139.8 KiB |  00m00s
[ 93/151] Installing libpkgconf-0:2.3.0 100% |  65.9 MiB/s | 135.0 KiB |  00m00s
[ 94/151] Installing pkgconf-0:2.3.0-2. 100% |   4.9 MiB/s | 114.9 KiB |  00m00s
[ 95/151] Installing pkgconf-pkg-config 100% |  80.6 KiB/s |   1.8 KiB |  00m00s
[ 96/151] Installing xxhash-libs-0:0.8. 100% |  42.5 MiB/s |  87.0 KiB |  00m00s
[ 97/151] Installing libbrotli-0:1.1.0- 100% | 119.0 MiB/s | 975.0 KiB |  00m00s
[ 98/151] Installing libnghttp2-0:1.64. 100% |  97.2 MiB/s | 199.1 KiB |  00m00s
[ 99/151] Installing keyutils-libs-0:1. 100% |  48.5 MiB/s |  99.4 KiB |  00m00s
[100/151] Installing libcom_err-0:1.47. 100% | 109.5 MiB/s | 112.1 KiB |  00m00s
[101/151] Installing libverto-0:0.3.2-1 100% |  69.2 MiB/s |  70.9 KiB |  00m00s
[102/151] Installing libtool-ltdl-0:2.5 100% |  92.8 MiB/s |  95.0 KiB |  00m00s
[103/151] Installing gdbm-libs-1:1.23-9 100% | 114.8 MiB/s | 235.2 KiB |  00m00s
[104/151] Installing cyrus-sasl-lib-0:2 100% |  72.9 MiB/s |   2.9 MiB |  00m00s
[105/151] Installing rust-srpm-macros-0 100% |   5.4 MiB/s |   5.6 KiB |  00m00s
[106/151] Installing qt6-srpm-macros-0: 100% |   0.0   B/s | 740.0   B |  00m00s
[107/151] Installing qt5-srpm-macros-0: 100% |   0.0   B/s | 776.0   B |  00m00s
[108/151] Installing perl-srpm-macros-0 100% |   0.0   B/s |   1.1 KiB |  00m00s
[109/151] Installing package-notes-srpm 100% |   2.0 MiB/s |   2.0 KiB |  00m00s
[110/151] Installing openblas-srpm-macr 100% |   0.0   B/s | 392.0   B |  00m00s
[111/151] Installing ocaml-srpm-macros- 100% |   0.0   B/s |   2.2 KiB |  00m00s
[112/151] Installing kernel-srpm-macros 100% |   2.3 MiB/s |   2.3 KiB |  00m00s
[113/151] Installing gnat-srpm-macros-0 100% |   0.0   B/s |   1.3 KiB |  00m00s
[114/151] Installing ghc-srpm-macros-0: 100% |   0.0   B/s |   1.0 KiB |  00m00s
[115/151] Installing fpc-srpm-macros-0: 100% |   0.0   B/s | 420.0   B |  00m00s
[116/151] Installing ansible-srpm-macro 100% |  17.7 MiB/s |  36.2 KiB |  00m00s
[117/151] Installing coreutils-common-0 100% | 154.9 MiB/s |  11.2 MiB |  00m00s
[118/151] Installing openssl-libs-1:3.2 100% | 161.9 MiB/s |   7.8 MiB |  00m00s
[119/151] Installing coreutils-0:9.6-1. 100% | 112.8 MiB/s |   9.5 MiB |  00m00s
[120/151] Installing ca-certificates-0: 100% |   1.0 MiB/s |   2.4 MiB |  00m02s
[121/151] Installing libarchive-0:3.7.7 100% | 126.6 MiB/s |   1.3 MiB |  00m00s
[122/151] Installing krb5-libs-0:1.21.3 100% | 141.4 MiB/s |   3.0 MiB |  00m00s
[123/151] Installing libssh-0:0.11.1-4. 100% | 116.5 MiB/s | 715.6 KiB |  00m00s
[124/151] Installing gzip-0:1.13-3.fc42 100% |  15.0 MiB/s | 430.2 KiB |  00m00s
[125/151] Installing rpm-sequoia-0:1.7. 100% | 155.7 MiB/s |   2.8 MiB |  00m00s
[126/151] Installing rpm-libs-0:4.20.0- 100% | 138.3 MiB/s | 991.2 KiB |  00m00s
[127/151] Installing rpm-build-libs-0:4 100% | 128.6 MiB/s | 263.3 KiB |  00m00s
[128/151] Installing libevent-0:2.1.12- 100% | 134.4 MiB/s |   1.2 MiB |  00m00s
[129/151] Installing openldap-0:2.6.9-3 100% | 124.6 MiB/s | 893.0 KiB |  00m00s
[130/151] Installing libcurl-0:8.11.1-4 100% | 128.3 MiB/s |   1.0 MiB |  00m00s
[131/151] Installing elfutils-debuginfo 100% |   5.9 MiB/s | 145.7 KiB |  00m00s
[132/151] Installing binutils-0:2.44-3. 100% | 155.7 MiB/s |  31.4 MiB |  00m00s
[133/151] Installing elfutils-0:0.192-8 100% |  78.5 MiB/s |   3.5 MiB |  00m00s
[134/151] Installing gdb-minimal-0:16.2 100% | 143.8 MiB/s |  15.7 MiB |  00m00s
[135/151] Installing debugedit-0:5.1-4. 100% |  11.7 MiB/s | 310.8 KiB |  00m00s
[136/151] Installing curl-0:8.11.1-4.fc 100% |  13.0 MiB/s | 521.1 KiB |  00m00s
[137/151] Installing rpm-0:4.20.0-8.fc4 100% |  49.6 MiB/s |   2.7 MiB |  00m00s
[138/151] Installing efi-srpm-macros-0: 100% |  40.1 MiB/s |  41.1 KiB |  00m00s
[139/151] Installing lua-srpm-macros-0: 100% |   1.9 MiB/s |   1.9 KiB |  00m00s
[140/151] Installing tree-sitter-srpm-m 100% |   7.2 MiB/s |   7.4 KiB |  00m00s
[141/151] Installing zig-srpm-macros-0: 100% |   1.6 MiB/s |   1.7 KiB |  00m00s
[142/151] Installing fonts-srpm-macros- 100% |  55.7 MiB/s |  57.0 KiB |  00m00s
[143/151] Installing forge-srpm-macros- 100% |  39.3 MiB/s |  40.3 KiB |  00m00s
[144/151] Installing go-srpm-macros-0:3 100% |  60.5 MiB/s |  62.0 KiB |  00m00s
[145/151] Installing python-srpm-macros 100% |  50.9 MiB/s |  52.2 KiB |  00m00s
[146/151] Installing redhat-rpm-config- 100% |  37.8 MiB/s | 193.5 KiB |  00m00s
[147/151] Installing rpm-build-0:4.20.0 100% |  17.9 MiB/s | 532.9 KiB |  00m00s
[148/151] Installing pyproject-srpm-mac 100% | 834.6 KiB/s |   2.5 KiB |  00m00s
[149/151] Installing util-linux-0:2.40. 100% |  81.3 MiB/s |   6.7 MiB |  00m00s
[150/151] Installing which-0:2.23-1.fc4 100% |   5.1 MiB/s | 125.5 KiB |  00m00s
[151/151] Installing info-0:7.2-3.fc42. 100% | 154.1 KiB/s | 485.8 KiB |  00m03s
Complete!
Finish: installing minimal buildroot with dnf5
Start: creating root cache
Finish: creating root cache
Finish: chroot init
INFO: Installed packages:
INFO: add-determinism-0.6.0-1.fc42.ppc64le
alternatives-1.31-3.fc42.ppc64le
ansible-srpm-macros-1-17.1.fc42.noarch
audit-libs-4.0.3-2.fc42.ppc64le
basesystem-11-22.fc42.noarch
bash-5.2.37-1.fc42.ppc64le
binutils-2.44-3.fc42.ppc64le
build-reproducibility-srpm-macros-0.6.0-1.fc42.noarch
bzip2-1.0.8-20.fc42.ppc64le
bzip2-libs-1.0.8-20.fc42.ppc64le
ca-certificates-2024.2.69_v8.0.401-5.fc42.noarch
coreutils-9.6-1.fc42.ppc64le
coreutils-common-9.6-1.fc42.ppc64le
cpio-2.15-2.fc41.ppc64le
crypto-policies-20250214-1.gitff7551b.fc42.noarch
curl-8.11.1-4.fc42.ppc64le
cyrus-sasl-lib-2.1.28-30.fc42.ppc64le
debugedit-5.1-4.fc42.ppc64le
diffutils-3.10-9.fc42.ppc64le
dwz-0.15-9.fc42.ppc64le
ed-1.21-2.fc42.ppc64le
efi-srpm-macros-6-2.fc42.noarch
elfutils-0.192-8.fc42.ppc64le
elfutils-debuginfod-client-0.192-8.fc42.ppc64le
elfutils-default-yama-scope-0.192-8.fc42.noarch
elfutils-libelf-0.192-8.fc42.ppc64le
elfutils-libs-0.192-8.fc42.ppc64le
fedora-gpg-keys-42-0.5.noarch
fedora-release-42-0.21.noarch
fedora-release-common-42-0.21.noarch
fedora-release-identity-basic-42-0.21.noarch
fedora-repos-42-0.5.noarch
file-5.46-1.fc42.ppc64le
file-libs-5.46-1.fc42.ppc64le
filesystem-3.18-36.fc42.ppc64le
filesystem-srpm-macros-3.18-36.fc42.noarch
findutils-4.10.0-5.fc42.ppc64le
fonts-srpm-macros-2.0.5-21.fc42.noarch
forge-srpm-macros-0.4.0-2.fc42.noarch
fpc-srpm-macros-1.3-14.fc42.noarch
gawk-5.3.1-1.fc42.ppc64le
gdb-minimal-16.2-2.fc42.ppc64le
gdbm-libs-1.23-9.fc42.ppc64le
ghc-srpm-macros-1.9.2-2.fc42.noarch
glibc-2.40.9000-35.fc42.ppc64le
glibc-common-2.40.9000-35.fc42.ppc64le
glibc-gconv-extra-2.40.9000-35.fc42.ppc64le
glibc-minimal-langpack-2.40.9000-35.fc42.ppc64le
gmp-6.3.0-2.fc41.ppc64le
gnat-srpm-macros-6-7.fc42.noarch
go-srpm-macros-3.6.0-6.fc42.noarch
gpg-pubkey-105ef944-65ca83d1
grep-3.11-10.fc42.ppc64le
gzip-1.13-3.fc42.ppc64le
info-7.2-3.fc42.ppc64le
jansson-2.14-2.fc42.ppc64le
json-c-0.18-2.fc42.ppc64le
kernel-srpm-macros-1.0-25.fc42.noarch
keyutils-libs-1.6.3-5.fc42.ppc64le
krb5-libs-1.21.3-5.fc42.ppc64le
libacl-2.3.2-3.fc42.ppc64le
libarchive-3.7.7-2.fc42.ppc64le
libattr-2.5.2-5.fc42.ppc64le
libblkid-2.40.4-7.fc42.ppc64le
libbrotli-1.1.0-6.fc42.ppc64le
libcap-2.73-2.fc42.ppc64le
libcap-ng-0.8.5-4.fc42.ppc64le
libcom_err-1.47.2-3.fc42.ppc64le
libcurl-8.11.1-4.fc42.ppc64le
libeconf-0.7.6-1.fc42.ppc64le
libevent-2.1.12-15.fc42.ppc64le
libfdisk-2.40.4-7.fc42.ppc64le
libffi-3.4.6-5.fc42.ppc64le
libgcc-15.0.1-0.9.fc42.ppc64le
libgomp-15.0.1-0.9.fc42.ppc64le
libidn2-2.3.7-3.fc42.ppc64le
libmount-2.40.4-7.fc42.ppc64le
libnghttp2-1.64.0-3.fc42.ppc64le
libpkgconf-2.3.0-2.fc42.ppc64le
libpsl-0.21.5-5.fc42.ppc64le
librtas-2.0.6-3.fc42.ppc64le
libselinux-3.8-1.fc42.ppc64le
libsemanage-3.8-1.fc42.ppc64le
libsepol-3.8-1.fc42.ppc64le
libsmartcols-2.40.4-7.fc42.ppc64le
libssh-0.11.1-4.fc42.ppc64le
libssh-config-0.11.1-4.fc42.noarch
libstdc++-15.0.1-0.9.fc42.ppc64le
libtasn1-4.20.0-1.fc42.ppc64le
libtool-ltdl-2.5.4-4.fc42.ppc64le
libunistring-1.1-9.fc42.ppc64le
libuuid-2.40.4-7.fc42.ppc64le
libverto-0.3.2-10.fc42.ppc64le
libxcrypt-4.4.38-6.fc42.ppc64le
libxml2-2.12.9-2.fc42.ppc64le
libzstd-1.5.6-3.fc42.ppc64le
lua-libs-5.4.7-2.fc42.ppc64le
lua-srpm-macros-1-15.fc42.noarch
lz4-libs-1.10.0-2.fc42.ppc64le
mpfr-4.2.1-6.fc42.ppc64le
ncurses-base-6.5-5.20250125.fc42.noarch
ncurses-libs-6.5-5.20250125.fc42.ppc64le
ocaml-srpm-macros-10-4.fc42.noarch
openblas-srpm-macros-2-19.fc42.noarch
openldap-2.6.9-3.fc42.ppc64le
openssl-libs-3.2.4-1.fc42.ppc64le
p11-kit-0.25.5-5.fc42.ppc64le
p11-kit-trust-0.25.5-5.fc42.ppc64le
package-notes-srpm-macros-0.5-13.fc42.noarch
pam-libs-1.7.0-4.fc42.ppc64le
patch-2.7.6-26.fc42.ppc64le
pcre2-10.44-1.fc42.2.ppc64le
pcre2-syntax-10.44-1.fc42.2.noarch
perl-srpm-macros-1-57.fc42.noarch
pkgconf-2.3.0-2.fc42.ppc64le
pkgconf-m4-2.3.0-2.fc42.noarch
pkgconf-pkg-config-2.3.0-2.fc42.ppc64le
popt-1.19-8.fc42.ppc64le
publicsuffix-list-dafsa-20250116-1.fc42.noarch
pyproject-srpm-macros-1.17.0-1.fc42.noarch
python-srpm-macros-3.13-4.fc42.noarch
qt5-srpm-macros-5.15.15-1.fc42.noarch
qt6-srpm-macros-6.8.2-2.fc42.noarch
readline-8.2-12.fc42.ppc64le
redhat-rpm-config-342-2.fc42.noarch
rpm-4.20.0-8.fc42.ppc64le
rpm-build-4.20.0-8.fc42.ppc64le
rpm-build-libs-4.20.0-8.fc42.ppc64le
rpm-libs-4.20.0-8.fc42.ppc64le
rpm-sequoia-1.7.0-5.fc42.ppc64le
rust-srpm-macros-26.3-4.fc42.noarch
sed-4.9-4.fc42.ppc64le
setup-2.15.0-12.fc42.noarch
shadow-utils-4.17.0-4.fc42.ppc64le
sqlite-libs-3.47.2-2.fc42.ppc64le
systemd-libs-257.3-7.fc42.ppc64le
systemd-standalone-sysusers-257.3-7.fc42.ppc64le
tar-1.35-5.fc42.ppc64le
tree-sitter-srpm-macros-0.1.0-8.fc42.noarch
unzip-6.0-66.fc42.ppc64le
util-linux-2.40.4-7.fc42.ppc64le
util-linux-core-2.40.4-7.fc42.ppc64le
which-2.23-1.fc42.ppc64le
xxhash-libs-0.8.3-2.fc42.ppc64le
xz-5.6.3-3.fc42.ppc64le
xz-libs-5.6.3-3.fc42.ppc64le
zig-srpm-macros-1-4.fc42.noarch
zip-3.0-43.fc42.ppc64le
zlib-ng-compat-2.2.3-2.fc42.ppc64le
zstd-1.5.6-3.fc42.ppc64le
Start: buildsrpm
Start: rpmbuild -bs
Building target platforms: ppc64le
Building for target ppc64le
setting SOURCE_DATE_EPOCH=1741996800
Wrote: /builddir/build/SRPMS/python-ducc0-0.37.1-1.fc42.src.rpm
Finish: rpmbuild -bs
INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan
INFO: /var/lib/mock/fedora-42-ppc64le-1742033264.003378/root/var/log/dnf5.log
INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz
/bin/tar: Removing leading `/' from member names
Finish: buildsrpm
INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-tc8g9pjc/python-ducc0/python-ducc0.spec) Config(child) 1 minutes 33 seconds
INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results
INFO: Cleaning up build root ('cleanup_on_success=True')
Start: clean chroot
INFO: unmounting tmpfs.
Finish: clean chroot
INFO: Start(/var/lib/copr-rpmbuild/results/python-ducc0-0.37.1-1.fc42.src.rpm)  Config(fedora-42-ppc64le)
Start(bootstrap): chroot init
INFO: mounting tmpfs at /var/lib/mock/fedora-42-ppc64le-bootstrap-1742033264.003378/root.
INFO: reusing tmpfs at /var/lib/mock/fedora-42-ppc64le-bootstrap-1742033264.003378/root.
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled package manager cache
Start(bootstrap): cleaning package manager metadata
Finish(bootstrap): cleaning package manager metadata
Finish(bootstrap): chroot init
Start: chroot init
INFO: mounting tmpfs at /var/lib/mock/fedora-42-ppc64le-1742033264.003378/root.
INFO: calling preinit hooks
INFO: enabled root cache
Start: unpacking root cache
Finish: unpacking root cache
INFO: enabled package manager cache
Start: cleaning package manager metadata
Finish: cleaning package manager metadata
INFO: enabled HW Info plugin
INFO: Buildroot is handled by package management installed into bootstrap:
  rpm-4.20.0-8.fc42.ppc64le
  rpm-sequoia-1.7.0-5.fc42.ppc64le
  dnf5-5.2.10.0-2.fc42.ppc64le
  dnf5-plugins-5.2.10.0-2.fc42.ppc64le
Finish: chroot init
Start: build phase for python-ducc0-0.37.1-1.fc42.src.rpm
Start: build setup for python-ducc0-0.37.1-1.fc42.src.rpm
Building target platforms: ppc64le
Building for target ppc64le
setting SOURCE_DATE_EPOCH=1741996800
Wrote: /builddir/build/SRPMS/python-ducc0-0.37.1-1.fc42.src.rpm
Updating and loading repositories:
 updates                                100% | 212.8 KiB/s |   6.0 KiB |  00m00s
 fedora                                 100% | 241.3 KiB/s |   6.8 KiB |  00m00s
 Copr repository                        100% |  44.7 KiB/s |   1.5 KiB |  00m00s
Repositories loaded.
Package                 Arch    Version              Repository      Size
Installing:
 gcc-c++                ppc64le 15.0.1-0.9.fc42      fedora      38.4 MiB
 python3-devel          ppc64le 3.13.2-2.fc42        fedora       1.8 MiB
 python3-pytest         noarch  8.3.4-2.fc42         fedora      20.8 MiB
Installing dependencies:
 annobin-docs           noarch  12.88-1.fc42         fedora      98.6 KiB
 annobin-plugin-gcc     ppc64le 12.88-1.fc42         fedora       1.0 MiB
 cpp                    ppc64le 15.0.1-0.9.fc42      fedora      34.6 MiB
 expat                  ppc64le 2.6.4-2.fc42         fedora     348.5 KiB
 gcc                    ppc64le 15.0.1-0.9.fc42      fedora      96.8 MiB
 gcc-plugin-annobin     ppc64le 15.0.1-0.9.fc42      fedora      68.9 KiB
 glibc-devel            ppc64le 2.40.9000-35.fc42    fedora       2.6 MiB
 kernel-headers         ppc64le 6.14.0-0.rc3.29.fc42 fedora       6.5 MiB
 libasan                ppc64le 15.0.1-0.9.fc42      fedora       2.1 MiB
 libatomic              ppc64le 15.0.1-0.9.fc42      fedora      68.2 KiB
 libb2                  ppc64le 0.98.1-13.fc42       fedora      74.0 KiB
 libmpc                 ppc64le 1.3.1-7.fc42         fedora     281.5 KiB
 libstdc++-devel        ppc64le 15.0.1-0.9.fc42      fedora      15.8 MiB
 libubsan               ppc64le 15.0.1-0.9.fc42      fedora     668.8 KiB
 libxcrypt-devel        ppc64le 4.4.38-6.fc42        fedora      30.8 KiB
 make                   ppc64le 1:4.4.1-10.fc42      fedora       1.9 MiB
 mpdecimal              ppc64le 4.0.0-2.fc42         fedora     280.8 KiB
 pyproject-rpm-macros   noarch  1.17.0-1.fc42        fedora     114.0 KiB
 python-pip-wheel       noarch  24.3.1-2.fc42        fedora       1.2 MiB
 python-rpm-macros      noarch  3.13-4.fc42          fedora      22.1 KiB
 python3                ppc64le 3.13.2-2.fc42        fedora      83.5 KiB
 python3-iniconfig      noarch  1.1.1-25.fc42        fedora      20.6 KiB
 python3-libs           ppc64le 3.13.2-2.fc42        fedora      43.0 MiB
 python3-packaging      noarch  24.2-3.fc42          fedora     555.7 KiB
 python3-pluggy         noarch  1.5.0-2.fc42         fedora     192.7 KiB
 python3-rpm-generators noarch  14-12.fc42           fedora      81.7 KiB
 python3-rpm-macros     noarch  3.13-4.fc42          fedora       6.4 KiB
 tzdata                 noarch  2025a-1.fc42         fedora       1.6 MiB

Transaction Summary:
 Installing:        31 packages

Total size of inbound packages is 81 MiB. Need to download 81 MiB.
After this operation, 271 MiB extra will be used (install 271 MiB, remove 0 B).
[ 1/31] python3-devel-0:3.13.2-2.fc42.p 100% |   2.8 MiB/s | 404.0 KiB |  00m00s
[ 2/31] libmpc-0:1.3.1-7.fc42.ppc64le   100% |   2.2 MiB/s |  96.7 KiB |  00m00s
[ 3/31] libstdc++-devel-0:15.0.1-0.9.fc 100% |   5.2 MiB/s |   2.8 MiB |  00m01s
[ 4/31] python3-0:3.13.2-2.fc42.ppc64le 100% | 418.7 KiB/s |  28.5 KiB |  00m00s
[ 5/31] gcc-0:15.0.1-0.9.fc42.ppc64le   100% |  36.2 MiB/s |  34.3 MiB |  00m01s
[ 6/31] gcc-c++-0:15.0.1-0.9.fc42.ppc64 100% |  11.3 MiB/s |  13.5 MiB |  00m01s
[ 7/31] glibc-devel-0:2.40.9000-35.fc42 100% |  10.2 MiB/s | 655.5 KiB |  00m00s
[ 8/31] cpp-0:15.0.1-0.9.fc42.ppc64le   100% |  28.8 MiB/s |  11.3 MiB |  00m00s
[ 9/31] libasan-0:15.0.1-0.9.fc42.ppc64 100% |   6.8 MiB/s | 530.6 KiB |  00m00s
[10/31] libatomic-0:15.0.1-0.9.fc42.ppc 100% |   1.1 MiB/s |  29.8 KiB |  00m00s
[11/31] libubsan-0:15.0.1-0.9.fc42.ppc6 100% |   8.0 MiB/s | 261.4 KiB |  00m00s
[12/31] expat-0:2.6.4-2.fc42.ppc64le    100% |   2.4 MiB/s | 120.7 KiB |  00m00s
[13/31] libb2-0:0.98.1-13.fc42.ppc64le  100% | 843.2 KiB/s |  25.3 KiB |  00m00s
[14/31] mpdecimal-0:4.0.0-2.fc42.ppc64l 100% |   4.2 MiB/s | 111.9 KiB |  00m00s
[15/31] make-1:4.4.1-10.fc42.ppc64le    100% |   4.1 MiB/s | 603.6 KiB |  00m00s
[16/31] tzdata-0:2025a-1.fc42.noarch    100% |  24.9 MiB/s | 713.3 KiB |  00m00s
[17/31] python-pip-wheel-0:24.3.1-2.fc4 100% |  16.5 MiB/s |   1.2 MiB |  00m00s
[18/31] libxcrypt-devel-0:4.4.38-6.fc42 100% |   1.0 MiB/s |  29.2 KiB |  00m00s
[19/31] kernel-headers-0:6.14.0-0.rc3.2 100% |  15.9 MiB/s |   1.6 MiB |  00m00s
[20/31] python3-iniconfig-0:1.1.1-25.fc 100% | 904.1 KiB/s |  18.1 KiB |  00m00s
[21/31] python3-libs-0:3.13.2-2.fc42.pp 100% |  10.0 MiB/s |   9.2 MiB |  00m01s
[22/31] python3-packaging-0:24.2-3.fc42 100% |   2.8 MiB/s | 154.0 KiB |  00m00s
[23/31] python3-pytest-0:8.3.4-2.fc42.n 100% |  15.3 MiB/s |   2.2 MiB |  00m00s
[24/31] python3-pluggy-0:1.5.0-2.fc42.n 100% |   2.9 MiB/s |  58.9 KiB |  00m00s
[25/31] gcc-plugin-annobin-0:15.0.1-0.9 100% |   1.4 MiB/s |  45.3 KiB |  00m00s
[26/31] annobin-docs-0:12.88-1.fc42.noa 100% |   4.5 MiB/s |  91.7 KiB |  00m00s
[27/31] pyproject-rpm-macros-0:1.17.0-1 100% |   2.2 MiB/s |  44.7 KiB |  00m00s
[28/31] python-rpm-macros-0:3.13-4.fc42 100% | 846.6 KiB/s |  16.9 KiB |  00m00s
[29/31] annobin-plugin-gcc-0:12.88-1.fc 100% |  12.6 MiB/s | 983.9 KiB |  00m00s
[30/31] python3-rpm-generators-0:14-12. 100% |   1.4 MiB/s |  29.2 KiB |  00m00s
[31/31] python3-rpm-macros-0:3.13-4.fc4 100% | 585.2 KiB/s |  11.7 KiB |  00m00s
--------------------------------------------------------------------------------
[31/31] Total                           100% |  44.3 MiB/s |  81.1 MiB |  00m02s
Running transaction
[ 1/33] Verify package files            100% |  38.0   B/s |  31.0   B |  00m01s
[ 2/33] Prepare transaction             100% | 310.0   B/s |  31.0   B |  00m00s
[ 3/33] Installing python-rpm-macros-0: 100% |  22.3 MiB/s |  22.8 KiB |  00m00s
[ 4/33] Installing libmpc-0:1.3.1-7.fc4 100% |  92.1 MiB/s | 283.1 KiB |  00m00s
[ 5/33] Installing python3-rpm-macros-0 100% |   6.5 MiB/s |   6.7 KiB |  00m00s
[ 6/33] Installing pyproject-rpm-macros 100% |  56.6 MiB/s | 115.9 KiB |  00m00s
[ 7/33] Installing cpp-0:15.0.1-0.9.fc4 100% | 146.5 MiB/s |  34.6 MiB |  00m00s
[ 8/33] Installing annobin-docs-0:12.88 100% |  19.5 MiB/s |  99.8 KiB |  00m00s
[ 9/33] Installing kernel-headers-0:6.1 100% |  74.5 MiB/s |   6.6 MiB |  00m00s
[10/33] Installing libxcrypt-devel-0:4. 100% |   6.5 MiB/s |  33.1 KiB |  00m00s
[11/33] Installing glibc-devel-0:2.40.9 100% |  58.2 MiB/s |   2.7 MiB |  00m00s
[12/33] Installing tzdata-0:2025a-1.fc4 100% |  20.7 MiB/s |   1.9 MiB |  00m00s
[13/33] Installing python-pip-wheel-0:2 100% | 207.4 MiB/s |   1.2 MiB |  00m00s
[14/33] Installing mpdecimal-0:4.0.0-2. 100% |  91.9 MiB/s | 282.4 KiB |  00m00s
[15/33] Installing libb2-0:0.98.1-13.fc 100% |  73.3 MiB/s |  75.1 KiB |  00m00s
[16/33] Installing expat-0:2.6.4-2.fc42 100% |   9.0 MiB/s | 350.6 KiB |  00m00s
[17/33] Installing python3-libs-0:3.13. 100% | 127.3 MiB/s |  43.4 MiB |  00m00s
[18/33] Installing python3-0:3.13.2-2.f 100% |   3.1 MiB/s |  85.3 KiB |  00m00s
[19/33] Installing python3-packaging-0: 100% |  69.3 MiB/s | 568.0 KiB |  00m00s
[20/33] Installing python3-rpm-generato 100% |  81.0 MiB/s |  82.9 KiB |  00m00s
[21/33] Installing python3-iniconfig-0: 100% |  11.5 MiB/s |  23.5 KiB |  00m00s
[22/33] Installing python3-pluggy-0:1.5 100% |  48.6 MiB/s | 199.0 KiB |  00m00s
[23/33] Installing make-1:4.4.1-10.fc42 100% |  46.7 MiB/s |   1.9 MiB |  00m00s
[24/33] Installing libubsan-0:15.0.1-0. 100% | 130.8 MiB/s | 669.6 KiB |  00m00s
[25/33] Installing libatomic-0:15.0.1-0 100% |  67.4 MiB/s |  69.0 KiB |  00m00s
[26/33] Installing libasan-0:15.0.1-0.9 100% | 150.3 MiB/s |   2.1 MiB |  00m00s
[27/33] Installing gcc-0:15.0.1-0.9.fc4 100% | 149.7 MiB/s |  96.8 MiB |  00m01s
[28/33] Installing libstdc++-devel-0:15 100% | 123.2 MiB/s |  15.9 MiB |  00m00s
[29/33] Installing gcc-c++-0:15.0.1-0.9 100% | 138.7 MiB/s |  38.4 MiB |  00m00s
[30/33] Installing annobin-plugin-gcc-0 100% |  51.7 MiB/s |   1.0 MiB |  00m00s
[31/33] Installing gcc-plugin-annobin-0 100% |   2.5 MiB/s |  70.4 KiB |  00m00s
[32/33] Installing python3-pytest-0:8.3 100% | 114.8 MiB/s |  21.0 MiB |  00m00s
[33/33] Installing python3-devel-0:3.13 100% |   6.7 MiB/s |   1.8 MiB |  00m00s
Complete!
Finish: build setup for python-ducc0-0.37.1-1.fc42.src.rpm
Start: rpmbuild python-ducc0-0.37.1-1.fc42.src.rpm
Building target platforms: ppc64le
Building for target ppc64le
setting SOURCE_DATE_EPOCH=1741996800
Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.po68Vi
+ umask 022
+ cd /builddir/build/BUILD/python-ducc0-0.37.1-build
+ test -d /builddir/build/BUILD/python-ducc0-0.37.1-build
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/python-ducc0-0.37.1-build
+ /usr/bin/rm -rf /builddir/build/BUILD/python-ducc0-0.37.1-build
+ /usr/bin/mkdir -p /builddir/build/BUILD/python-ducc0-0.37.1-build
+ /usr/bin/mkdir -p /builddir/build/BUILD/python-ducc0-0.37.1-build/SPECPARTS
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.Kr9hPU
+ umask 022
+ cd /builddir/build/BUILD/python-ducc0-0.37.1-build
+ cd /builddir/build/BUILD/python-ducc0-0.37.1-build
+ rm -rf ducc0-0.37.1
+ /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/ducc0-0.37.1.tar.gz
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd ducc0-0.37.1
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/relax_requirements.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/allow_custom_cflags.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ rm -rf ducc0.egg-info
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.bRe1mN
+ umask 022
+ cd /builddir/build/BUILD/python-ducc0-0.37.1-build
+ cd ducc0-0.37.1
+ echo pyproject-rpm-macros
+ echo python3-devel
+ echo 'python3dist(packaging)'
+ echo 'python3dist(pip) >= 19'
+ '[' -f pyproject.toml ']'
+ echo '(python3dist(tomli) if python3-devel < 3.11)'
+ rm -rfv '*.dist-info/'
+ '[' -f /usr/bin/python3 ']'
+ mkdir -p /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/.pyproject-builddir
+ echo -n
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ VALAFLAGS=-g
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn'
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ CC=gcc
+ CXX=g++
+ TMPDIR=/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/.pyproject-builddir
+ RPM_TOXENV=py313
+ HOSTNAME=rpmbuild
+ /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/pyproject-wheeldir --output /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-buildrequires
Handling scikit-build-core>0.5 from build-system.requires
Requirement not satisfied: scikit-build-core>0.5
Handling nanobind>=2.4.0 from build-system.requires
Requirement not satisfied: nanobind>=2.4.0
Handling pybind11>=2.6.0 from build-system.requires
Requirement not satisfied: pybind11>=2.6.0
Handling numpy>=1.17.0 from build-system.requires
Requirement not satisfied: numpy>=1.17.0
Exiting dependency generation pass: build backend
+ cat /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-buildrequires
+ rm -rfv '*.dist-info/'
+ RPM_EC=0
++ jobs -p
+ exit 0
Wrote: /builddir/build/SRPMS/python-ducc0-0.37.1-1.fc42.buildreqs.nosrc.rpm
INFO: Going to install missing dynamic buildrequires
Updating and loading repositories:
 updates                                100% | 229.2 KiB/s |   6.0 KiB |  00m00s
 fedora                                 100% | 233.0 KiB/s |   6.8 KiB |  00m00s
 Copr repository                        100% |  31.7 KiB/s |   1.5 KiB |  00m00s
Repositories loaded.
Package "gcc-c++-15.0.1-0.9.fc42.ppc64le" is already installed.
Package "pyproject-rpm-macros-1.17.0-1.fc42.noarch" is already installed.
Package "python3-devel-3.13.2-2.fc42.ppc64le" is already installed.
Package "python3-packaging-24.2-3.fc42.noarch" is already installed.
Package "python3-pytest-8.3.4-2.fc42.noarch" is already installed.

Package                    Arch    Version           Repository      Size
Installing:
 python3-nanobind          noarch  2.4.0-10.fc42     fedora       7.2 KiB
 python3-numpy             ppc64le 1:2.2.3-1.fc42    fedora      37.1 MiB
 python3-pip               noarch  24.3.1-2.fc42     fedora      11.3 MiB
 python3-pybind11          ppc64le 2.13.6-2.fc42     fedora     897.3 KiB
 python3-scikit-build-core noarch  0.10.7-2.fc42     fedora       1.2 MiB
Installing dependencies:
 cmake                     ppc64le 3.31.5-1.fc42     fedora      36.2 MiB
 cmake-data                noarch  3.31.5-1.fc42     fedora       8.5 MiB
 cmake-filesystem          ppc64le 3.31.5-1.fc42     fedora       0.0   B
 cmake-rpm-macros          noarch  3.31.5-1.fc42     fedora       7.7 KiB
 emacs-filesystem          noarch  1:30.0-4.fc42     fedora       0.0   B
 flexiblas                 ppc64le 3.4.5-1.fc42      fedora      50.4 KiB
 flexiblas-netlib          ppc64le 3.4.5-1.fc42      fedora      12.3 MiB
 flexiblas-openblas-openmp ppc64le 3.4.5-1.fc42      fedora      66.9 KiB
 jsoncpp                   ppc64le 1.9.5-9.fc42      fedora     335.7 KiB
 libgfortran               ppc64le 15.0.1-0.9.fc42   fedora       2.8 MiB
 libquadmath               ppc64le 15.0.1-0.9.fc42   fedora     426.5 KiB
 libuv                     ppc64le 1:1.50.0-1.fc42   fedora     666.0 KiB
 openblas                  ppc64le 0.3.29-1.fc42     fedora     111.7 KiB
 openblas-openmp           ppc64le 0.3.29-1.fc42     fedora      23.2 MiB
 pybind11-devel            ppc64le 2.13.6-2.fc42     fedora     847.8 KiB
 python3-numpy-f2py        ppc64le 1:2.2.3-1.fc42    fedora       2.0 MiB
 python3-pathspec          noarch  0.12.1-8.fc42     fedora     194.7 KiB
 rhash                     ppc64le 1.4.5-2.fc42      fedora     394.6 KiB
 vim-filesystem            noarch  2:9.1.1081-1.fc42 fedora      40.0   B

Transaction Summary:
 Installing:        24 packages

Total size of inbound packages is 36 MiB. Need to download 36 MiB.
After this operation, 138 MiB extra will be used (install 138 MiB, remove 0 B).
[ 1/24] python3-nanobind-0:2.4.0-10.fc4 100% |  90.0 KiB/s |  13.7 KiB |  00m00s
[ 2/24] python3-pybind11-0:2.13.6-2.fc4 100% |   1.7 MiB/s | 207.9 KiB |  00m00s
[ 3/24] python3-pip-0:24.3.1-2.fc42.noa 100% |   9.3 MiB/s |   2.7 MiB |  00m00s
[ 4/24] python3-scikit-build-core-0:0.1 100% |   4.1 MiB/s | 321.6 KiB |  00m00s
[ 5/24] python3-numpy-1:2.2.3-1.fc42.pp 100% |  16.4 MiB/s |   7.2 MiB |  00m00s
[ 6/24] flexiblas-netlib-0:3.4.5-1.fc42 100% |  20.3 MiB/s |   3.2 MiB |  00m00s
[ 7/24] python3-numpy-f2py-1:2.2.3-1.fc 100% |   4.8 MiB/s | 491.8 KiB |  00m00s
[ 8/24] pybind11-devel-0:2.13.6-2.fc42. 100% |   4.5 MiB/s | 184.9 KiB |  00m00s
[ 9/24] python3-pathspec-0:0.12.1-8.fc4 100% |   1.3 MiB/s |  61.7 KiB |  00m00s
[10/24] flexiblas-0:3.4.5-1.fc42.ppc64l 100% | 568.8 KiB/s |  26.2 KiB |  00m00s
[11/24] flexiblas-openblas-openmp-0:3.4 100% | 439.4 KiB/s |  16.7 KiB |  00m00s
[12/24] libquadmath-0:15.0.1-0.9.fc42.p 100% |   4.0 MiB/s | 209.1 KiB |  00m00s
[13/24] libgfortran-0:15.0.1-0.9.fc42.p 100% |   8.8 MiB/s | 663.5 KiB |  00m00s
[14/24] cmake-filesystem-0:3.31.5-1.fc4 100% | 490.0 KiB/s |  17.6 KiB |  00m00s
[15/24] jsoncpp-0:1.9.5-9.fc42.ppc64le  100% |   2.3 MiB/s | 102.4 KiB |  00m00s
[16/24] libuv-1:1.50.0-1.fc42.ppc64le   100% |   5.7 MiB/s | 274.1 KiB |  00m00s
[17/24] cmake-data-0:3.31.5-1.fc42.noar 100% |  20.0 MiB/s |   2.5 MiB |  00m00s
[18/24] rhash-0:1.4.5-2.fc42.ppc64le    100% |   4.9 MiB/s | 208.7 KiB |  00m00s
[19/24] cmake-0:3.31.5-1.fc42.ppc64le   100% |  30.0 MiB/s |  12.3 MiB |  00m00s
[20/24] emacs-filesystem-1:30.0-4.fc42. 100% |  77.4 KiB/s |   7.4 KiB |  00m00s
[21/24] openblas-0:0.3.29-1.fc42.ppc64l 100% |   1.4 MiB/s |  42.2 KiB |  00m00s
[22/24] vim-filesystem-2:9.1.1081-1.fc4 100% | 390.4 KiB/s |  16.4 KiB |  00m00s
[23/24] cmake-rpm-macros-0:3.31.5-1.fc4 100% | 354.8 KiB/s |  17.0 KiB |  00m00s
[24/24] openblas-openmp-0:0.3.29-1.fc42 100% |  19.6 MiB/s |   5.0 MiB |  00m00s
--------------------------------------------------------------------------------
[24/24] Total                           100% |  34.6 MiB/s |  35.7 MiB |  00m01s
Running transaction
[ 1/26] Verify package files            100% |  67.0   B/s |  24.0   B |  00m00s
[ 2/26] Prepare transaction             100% | 165.0   B/s |  24.0   B |  00m00s
[ 3/26] Installing cmake-filesystem-0:3 100% |   2.5 MiB/s |   7.6 KiB |  00m00s
[ 4/26] Installing cmake-rpm-macros-0:3 100% |   8.1 MiB/s |   8.3 KiB |  00m00s
[ 5/26] Installing libgfortran-0:15.0.1 100% | 173.6 MiB/s |   2.8 MiB |  00m00s
[ 6/26] Installing openblas-0:0.3.29-1. 100% |  55.4 MiB/s | 113.5 KiB |  00m00s
[ 7/26] Installing openblas-openmp-0:0. 100% | 169.1 MiB/s |  23.2 MiB |  00m00s
[ 8/26] Installing vim-filesystem-2:9.1 100% |   1.5 MiB/s |   4.7 KiB |  00m00s
[ 9/26] Installing emacs-filesystem-1:3 100% | 531.2 KiB/s | 544.0   B |  00m00s
[10/26] Installing rhash-0:1.4.5-2.fc42 100% |  11.2 MiB/s | 399.9 KiB |  00m00s
[11/26] Installing libuv-1:1.50.0-1.fc4 100% | 130.6 MiB/s | 668.8 KiB |  00m00s
[12/26] Installing jsoncpp-0:1.9.5-9.fc 100% |  19.4 MiB/s | 337.2 KiB |  00m00s
[13/26] Installing cmake-data-0:3.31.5- 100% |  36.5 MiB/s |   9.1 MiB |  00m00s
[14/26] Installing cmake-0:3.31.5-1.fc4 100% | 146.5 MiB/s |  36.2 MiB |  00m00s
[15/26] Installing pybind11-devel-0:2.1 100% |  25.3 MiB/s | 856.0 KiB |  00m00s
[16/26] Installing libquadmath-0:15.0.1 100% | 104.4 MiB/s | 427.8 KiB |  00m00s
[17/26] Installing flexiblas-0:3.4.5-1. 100% |  50.4 MiB/s |  51.6 KiB |  00m00s
[18/26] Installing flexiblas-openblas-o 100% |  66.1 MiB/s |  67.7 KiB |  00m00s
[19/26] Installing flexiblas-netlib-0:3 100% | 130.6 MiB/s |  12.3 MiB |  00m00s
[20/26] Installing python3-numpy-f2py-1 100% |  32.3 MiB/s |   2.1 MiB |  00m00s
[21/26] Installing python3-numpy-1:2.2. 100% | 116.1 MiB/s |  37.4 MiB |  00m00s
[22/26] Installing python3-pathspec-0:0 100% |  39.4 MiB/s | 201.5 KiB |  00m00s
[23/26] Installing python3-scikit-build 100% |  52.7 MiB/s |   1.2 MiB |  00m00s
[24/26] Installing python3-pybind11-0:2 100% |  55.7 MiB/s | 912.1 KiB |  00m00s
[25/26] Installing python3-pip-0:24.3.1 100% |  74.0 MiB/s |  11.6 MiB |  00m00s
[26/26] Installing python3-nanobind-0:2 100% | 145.6 KiB/s |   9.8 KiB |  00m00s
Complete!
Building target platforms: ppc64le
Building for target ppc64le
setting SOURCE_DATE_EPOCH=1741996800
Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.i0fS6X
+ umask 022
+ cd /builddir/build/BUILD/python-ducc0-0.37.1-build
+ cd ducc0-0.37.1
+ echo pyproject-rpm-macros
+ echo python3-devel
+ echo 'python3dist(packaging)'
+ echo 'python3dist(pip) >= 19'
+ '[' -f pyproject.toml ']'
+ echo '(python3dist(tomli) if python3-devel < 3.11)'
+ rm -rfv '*.dist-info/'
+ '[' -f /usr/bin/python3 ']'
+ mkdir -p /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/.pyproject-builddir
+ echo -n
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ VALAFLAGS=-g
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn'
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ CC=gcc
+ CXX=g++
+ TMPDIR=/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/.pyproject-builddir
+ RPM_TOXENV=py313
+ HOSTNAME=rpmbuild
+ /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/pyproject-wheeldir --output /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-buildrequires
Handling scikit-build-core>0.5 from build-system.requires
Requirement satisfied: scikit-build-core>0.5
   (installed: scikit-build-core 0.10.7)
Handling nanobind>=2.4.0 from build-system.requires
Requirement satisfied: nanobind>=2.4.0
   (installed: nanobind 2.4.0)
Handling pybind11>=2.6.0 from build-system.requires
Requirement satisfied: pybind11>=2.6.0
   (installed: pybind11 2.13.6)
Handling numpy>=1.17.0 from build-system.requires
Requirement satisfied: numpy>=1.17.0
   (installed: numpy 2.2.3)
Handling ninja>=1.5 from get_requires_for_build_wheel
Requirement not satisfied: ninja>=1.5
Exiting dependency generation pass: get_requires_for_build_wheel
+ cat /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-buildrequires
+ rm -rfv '*.dist-info/'
+ RPM_EC=0
++ jobs -p
+ exit 0
Wrote: /builddir/build/SRPMS/python-ducc0-0.37.1-1.fc42.buildreqs.nosrc.rpm
INFO: Going to install missing dynamic buildrequires
Updating and loading repositories:
 updates                                100% | 161.1 KiB/s |   6.0 KiB |  00m00s
 fedora                                 100% | 259.9 KiB/s |   6.8 KiB |  00m00s
 Copr repository                        100% |  33.1 KiB/s |   1.5 KiB |  00m00s
Repositories loaded.
Package "gcc-c++-15.0.1-0.9.fc42.ppc64le" is already installed.
Package "pyproject-rpm-macros-1.17.0-1.fc42.noarch" is already installed.
Package "python3-devel-3.13.2-2.fc42.ppc64le" is already installed.
Package "python3-nanobind-2.4.0-10.fc42.noarch" is already installed.
Package "python3-numpy-1:2.2.3-1.fc42.ppc64le" is already installed.
Package "python3-packaging-24.2-3.fc42.noarch" is already installed.
Package "python3-pip-24.3.1-2.fc42.noarch" is already installed.
Package "python3-pybind11-2.13.6-2.fc42.ppc64le" is already installed.
Package "python3-pytest-8.3.4-2.fc42.noarch" is already installed.
Package "python3-scikit-build-core-0.10.7-2.fc42.noarch" is already installed.

Package        Arch    Version       Repository      Size
Installing:
 python3-ninja noarch  1.12.1-4.fc42 fedora     290.0   B
Installing dependencies:
 ninja-build   ppc64le 1.12.1-4.fc42 fedora     523.3 KiB

Transaction Summary:
 Installing:         2 packages

Total size of inbound packages is 202 KiB. Need to download 202 KiB.
After this operation, 524 KiB extra will be used (install 524 KiB, remove 0 B).
[1/2] python3-ninja-0:1.12.1-4.fc42.noa 100% | 118.5 KiB/s |   9.0 KiB |  00m00s
[2/2] ninja-build-0:1.12.1-4.fc42.ppc64 100% |   2.0 MiB/s | 193.0 KiB |  00m00s
--------------------------------------------------------------------------------
[2/2] Total                             100% |   1.6 MiB/s | 202.0 KiB |  00m00s
Running transaction
[1/4] Verify package files              100% |   1.0 KiB/s |   2.0   B |  00m00s
[2/4] Prepare transaction               100% |  46.0   B/s |   2.0   B |  00m00s
[3/4] Installing ninja-build-0:1.12.1-4 100% |  16.1 MiB/s | 526.5 KiB |  00m00s
[4/4] Installing python3-ninja-0:1.12.1 100% |  40.1 KiB/s | 944.0   B |  00m00s
Complete!
Building target platforms: ppc64le
Building for target ppc64le
setting SOURCE_DATE_EPOCH=1741996800
Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.wQq7q6
+ umask 022
+ cd /builddir/build/BUILD/python-ducc0-0.37.1-build
+ cd ducc0-0.37.1
+ echo pyproject-rpm-macros
+ echo python3-devel
+ echo 'python3dist(packaging)'
+ echo 'python3dist(pip) >= 19'
+ '[' -f pyproject.toml ']'
+ echo '(python3dist(tomli) if python3-devel < 3.11)'
+ rm -rfv '*.dist-info/'
+ '[' -f /usr/bin/python3 ']'
+ mkdir -p /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/.pyproject-builddir
+ echo -n
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ VALAFLAGS=-g
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn'
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ CC=gcc
+ CXX=g++
+ TMPDIR=/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/.pyproject-builddir
+ RPM_TOXENV=py313
+ HOSTNAME=rpmbuild
+ /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/pyproject-wheeldir --output /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-buildrequires
Handling scikit-build-core>0.5 from build-system.requires
Requirement satisfied: scikit-build-core>0.5
   (installed: scikit-build-core 0.10.7)
Handling nanobind>=2.4.0 from build-system.requires
Requirement satisfied: nanobind>=2.4.0
   (installed: nanobind 2.4.0)
Handling pybind11>=2.6.0 from build-system.requires
Requirement satisfied: pybind11>=2.6.0
   (installed: pybind11 2.13.6)
Handling numpy>=1.17.0 from build-system.requires
Requirement satisfied: numpy>=1.17.0
   (installed: numpy 2.2.3)
*** scikit-build-core 0.10.7 using CMake 3.31.5 (metadata_wheel)
Handling numpy>=1.17.0 from hook generated metadata: Requires-Dist (ducc0)
Requirement satisfied: numpy>=1.17.0
   (installed: numpy 2.2.3)
+ cat /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-buildrequires
+ rm -rfv ducc0-0.37.1.dist-info/
removed 'ducc0-0.37.1.dist-info/METADATA'
removed 'ducc0-0.37.1.dist-info/WHEEL'
removed 'ducc0-0.37.1.dist-info/licenses/LICENSE'
removed directory 'ducc0-0.37.1.dist-info/licenses'
removed directory 'ducc0-0.37.1.dist-info/'
+ RPM_EC=0
++ jobs -p
+ exit 0
Wrote: /builddir/build/SRPMS/python-ducc0-0.37.1-1.fc42.buildreqs.nosrc.rpm
INFO: Going to install missing dynamic buildrequires
Updating and loading repositories:
 updates                                100% | 170.3 KiB/s |   6.0 KiB |  00m00s
 fedora                                 100% | 211.2 KiB/s |   6.8 KiB |  00m00s
 Copr repository                        100% |  42.3 KiB/s |   1.5 KiB |  00m00s
Repositories loaded.
Package "gcc-c++-15.0.1-0.9.fc42.ppc64le" is already installed.
Package "pyproject-rpm-macros-1.17.0-1.fc42.noarch" is already installed.
Package "python3-devel-3.13.2-2.fc42.ppc64le" is already installed.
Package "python3-nanobind-2.4.0-10.fc42.noarch" is already installed.
Package "python3-numpy-1:2.2.3-1.fc42.ppc64le" is already installed.
Package "python3-packaging-24.2-3.fc42.noarch" is already installed.
Package "python3-pip-24.3.1-2.fc42.noarch" is already installed.
Package "python3-pybind11-2.13.6-2.fc42.ppc64le" is already installed.
Package "python3-pytest-8.3.4-2.fc42.noarch" is already installed.
Package "python3-scikit-build-core-0.10.7-2.fc42.noarch" is already installed.

Nothing to do.
Building target platforms: ppc64le
Building for target ppc64le
setting SOURCE_DATE_EPOCH=1741996800
Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.14yFMF
+ umask 022
+ cd /builddir/build/BUILD/python-ducc0-0.37.1-build
+ cd ducc0-0.37.1
+ echo pyproject-rpm-macros
+ echo python3-devel
+ echo 'python3dist(packaging)'
+ echo 'python3dist(pip) >= 19'
+ '[' -f pyproject.toml ']'
+ echo '(python3dist(tomli) if python3-devel < 3.11)'
+ rm -rfv '*.dist-info/'
+ '[' -f /usr/bin/python3 ']'
+ mkdir -p /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/.pyproject-builddir
+ echo -n
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ VALAFLAGS=-g
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn'
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ CC=gcc
+ CXX=g++
+ TMPDIR=/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/.pyproject-builddir
+ RPM_TOXENV=py313
+ HOSTNAME=rpmbuild
+ /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/pyproject-wheeldir --output /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-buildrequires
Handling scikit-build-core>0.5 from build-system.requires
Requirement satisfied: scikit-build-core>0.5
   (installed: scikit-build-core 0.10.7)
Handling nanobind>=2.4.0 from build-system.requires
Requirement satisfied: nanobind>=2.4.0
   (installed: nanobind 2.4.0)
Handling pybind11>=2.6.0 from build-system.requires
Requirement satisfied: pybind11>=2.6.0
   (installed: pybind11 2.13.6)
Handling numpy>=1.17.0 from build-system.requires
Requirement satisfied: numpy>=1.17.0
   (installed: numpy 2.2.3)
*** scikit-build-core 0.10.7 using CMake 3.31.5 (metadata_wheel)
Handling numpy>=1.17.0 from hook generated metadata: Requires-Dist (ducc0)
Requirement satisfied: numpy>=1.17.0
   (installed: numpy 2.2.3)
+ cat /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-buildrequires
+ rm -rfv ducc0-0.37.1.dist-info/
removed 'ducc0-0.37.1.dist-info/METADATA'
removed 'ducc0-0.37.1.dist-info/WHEEL'
removed 'ducc0-0.37.1.dist-info/licenses/LICENSE'
removed directory 'ducc0-0.37.1.dist-info/licenses'
removed directory 'ducc0-0.37.1.dist-info/'
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.N2CgkC
+ umask 022
+ cd /builddir/build/BUILD/python-ducc0-0.37.1-build
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn'
+ export RUSTFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd ducc0-0.37.1
+ export DUCC0_OPTIMIZATION=portable-debug
+ DUCC0_OPTIMIZATION=portable-debug
+ export 'DUCC0_CFLAGS=-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ DUCC0_CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ export 'DUCC0_LFLAGS=-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ DUCC0_LFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export SKBUILD_CMAKE_VERBOSE=true
+ SKBUILD_CMAKE_VERBOSE=true
+ mkdir -p /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/.pyproject-builddir
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ VALAFLAGS=-g
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn'
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ CC=gcc
+ CXX=g++
+ TMPDIR=/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/.pyproject-builddir
+ /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/pyproject-wheeldir
Processing /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1
  Preparing metadata (pyproject.toml): started
  Running command Preparing metadata (pyproject.toml)
  *** scikit-build-core 0.10.7 using CMake 3.31.5 (metadata_wheel)
  Preparing metadata (pyproject.toml): finished with status 'done'
Building wheels for collected packages: ducc0
  Building wheel for ducc0 (pyproject.toml): started
  Running command Building wheel for ducc0 (pyproject.toml)
  *** scikit-build-core 0.10.7 using CMake 3.31.5 (wheel)
  *** Configuring CMake...
  loading initial cache file build/cp313-cp313-linux_ppc64le/CMakeInit.txt
  -- The CXX compiler identification is GNU 15.0.1
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/g++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Found Python: /usr/bin/python3 (found suitable version "3.13.2", minimum required is "3.8") found components: Interpreter Development.Module
  -- Found pybind11: /usr/include (found version "2.13.6")
  -- Using GCC/Clang flags: -mtune=native
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
  -- Found Threads: TRUE
  -- Configuring done (0.7s)
  -- Generating done (0.0s)
  -- Build files have been written to: /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/build/cp313-cp313-linux_ppc64le
  *** Building project with Ninja...
  Change Dir: '/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/build/cp313-cp313-linux_ppc64le'

  Run Build Command(s): /usr/bin/ninja-build -v
  [1/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/python/wgridder_pymod.cc.o -MF CMakeFiles/ducc0.dir/python/wgridder_pymod.cc.o.d -o CMakeFiles/ducc0.dir/python/wgridder_pymod.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/wgridder_pymod.cc
  [2/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/python/fft_pymod.cc.o -MF CMakeFiles/ducc0.dir/python/fft_pymod.cc.o.d -o CMakeFiles/ducc0.dir/python/fft_pymod.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/fft_pymod.cc
  [3/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/python/healpix_pymod.cc.o -MF CMakeFiles/ducc0.dir/python/healpix_pymod.cc.o.d -o CMakeFiles/ducc0.dir/python/healpix_pymod.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/healpix_pymod.cc
  [4/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/python/ducc.cc.o -MF CMakeFiles/ducc0.dir/python/ducc.cc.o.d -o CMakeFiles/ducc0.dir/python/ducc.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/ducc.cc
  [5/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/python/pointingprovider_pymod.cc.o -MF CMakeFiles/ducc0.dir/python/pointingprovider_pymod.cc.o.d -o CMakeFiles/ducc0.dir/python/pointingprovider_pymod.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/pointingprovider_pymod.cc
  [6/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/python/sht_pymod.cc.o -MF CMakeFiles/ducc0.dir/python/sht_pymod.cc.o.d -o CMakeFiles/ducc0.dir/python/sht_pymod.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc
  In file included from /usr/include/c++/15/experimental/simd:74,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:67,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:36,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc:33:
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator*(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:267:29:   required from ‘int ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval_helper(int, const std::vector<double>&, std::vector<double>&) const [with Tv = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; long unsigned int N = 4; bool high_accuracy = true]’
    267 |               nrm[i] += vkm1*vkm1 + vkm2*vkm2 + vkm3*vkm3;
        |                         ~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:362:49:   required from ‘void ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval(const std::vector<double>&, std::vector<double>&) const [with bool high_accuracy = true]’
    362 |           j = eval_helper<native_simd<double>,4>(j, x, y);
        |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:455:17:   required from ‘void ducc0::detail_alm::xchg_yz(const Alm_Base&, const ducc0::detail_mav::vmav<std::complex<_Tp>, 1>&, size_t) [with T = float; size_t = long unsigned int]’
    455 |       F.F11.eval(tin, tout);
        |       ~~~~~~~~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:514:12:   required from ‘void ducc0::detail_alm::rotate_alm(const Alm_Base&, const ducc0::detail_mav::vmav<std::complex<_Tp>, 1>&, double, double, double, size_t) [with T = float; size_t = long unsigned int]’
    514 |     xchg_yz(base, alm, nthreads);
        |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc:102:13:   required from ‘ducc0::detail_pybind::NpArr ducc0::detail_pymodule_sht::Py2_rotate_alm(const ducc0::detail_pybind::CNpArr&, size_t, double, double, double, size_t, const OptSizeT&, const OptSizeT&, ducc0::detail_pybind::OptNpArr&) [with T = float; ducc0::detail_pybind::NpArr = pybind11::array; ducc0::detail_pybind::CNpArr = pybind11::array; size_t = long unsigned int; OptSizeT = std::optional<long unsigned int>; ducc0::detail_pybind::OptNpArr = std::optional<pybind11::array>]’
    102 |   rotate_alm(base, alm, psi, theta, phi, nthreads);
        |   ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc:115:3:   required from here
    115 |   DISPATCH_C(alm, Py2_rotate_alm, (alm, lmax, psi, theta, phi, nthreads, mmax_in, mmax_out, alm_out))
        |                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:5615:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5615 |     operator*(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar> std::experimental::parallelism_v2::operator*(const simd<double, simd_abi::_Scalar>&, const simd<double, simd_abi::_Scalar>&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:267:29:   required from ‘int ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval_helper(int, const std::vector<double>&, std::vector<double>&) const [with Tv = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>; long unsigned int N = 1; bool high_accuracy = true]’
    267 |               nrm[i] += vkm1*vkm1 + vkm2*vkm2 + vkm3*vkm3;
        |                         ~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:366:60:   required from ‘void ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval(const std::vector<double>&, std::vector<double>&) const [with bool high_accuracy = true]’
    366 |         eval_helper<typename simd_select<double,1>::type,1>(j, x, y);
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:455:17:   required from ‘void ducc0::detail_alm::xchg_yz(const Alm_Base&, const ducc0::detail_mav::vmav<std::complex<_Tp>, 1>&, size_t) [with T = float; size_t = long unsigned int]’
    455 |       F.F11.eval(tin, tout);
        |       ~~~~~~~~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:514:12:   required from ‘void ducc0::detail_alm::rotate_alm(const Alm_Base&, const ducc0::detail_mav::vmav<std::complex<_Tp>, 1>&, double, double, double, size_t) [with T = float; size_t = long unsigned int]’
    514 |     xchg_yz(base, alm, nthreads);
        |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc:102:13:   required from ‘ducc0::detail_pybind::NpArr ducc0::detail_pymodule_sht::Py2_rotate_alm(const ducc0::detail_pybind::CNpArr&, size_t, double, double, double, size_t, const OptSizeT&, const OptSizeT&, ducc0::detail_pybind::OptNpArr&) [with T = float; ducc0::detail_pybind::NpArr = pybind11::array; ducc0::detail_pybind::CNpArr = pybind11::array; size_t = long unsigned int; OptSizeT = std::optional<long unsigned int>; ducc0::detail_pybind::OptNpArr = std::optional<pybind11::array>]’
    102 |   rotate_alm(base, alm, psi, theta, phi, nthreads);
        |   ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc:115:3:   required from here
    115 |   DISPATCH_C(alm, Py2_rotate_alm, (alm, lmax, psi, theta, phi, nthreads, mmax_in, mmax_out, alm_out))
        |                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:5615:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5615 |     operator*(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator+(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:255:46:   required from ‘int ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval_helper(int, const std::vector<double>&, std::vector<double>&) const [with Tv = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; long unsigned int N = 4; bool high_accuracy = true]’
    255 |                 vkm1 = Tvl(Tv(A[k  ]))*((X[i]+B[k  ])*vk[i] - Tvl(Tv(C[k  ]))*vkp1[i]);
        |                                         ~~~~~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:362:49:   required from ‘void ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval(const std::vector<double>&, std::vector<double>&) const [with bool high_accuracy = true]’
    362 |           j = eval_helper<native_simd<double>,4>(j, x, y);
        |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:455:17:   required from ‘void ducc0::detail_alm::xchg_yz(const Alm_Base&, const ducc0::detail_mav::vmav<std::complex<_Tp>, 1>&, size_t) [with T = float; size_t = long unsigned int]’
    455 |       F.F11.eval(tin, tout);
        |       ~~~~~~~~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:514:12:   required from ‘void ducc0::detail_alm::rotate_alm(const Alm_Base&, const ducc0::detail_mav::vmav<std::complex<_Tp>, 1>&, double, double, double, size_t) [with T = float; size_t = long unsigned int]’
    514 |     xchg_yz(base, alm, nthreads);
        |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc:102:13:   required from ‘ducc0::detail_pybind::NpArr ducc0::detail_pymodule_sht::Py2_rotate_alm(const ducc0::detail_pybind::CNpArr&, size_t, double, double, double, size_t, const OptSizeT&, const OptSizeT&, ducc0::detail_pybind::OptNpArr&) [with T = float; ducc0::detail_pybind::NpArr = pybind11::array; ducc0::detail_pybind::CNpArr = pybind11::array; size_t = long unsigned int; OptSizeT = std::optional<long unsigned int>; ducc0::detail_pybind::OptNpArr = std::optional<pybind11::array>]’
    102 |   rotate_alm(base, alm, psi, theta, phi, nthreads);
        |   ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc:115:3:   required from here
    115 |   DISPATCH_C(alm, Py2_rotate_alm, (alm, lmax, psi, theta, phi, nthreads, mmax_in, mmax_out, alm_out))
        |                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator>(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:271:35:   required from ‘int ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval_helper(int, const std::vector<double>&, std::vector<double>&) const [with Tv = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; long unsigned int N = 4; bool high_accuracy = true]’
    271 |             if (any_of(Tv(maxnrm) > eps/floatmin))
        |                        ~~~~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:362:49:   required from ‘void ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval(const std::vector<double>&, std::vector<double>&) const [with bool high_accuracy = true]’
    362 |           j = eval_helper<native_simd<double>,4>(j, x, y);
        |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:455:17:   required from ‘void ducc0::detail_alm::xchg_yz(const Alm_Base&, const ducc0::detail_mav::vmav<std::complex<_Tp>, 1>&, size_t) [with T = float; size_t = long unsigned int]’
    455 |       F.F11.eval(tin, tout);
        |       ~~~~~~~~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:514:12:   required from ‘void ducc0::detail_alm::rotate_alm(const Alm_Base&, const ducc0::detail_mav::vmav<std::complex<_Tp>, 1>&, double, double, double, size_t) [with T = float; size_t = long unsigned int]’
    514 |     xchg_yz(base, alm, nthreads);
        |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc:102:13:   required from ‘ducc0::detail_pybind::NpArr ducc0::detail_pymodule_sht::Py2_rotate_alm(const ducc0::detail_pybind::CNpArr&, size_t, double, double, double, size_t, const OptSizeT&, const OptSizeT&, ducc0::detail_pybind::OptNpArr&) [with T = float; ducc0::detail_pybind::NpArr = pybind11::array; ducc0::detail_pybind::CNpArr = pybind11::array; size_t = long unsigned int; OptSizeT = std::optional<long unsigned int>; ducc0::detail_pybind::OptNpArr = std::optional<pybind11::array>]’
    102 |   rotate_alm(base, alm, psi, theta, phi, nthreads);
        |   ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc:115:3:   required from here
    115 |   DISPATCH_C(alm, Py2_rotate_alm, (alm, lmax, psi, theta, phi, nthreads, mmax_in, mmax_out, alm_out))
        |                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:5645:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5645 |     operator>(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:89:
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::sqrt(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:274:38:   required from ‘int ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval_helper(int, const std::vector<double>&, std::vector<double>&) const [with Tv = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; long unsigned int N = 4; bool high_accuracy = true]’
    274 |                 nrm[i] = Tv(1.0)/sqrt(Tv(nrm[i]));
        |                                  ~~~~^~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:362:49:   required from ‘void ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval(const std::vector<double>&, std::vector<double>&) const [with bool high_accuracy = true]’
    362 |           j = eval_helper<native_simd<double>,4>(j, x, y);
        |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:455:17:   required from ‘void ducc0::detail_alm::xchg_yz(const Alm_Base&, const ducc0::detail_mav::vmav<std::complex<_Tp>, 1>&, size_t) [with T = float; size_t = long unsigned int]’
    455 |       F.F11.eval(tin, tout);
        |       ~~~~~~~~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:514:12:   required from ‘void ducc0::detail_alm::rotate_alm(const Alm_Base&, const ducc0::detail_mav::vmav<std::complex<_Tp>, 1>&, double, double, double, size_t) [with T = float; size_t = long unsigned int]’
    514 |     xchg_yz(base, alm, nthreads);
        |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc:102:13:   required from ‘ducc0::detail_pybind::NpArr ducc0::detail_pymodule_sht::Py2_rotate_alm(const ducc0::detail_pybind::CNpArr&, size_t, double, double, double, size_t, const OptSizeT&, const OptSizeT&, ducc0::detail_pybind::OptNpArr&) [with T = float; ducc0::detail_pybind::NpArr = pybind11::array; ducc0::detail_pybind::CNpArr = pybind11::array; size_t = long unsigned int; OptSizeT = std::optional<long unsigned int>; ducc0::detail_pybind::OptNpArr = std::optional<pybind11::array>]’
    102 |   rotate_alm(base, alm, psi, theta, phi, nthreads);
        |   ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc:115:3:   required from here
    115 |   DISPATCH_C(alm, Py2_rotate_alm, (alm, lmax, psi, theta, phi, nthreads, mmax_in, mmax_out, alm_out))
        |                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:1274:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1274 | _GLIBCXX_SIMD_MATH_CALL_(sqrt)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar> std::experimental::parallelism_v2::operator+(const simd<double, simd_abi::_Scalar>&, const simd<double, simd_abi::_Scalar>&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:255:46:   required from ‘int ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval_helper(int, const std::vector<double>&, std::vector<double>&) const [with Tv = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>; long unsigned int N = 1; bool high_accuracy = true]’
    255 |                 vkm1 = Tvl(Tv(A[k  ]))*((X[i]+B[k  ])*vk[i] - Tvl(Tv(C[k  ]))*vkp1[i]);
        |                                         ~~~~~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:366:60:   required from ‘void ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval(const std::vector<double>&, std::vector<double>&) const [with bool high_accuracy = true]’
    366 |         eval_helper<typename simd_select<double,1>::type,1>(j, x, y);
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:455:17:   required from ‘void ducc0::detail_alm::xchg_yz(const Alm_Base&, const ducc0::detail_mav::vmav<std::complex<_Tp>, 1>&, size_t) [with T = float; size_t = long unsigned int]’
    455 |       F.F11.eval(tin, tout);
        |       ~~~~~~~~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:514:12:   required from ‘void ducc0::detail_alm::rotate_alm(const Alm_Base&, const ducc0::detail_mav::vmav<std::complex<_Tp>, 1>&, double, double, double, size_t) [with T = float; size_t = long unsigned int]’
    514 |     xchg_yz(base, alm, nthreads);
        |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc:102:13:   required from ‘ducc0::detail_pybind::NpArr ducc0::detail_pymodule_sht::Py2_rotate_alm(const ducc0::detail_pybind::CNpArr&, size_t, double, double, double, size_t, const OptSizeT&, const OptSizeT&, ducc0::detail_pybind::OptNpArr&) [with T = float; ducc0::detail_pybind::NpArr = pybind11::array; ducc0::detail_pybind::CNpArr = pybind11::array; size_t = long unsigned int; OptSizeT = std::optional<long unsigned int>; ducc0::detail_pybind::OptNpArr = std::optional<pybind11::array>]’
    102 |   rotate_alm(base, alm, psi, theta, phi, nthreads);
        |   ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc:115:3:   required from here
    115 |   DISPATCH_C(alm, Py2_rotate_alm, (alm, lmax, psi, theta, phi, nthreads, mmax_in, mmax_out, alm_out))
        |                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi>::mask_type std::experimental::parallelism_v2::simd<_Tp, _Abi>::_S_make_mask(typename mask_type::_MemberType) [with _Tp = double; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename mask_type::_MemberType = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_MemberType]’:
  /usr/include/c++/15/experimental/bits/simd.h:5646:32:   required from ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator>(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’
   5646 |     { return simd::_S_make_mask(_Impl::_S_less(__y._M_data, __x._M_data)); }
        |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:271:35:   required from ‘int ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval_helper(int, const std::vector<double>&, std::vector<double>&) const [with Tv = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; long unsigned int N = 4; bool high_accuracy = true]’
    271 |             if (any_of(Tv(maxnrm) > eps/floatmin))
        |                        ~~~~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:362:49:   required from ‘void ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval(const std::vector<double>&, std::vector<double>&) const [with bool high_accuracy = true]’
    362 |           j = eval_helper<native_simd<double>,4>(j, x, y);
        |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:455:17:   required from ‘void ducc0::detail_alm::xchg_yz(const Alm_Base&, const ducc0::detail_mav::vmav<std::complex<_Tp>, 1>&, size_t) [with T = float; size_t = long unsigned int]’
    455 |       F.F11.eval(tin, tout);
        |       ~~~~~~~~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:514:12:   required from ‘void ducc0::detail_alm::rotate_alm(const Alm_Base&, const ducc0::detail_mav::vmav<std::complex<_Tp>, 1>&, double, double, double, size_t) [with T = float; size_t = long unsigned int]’
    514 |     xchg_yz(base, alm, nthreads);
        |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc:102:13:   required from ‘ducc0::detail_pybind::NpArr ducc0::detail_pymodule_sht::Py2_rotate_alm(const ducc0::detail_pybind::CNpArr&, size_t, double, double, double, size_t, const OptSizeT&, const OptSizeT&, ducc0::detail_pybind::OptNpArr&) [with T = float; ducc0::detail_pybind::NpArr = pybind11::array; ducc0::detail_pybind::CNpArr = pybind11::array; size_t = long unsigned int; OptSizeT = std::optional<long unsigned int>; ducc0::detail_pybind::OptNpArr = std::optional<pybind11::array>]’
    102 |   rotate_alm(base, alm, psi, theta, phi, nthreads);
        |   ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/sht_pymod.cc:115:3:   required from here
    115 |   DISPATCH_C(alm, Py2_rotate_alm, (alm, lmax, psi, theta, phi, nthreads, mmax_in, mmax_out, alm_out))
        |                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:5689:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5689 |     _S_make_mask(typename mask_type::_MemberType __k)
        |     ^~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h: In member function ‘int ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval_helper(int, const std::vector<double>&, std::vector<double>&) const [with Tv = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; long unsigned int N = 4; bool high_accuracy = true]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:255:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    255 |                 vkm1 = Tvl(Tv(A[k  ]))*((X[i]+B[k  ])*vk[i] - Tvl(Tv(C[k  ]))*vkp1[i]);
        |                 ^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:271:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    271 |             if (any_of(Tv(maxnrm) > eps/floatmin))
        |                        ~~~~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:274:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    274 |                 nrm[i] = Tv(1.0)/sqrt(Tv(nrm[i]));
        |                 ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:297:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    297 |             if (any_of(Tv(maxnrm) > eps/floatmin))
        |                        ~~~~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:300:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    300 |                 nrm[i] = Tv(1.0)/sqrt(Tv(nrm[i]));
        |                 ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator>(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5645:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5645 |     operator>(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::sqrt(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:1274:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1274 | _GLIBCXX_SIMD_MATH_CALL_(sqrt)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h: In member function ‘int ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval_helper(int, const std::vector<double>&, std::vector<double>&) const [with Tv = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; long unsigned int N = 2; bool high_accuracy = true]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:271:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    271 |             if (any_of(Tv(maxnrm) > eps/floatmin))
        |                        ~~~~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:274:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    274 |                 nrm[i] = Tv(1.0)/sqrt(Tv(nrm[i]));
        |                 ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:297:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    297 |             if (any_of(Tv(maxnrm) > eps/floatmin))
        |                        ~~~~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:300:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    300 |                 nrm[i] = Tv(1.0)/sqrt(Tv(nrm[i]));
        |                 ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h: In member function ‘int ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval_helper(int, const std::vector<double>&, std::vector<double>&) const [with Tv = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; long unsigned int N = 1; bool high_accuracy = true]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:271:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    271 |             if (any_of(Tv(maxnrm) > eps/floatmin))
        |                        ~~~~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:274:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    274 |                 nrm[i] = Tv(1.0)/sqrt(Tv(nrm[i]));
        |                 ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:297:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    297 |             if (any_of(Tv(maxnrm) > eps/floatmin))
        |                        ~~~~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:300:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    300 |                 nrm[i] = Tv(1.0)/sqrt(Tv(nrm[i]));
        |                 ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h: In member function ‘int ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<high_accuracy>::eval_helper(int, const std::vector<double>&, std::vector<double>&) const [with Tv = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>; long unsigned int N = 1; bool high_accuracy = true]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:255:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
    255 |                 vkm1 = Tvl(Tv(A[k  ]))*((X[i]+B[k  ])*vk[i] - Tvl(Tv(C[k  ]))*vkp1[i]);
        |                 ^~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘std::experimental::parallelism_v2::operator*=(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5599:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5599 |     { return __lhs = __lhs * __x; }
        |                      ~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘std::experimental::parallelism_v2::operator*=(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>&, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar> const&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5599:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5599 |     { return __lhs = __lhs * __x; }
        |                      ~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘std::experimental::parallelism_v2::operator+=(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5591:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5591 |     { return __lhs = __lhs + __x; }
        |                      ~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘std::experimental::parallelism_v2::operator+=(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>&, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar> const&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5591:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5591 |     { return __lhs = __lhs + __x; }
        |                      ~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h: In member function ‘ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<true>::eval_helper<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, 4ul>(int, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> >&) constint’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:269:50: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    269 |               fj[i] += vkm1*c[k-1] + vkm2*c[k-2] + vkm3*c[k-3];
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:271:35: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    271 |             if (any_of(Tv(maxnrm) > eps/floatmin))
        |                        ~~~~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:274:33: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    274 |                 nrm[i] = Tv(1.0)/sqrt(Tv(nrm[i]));
        |                          ~~~~~~~^~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:297:35: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    297 |             if (any_of(Tv(maxnrm) > eps/floatmin))
        |                        ~~~~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:300:33: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    300 |                 nrm[i] = Tv(1.0)/sqrt(Tv(nrm[i]));
        |                          ~~~~~~~^~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h: In member function ‘ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<true>::eval_helper<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, 2ul>(int, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> >&) constint’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:271:35: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    271 |             if (any_of(Tv(maxnrm) > eps/floatmin))
        |                        ~~~~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:274:33: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    274 |                 nrm[i] = Tv(1.0)/sqrt(Tv(nrm[i]));
        |                          ~~~~~~~^~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:297:35: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    297 |             if (any_of(Tv(maxnrm) > eps/floatmin))
        |                        ~~~~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:300:33: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    300 |                 nrm[i] = Tv(1.0)/sqrt(Tv(nrm[i]));
        |                          ~~~~~~~^~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h: In member function ‘ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<true>::eval_helper<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, 1ul>(int, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> >&) constint’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:271:35: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    271 |             if (any_of(Tv(maxnrm) > eps/floatmin))
        |                        ~~~~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:274:33: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    274 |                 nrm[i] = Tv(1.0)/sqrt(Tv(nrm[i]));
        |                          ~~~~~~~^~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:297:35: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    297 |             if (any_of(Tv(maxnrm) > eps/floatmin))
        |                        ~~~~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:300:33: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    300 |                 nrm[i] = Tv(1.0)/sqrt(Tv(nrm[i]));
        |                          ~~~~~~~^~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h: In member function ‘ducc0::detail_alm::ft_partial_sph_isometry_plan::ft_symmetric_tridiagonal_symmetric_eigen<true>::eval_helper<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>, 1ul>(int, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> >&) constint’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/alm.h:269:50: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    269 |               fj[i] += vkm1*c[k-1] + vkm2*c[k-2] + vkm3*c[k-3];
  [7/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/python/nufft_pymod.cc.o -MF CMakeFiles/ducc0.dir/python/nufft_pymod.cc.o.d -o CMakeFiles/ducc0.dir/python/nufft_pymod.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/nufft_pymod.cc
  In file included from /usr/include/c++/15/experimental/simd:74,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:67,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/nufft.h:50,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/nufft_pymod.cc:22:
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator+(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:38:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)> [with auto:897 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                              ~~~~~~~~^~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)> [with auto:897 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:386:24:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    386 |         const _V __y_lo = __y - __y_hi;
        |                           ~~~~^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)> [with auto:897 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)> [with auto:897 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:89:
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::abs(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)> [with auto:897 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:864:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    864 | _GLIBCXX_SIMD_MATH_CALL_(abs)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi>::mask_type std::experimental::parallelism_v2::simd<_Tp, _Abi>::_S_make_mask(typename mask_type::_MemberType) [with _Tp = double; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename mask_type::_MemberType = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_MemberType]’:
  /usr/include/c++/15/experimental/bits/simd.h:5636:32:   required from ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’
   5636 |     { return simd::_S_make_mask(_Impl::_S_less(__x._M_data, __y._M_data)); }
        |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5689:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5689 |     _S_make_mask(typename mask_type::_MemberType __k)
        |     ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::nearbyint(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)> [with auto:897 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:1281:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1281 | _GLIBCXX_SIMD_MATH_CALL_(nearbyint)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr typename _R::mask_type std::experimental::parallelism_v2::__proposed::static_simd_cast(const std::experimental::parallelism_v2::simd_mask<_Up, _Abi>&) [with _Tp = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>; _R = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename _R::mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:5028:48:   required from ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’
   5028 |           return static_simd_cast<simd_mask<_Up, _A2>>(_M_data);
        |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)> [with auto:897 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:897&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:3284:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   3284 |   static_simd_cast(const simd_mask<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  In file included from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/nufft.h:53:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:18: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                  ^
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:499:26: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    499 |             return __r ^ __sign_flip;
        |                          ^~~~~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:73:
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:14: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |              ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:371:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    371 |         __r._M_x -= __y * 0x1.921FB54443000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:378:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    378 |         __r._M_x -= __y * 0x1.921FB40000000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >& std::experimental::parallelism_v2::operator-=(simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5595:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5595 |     { return __lhs = __lhs - __x; }
        |                              ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In member function ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<_Tp, _Ap> std::experimental::parallelism_v2::__float_bitwise_operators::operator^(const std::experimental::parallelism_v2::simd<_Tp, _Ap>&, const std::experimental::parallelism_v2::simd<_Tp, _Ap>&) [with _Tp = double; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5714:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5714 |   operator^(const simd<_Tp, _Ap>& __a, const simd<_Tp, _Ap>& __b)
        |   ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::__fold_input<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::experimental::parallelism_v2::_Folded<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:380:25: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    380 |         __r._M_x -= __y * 0x1.8469898CC5170p-48;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:57: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                                              ~~~~~~~~~~~^~~~~~~~~~
  [8/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/healpix/healpix_base.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/healpix/healpix_base.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/healpix/healpix_base.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/healpix/healpix_base.cc
  [9/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/healpix/healpix_tables.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/healpix/healpix_tables.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/healpix/healpix_tables.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/healpix/healpix_tables.cc
  [10/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/math/gl_integrator.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/math/gl_integrator.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/math/gl_integrator.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gl_integrator.cc
  [11/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/math/pointing.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/math/pointing.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/math/pointing.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/pointing.cc
  [12/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/python/totalconvolve_pymod.cc.o -MF CMakeFiles/ducc0.dir/python/totalconvolve_pymod.cc.o.d -o CMakeFiles/ducc0.dir/python/totalconvolve_pymod.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/totalconvolve_pymod.cc
  In file included from /usr/include/c++/15/experimental/simd:74,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:67,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:34,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h:37,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/totalconvolve_pymod.cc:24:
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator+(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:38:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)> [with auto:896 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                              ~~~~~~~~^~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)> [with auto:896 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:386:24:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    386 |         const _V __y_lo = __y - __y_hi;
        |                           ~~~~^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)> [with auto:896 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)> [with auto:896 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:89:
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::abs(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)> [with auto:896 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:864:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    864 | _GLIBCXX_SIMD_MATH_CALL_(abs)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi>::mask_type std::experimental::parallelism_v2::simd<_Tp, _Abi>::_S_make_mask(typename mask_type::_MemberType) [with _Tp = double; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename mask_type::_MemberType = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_MemberType]’:
  /usr/include/c++/15/experimental/bits/simd.h:5636:32:   required from ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’
   5636 |     { return simd::_S_make_mask(_Impl::_S_less(__x._M_data, __y._M_data)); }
        |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5689:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5689 |     _S_make_mask(typename mask_type::_MemberType __k)
        |     ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::nearbyint(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)> [with auto:896 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:1281:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1281 | _GLIBCXX_SIMD_MATH_CALL_(nearbyint)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr typename _R::mask_type std::experimental::parallelism_v2::__proposed::static_simd_cast(const std::experimental::parallelism_v2::simd_mask<_Up, _Abi>&) [with _Tp = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>; _R = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename _R::mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:5028:48:   required from ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’
   5028 |           return static_simd_cast<simd_mask<_Up, _A2>>(_M_data);
        |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)> [with auto:896 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:3284:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   3284 |   static_simd_cast(const simd_mask<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator*(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h:244:45:   required from ‘void ducc0::detail_totalconvolve::ConvolverPlan<T>::interpolx(size_t, const ducc0::detail_mav::cmav<T, 3>&, size_t, size_t, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::vmav<T, 1>&) const [with long unsigned int supp = 8; Tloc = float; T = float; size_t = long unsigned int]’
    244 |                   tres += hlp.wtheta[itheta]*hlp.wphi[iphi]*Tsimd(ptr2+iphi*vlen,element_aligned_tag());
        |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h:547:25:   required from ‘void ducc0::detail_totalconvolve::ConvolverPlan<T>::interpol(const ducc0::detail_mav::cmav<T, 3>&, size_t, size_t, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::vmav<T, 1>&) const [with Tloc = float; T = float; size_t = long unsigned int]’
    547 |       interpolx<maxsupp>(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal);
        |       ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/totalconvolve_pymod.cc:94:15:   required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan<T>::Py_interpol(const ducc0::detail_pybind::CNpArr&, size_t, size_t, const ducc0::detail_pybind::CNpArr&, const ducc0::detail_pybind::CNpArr&, const ducc0::detail_pybind::CNpArr&, ducc0::detail_pybind::NpArr&) [with T = float; ducc0::detail_pybind::CNpArr = pybind11::array; size_t = long unsigned int; ducc0::detail_pybind::NpArr = pybind11::array]’
     94 |       interpol(cube, itheta0, iphi0, theta, phi, psi, signal);
        |       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/totalconvolve_pymod.cc:833:31:   required from here
    833 |     .def("interpol", &conv_f::Py_interpol, Py_ConvolverPlan_f_interpol_DS,
        |                               ^~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:5615:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5615 |     operator*(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  In file included from /usr/include/c++/15/string:51,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/bindings/pybind_utils.h:53,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/../../python/module_adders.h:4,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/totalconvolve_pymod.cc:22:
  /usr/include/c++/15/bits/stl_function.h: In instantiation of ‘constexpr decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) std::plus<void>::operator()(_Tp&&, _Up&&) const [with _Tp = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>; _Up = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>; decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1702:22:   required from ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = double; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’
   1702 |           return __binary_op(simd<_Tp, simd_abi::scalar>(__x[0]),
        |                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1703 |                              simd<_Tp, simd_abi::scalar>(__x[1]))[0];
        |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:3912:38:   required from ‘constexpr _Tp std::experimental::parallelism_v2::reduce(const simd<_Tp, _Ap>&, _BinaryOperation) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; _BinaryOperation = std::plus<void>]’
   3912 |   { return _Abi::_SimdImpl::_S_reduce(__v, __binary_op); }
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h:250:29:   required from ‘void ducc0::detail_totalconvolve::ConvolverPlan<T>::interpolx(size_t, const ducc0::detail_mav::cmav<T, 3>&, size_t, size_t, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::vmav<T, 1>&) const [with long unsigned int supp = 16; Tloc = double; T = double; size_t = long unsigned int]’
    250 |           signal(i) = reduce(res, std::plus<>());
        |                       ~~~~~~^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h:547:25:   required from ‘void ducc0::detail_totalconvolve::ConvolverPlan<T>::interpol(const ducc0::detail_mav::cmav<T, 3>&, size_t, size_t, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::vmav<T, 1>&) const [with Tloc = double; T = double; size_t = long unsigned int]’
    547 |       interpolx<maxsupp>(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal);
        |       ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/totalconvolve_pymod.cc:94:15:   required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan<T>::Py_interpol(const ducc0::detail_pybind::CNpArr&, size_t, size_t, const ducc0::detail_pybind::CNpArr&, const ducc0::detail_pybind::CNpArr&, const ducc0::detail_pybind::CNpArr&, ducc0::detail_pybind::NpArr&) [with T = double; ducc0::detail_pybind::CNpArr = pybind11::array; size_t = long unsigned int; ducc0::detail_pybind::NpArr = pybind11::array]’
     94 |       interpol(cube, itheta0, iphi0, theta, phi, psi, signal);
        |       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/totalconvolve_pymod.cc:811:31:   required from here
    811 |     .def("interpol", &conv_d::Py_interpol, Py_ConvolverPlan_interpol_DS,
        |                               ^~~~~~~~~~~
  /usr/include/c++/15/bits/stl_function.h:251:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
    251 |         operator()(_Tp&& __t, _Up&& __u) const
        |         ^~~~~~~~
  /usr/include/c++/15/bits/stl_function.h: In instantiation of ‘constexpr decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) std::plus<void>::operator()(_Tp&&, _Up&&) const [with _Tp = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>&; _Up = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>; decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1708:27:   required from ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = float; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’
   1708 |               __acc = __binary_op(__acc, simd<_Tp, simd_abi::scalar>(__x[__i]));
        |                       ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:3912:38:   required from ‘constexpr _Tp std::experimental::parallelism_v2::reduce(const simd<_Tp, _Ap>&, _BinaryOperation) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; _BinaryOperation = std::plus<void>]’
   3912 |   { return _Abi::_SimdImpl::_S_reduce(__v, __binary_op); }
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h:250:29:   required from ‘void ducc0::detail_totalconvolve::ConvolverPlan<T>::interpolx(size_t, const ducc0::detail_mav::cmav<T, 3>&, size_t, size_t, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::vmav<T, 1>&) const [with long unsigned int supp = 8; Tloc = float; T = float; size_t = long unsigned int]’
    250 |           signal(i) = reduce(res, std::plus<>());
        |                       ~~~~~~^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h:547:25:   required from ‘void ducc0::detail_totalconvolve::ConvolverPlan<T>::interpol(const ducc0::detail_mav::cmav<T, 3>&, size_t, size_t, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::vmav<T, 1>&) const [with Tloc = float; T = float; size_t = long unsigned int]’
    547 |       interpolx<maxsupp>(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal);
        |       ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/totalconvolve_pymod.cc:94:15:   required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan<T>::Py_interpol(const ducc0::detail_pybind::CNpArr&, size_t, size_t, const ducc0::detail_pybind::CNpArr&, const ducc0::detail_pybind::CNpArr&, const ducc0::detail_pybind::CNpArr&, ducc0::detail_pybind::NpArr&) [with T = float; ducc0::detail_pybind::CNpArr = pybind11::array; size_t = long unsigned int; ducc0::detail_pybind::NpArr = pybind11::array]’
     94 |       interpol(cube, itheta0, iphi0, theta, phi, psi, signal);
        |       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/totalconvolve_pymod.cc:833:31:   required from here
    833 |     .def("interpol", &conv_f::Py_interpol, Py_ConvolverPlan_f_interpol_DS,
        |                               ^~~~~~~~~~~
  /usr/include/c++/15/bits/stl_function.h:251:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
    251 |         operator()(_Tp&& __t, _Up&& __u) const
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:77:
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi> std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_M_make_simd(std::experimental::parallelism_v2::__intrinsic_type_t<_Tp, _Np>) [with _Tp = float; long unsigned int _Np = 4; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>; std::experimental::parallelism_v2::__intrinsic_type_t<_Tp, _Np> = std::experimental::parallelism_v2::__intrinsic_type_impl<float>::type]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1789:29:   required from ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = float; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’
   1789 |                                   _M_make_simd<_Tp, _Np>(__vector_bitcast<_Tp>(
        |                                   ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
   1790 |                                     __vector_permute<3, 2, 1, 0>(__y))));
        |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:3912:38:   required from ‘constexpr _Tp std::experimental::parallelism_v2::reduce(const simd<_Tp, _Ap>&, _BinaryOperation) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; _BinaryOperation = std::plus<void>]’
   3912 |   { return _Abi::_SimdImpl::_S_reduce(__v, __binary_op); }
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h:250:29:   required from ‘void ducc0::detail_totalconvolve::ConvolverPlan<T>::interpolx(size_t, const ducc0::detail_mav::cmav<T, 3>&, size_t, size_t, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::vmav<T, 1>&) const [with long unsigned int supp = 8; Tloc = float; T = float; size_t = long unsigned int]’
    250 |           signal(i) = reduce(res, std::plus<>());
        |                       ~~~~~~^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h:547:25:   required from ‘void ducc0::detail_totalconvolve::ConvolverPlan<T>::interpol(const ducc0::detail_mav::cmav<T, 3>&, size_t, size_t, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::vmav<T, 1>&) const [with Tloc = float; T = float; size_t = long unsigned int]’
    547 |       interpolx<maxsupp>(kernel->support(), cube, itheta0, iphi0, theta, phi, psi, signal);
        |       ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/totalconvolve_pymod.cc:94:15:   required from ‘void ducc0::detail_pymodule_totalconvolve::Py_ConvolverPlan<T>::Py_interpol(const ducc0::detail_pybind::CNpArr&, size_t, size_t, const ducc0::detail_pybind::CNpArr&, const ducc0::detail_pybind::CNpArr&, const ducc0::detail_pybind::CNpArr&, ducc0::detail_pybind::NpArr&) [with T = float; ducc0::detail_pybind::CNpArr = pybind11::array; size_t = long unsigned int; ducc0::detail_pybind::NpArr = pybind11::array]’
     94 |       interpol(cube, itheta0, iphi0, theta, phi, psi, signal);
        |       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/totalconvolve_pymod.cc:833:31:   required from here
    833 |     .def("interpol", &conv_f::Py_interpol, Py_ConvolverPlan_f_interpol_DS,
        |                               ^~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1291:7: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1291 |       _M_make_simd(__intrinsic_type_t<_Tp, _Np> __x)
        |       ^~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:18: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                  ^
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:499:26: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    499 |             return __r ^ __sign_flip;
        |                          ^~~~~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:73:
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:14: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |              ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:371:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    371 |         __r._M_x -= __y * 0x1.921FB54443000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:378:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    378 |         __r._M_x -= __y * 0x1.921FB40000000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >& std::experimental::parallelism_v2::operator-=(simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5595:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5595 |     { return __lhs = __lhs - __x; }
        |                              ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In member function ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<_Tp, _Ap> std::experimental::parallelism_v2::__float_bitwise_operators::operator^(const std::experimental::parallelism_v2::simd<_Tp, _Ap>&, const std::experimental::parallelism_v2::simd<_Tp, _Ap>&) [with _Tp = double; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5714:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5714 |   operator^(const simd<_Tp, _Ap>& __a, const simd<_Tp, _Ap>& __b)
        |   ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h:322:22: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    322 |                 auto ttmp=tmp*hlp.wpsi[ipsic];
        |                      ^~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In static member function ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = float; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1708:15: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1708 |               __acc = __binary_op(__acc, simd<_Tp, simd_abi::scalar>(__x[__i]));
        |               ^~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1788:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1788 |                 __x = __binary_op(__x,
        |                 ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h:338:22: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    338 |                 auto ttmp=tmp*hlp.wpsi[ipsic];
        |                      ^~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In static member function ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = double; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1702:29: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1702 |           return __binary_op(simd<_Tp, simd_abi::scalar>(__x[0]),
        |                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1703 |                              simd<_Tp, simd_abi::scalar>(__x[1]))[0];
        |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h:244:60: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    244 |                   tres += hlp.wtheta[itheta]*hlp.wphi[iphi]*Tsimd(ptr2+iphi*vlen,element_aligned_tag());
        |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘std::experimental::parallelism_v2::operator*=(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5599:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5599 |     { return __lhs = __lhs * __x; }
        |                      ~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::__fold_input<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::experimental::parallelism_v2::_Folded<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:380:25: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    380 |         __r._M_x -= __y * 0x1.8469898CC5170p-48;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:57: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                                              ~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In function ‘std::experimental::parallelism_v2::_SimdImplBuiltin<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_reduce<double, std::plus<void>&>(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::plus<void>&)double’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1702:29: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1702 |           return __binary_op(simd<_Tp, simd_abi::scalar>(__x[0]),
        |                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1703 |                              simd<_Tp, simd_abi::scalar>(__x[1]))[0];
        |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In function ‘std::experimental::parallelism_v2::_SimdImplBuiltin<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_reduce<float, std::plus<void>&>(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::plus<void>&)float’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1794:58: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1794 |             __x = __binary_op(__x, _M_make_simd<_Tp, _Np>(__vector_bitcast<_Tp>(
        |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
   1795 |                                      __vector_permute<1, 1>(__y))));
        |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘ducc0::detail_gridding_kernel::TemplateKernel<7ul, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::eval3(double, double, double, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:367:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    367 |           tvalz2 = tvalz2*z2 + Tvl(coeff[i+(j+1)*nvec_eval]);
        |                    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘ducc0::detail_gridding_kernel::TemplateKernel<4ul, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::eval3(float, float, float, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:367:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    367 |           tvalz2 = tvalz2*z2 + Tvl(coeff[i+(j+1)*nvec_eval]);
        |                    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h: In member function ‘ducc0::detail_totalconvolve::ConvolverPlan<double>::deinterpolx<5ul, float>(unsigned long, ducc0::detail_mav::vmav<double, 3ul> const&, unsigned long, unsigned long, ducc0::detail_mav::cmav<float, 1ul> const&, ducc0::detail_mav::cmav<float, 1ul> const&, ducc0::detail_mav::cmav<float, 1ul> const&, ducc0::detail_mav::cmav<double, 1ul> const&) const::{lambda(ducc0::detail_threading::Scheduler&)#1}::operator()(ducc0::detail_threading::Scheduler&) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/totalconvolve.h:338:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    338 |                 auto ttmp=tmp*hlp.wpsi[ipsic];
        |                           ~~~^~~~~~~~~~
  [13/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/math/geom_utils.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/math/geom_utils.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/math/geom_utils.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/geom_utils.cc
  [14/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/math/gridding_kernel.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/math/gridding_kernel.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/math/gridding_kernel.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.cc
  In file included from /usr/include/c++/15/experimental/simd:74,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:67,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:34,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.cc:20:
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator+(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:38:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)> [with auto:853 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                              ~~~~~~~~^~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)> [with auto:853 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:386:24:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    386 |         const _V __y_lo = __y - __y_hi;
        |                           ~~~~^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)> [with auto:853 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)> [with auto:853 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:89:
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::abs(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)> [with auto:853 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:864:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    864 | _GLIBCXX_SIMD_MATH_CALL_(abs)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi>::mask_type std::experimental::parallelism_v2::simd<_Tp, _Abi>::_S_make_mask(typename mask_type::_MemberType) [with _Tp = double; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename mask_type::_MemberType = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_MemberType]’:
  /usr/include/c++/15/experimental/bits/simd.h:5636:32:   required from ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’
   5636 |     { return simd::_S_make_mask(_Impl::_S_less(__x._M_data, __y._M_data)); }
        |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5689:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5689 |     _S_make_mask(typename mask_type::_MemberType __k)
        |     ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::nearbyint(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)> [with auto:853 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:1281:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1281 | _GLIBCXX_SIMD_MATH_CALL_(nearbyint)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr typename _R::mask_type std::experimental::parallelism_v2::__proposed::static_simd_cast(const std::experimental::parallelism_v2::simd_mask<_Up, _Abi>&) [with _Tp = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>; _R = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename _R::mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:5028:48:   required from ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’
   5028 |           return static_simd_cast<simd_mask<_Up, _A2>>(_M_data);
        |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)> [with auto:853 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:853&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:3284:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   3284 |   static_simd_cast(const simd_mask<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:18: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                  ^
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:499:26: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    499 |             return __r ^ __sign_flip;
        |                          ^~~~~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:73:
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:14: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |              ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:371:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    371 |         __r._M_x -= __y * 0x1.921FB54443000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:378:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    378 |         __r._M_x -= __y * 0x1.921FB40000000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >& std::experimental::parallelism_v2::operator-=(simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5595:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5595 |     { return __lhs = __lhs - __x; }
        |                              ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In member function ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<_Tp, _Ap> std::experimental::parallelism_v2::__float_bitwise_operators::operator^(const std::experimental::parallelism_v2::simd<_Tp, _Ap>&, const std::experimental::parallelism_v2::simd<_Tp, _Ap>&) [with _Tp = double; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5714:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5714 |   operator^(const simd<_Tp, _Ap>& __a, const simd<_Tp, _Ap>& __b)
        |   ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::__fold_input<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::experimental::parallelism_v2::_Folded<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:380:25: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    380 |         __r._M_x -= __y * 0x1.8469898CC5170p-48;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:57: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                                              ~~~~~~~~~~~^~~~~~~~~~
  [15/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/math/space_filling.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/math/space_filling.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/math/space_filling.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/space_filling.cc
  [16/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/math/wigner3j.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/math/wigner3j.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/math/wigner3j.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc
  In file included from /usr/include/c++/15/experimental/simd:74,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:67,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:39:
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator*(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:125:22:   required from here
    125 |            l1sq = l1*l1,
        |                      ^~
  /usr/include/c++/15/experimental/bits/simd.h:5615:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5615 |     operator*(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:470:24:   required from ‘void ducc0::detail_wigner3j::wigner3j_internal_vec(Tsimd, Tsimd, double, double, const ducc0::detail_mav::vmav<Tsimd, 1>&) [with Tsimd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
    470 |   auto done = Tsimd(1.)<Tsimd(0.);  // i.e. false :)
        |               ~~~~~~~~~^~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:940:26:   required from ‘void ducc0::detail_wigner3j::flexible_wigner3j_vec(Tsimd, Tsimd, double, double, Tsimd, const ducc0::detail_mav::vmav<Tsimd, 1>&) [with Tsimd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
    940 |     wigner3j_internal_vec(l2, l3, m2, m3, sub);
        |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:952:139:   required from here
    952 |   (native_simd<double> l2, native_simd<double> l3, double m2, double m3, native_simd<double> l1min, const vmav<native_simd<double>,1> &res);
        |                                                                                                                                           ^
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:89:
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::abs(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:482:28:   required from ‘void ducc0::detail_wigner3j::wigner3j_internal_vec(Tsimd, Tsimd, double, double, const ducc0::detail_mav::vmav<Tsimd, 1>&) [with Tsimd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
    482 |                 c1old = abs(c1),
        |                         ~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:940:26:   required from ‘void ducc0::detail_wigner3j::flexible_wigner3j_vec(Tsimd, Tsimd, double, double, Tsimd, const ducc0::detail_mav::vmav<Tsimd, 1>&) [with Tsimd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
    940 |     wigner3j_internal_vec(l2, l3, m2, m3, sub);
        |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:952:139:   required from here
    952 |   (native_simd<double> l2, native_simd<double> l3, double m2, double m3, native_simd<double> l1min, const vmav<native_simd<double>,1> &res);
        |                                                                                                                                           ^
  /usr/include/c++/15/experimental/bits/simd_math.h:864:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    864 | _GLIBCXX_SIMD_MATH_CALL_(abs)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<=(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:520:19:   required from ‘void ducc0::detail_wigner3j::wigner3j_internal_vec(Tsimd, Tsimd, double, double, const ducc0::detail_mav::vmav<Tsimd, 1>&) [with Tsimd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
    520 |     done |= (c1old<=abs(c1));
        |             ~~~~~~^~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:940:26:   required from ‘void ducc0::detail_wigner3j::flexible_wigner3j_vec(Tsimd, Tsimd, double, double, Tsimd, const ducc0::detail_mav::vmav<Tsimd, 1>&) [with Tsimd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
    940 |     wigner3j_internal_vec(l2, l3, m2, m3, sub);
        |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:952:139:   required from here
    952 |   (native_simd<double> l2, native_simd<double> l3, double m2, double m3, native_simd<double> l1min, const vmav<native_simd<double>,1> &res);
        |                                                                                                                                           ^
  /usr/include/c++/15/experimental/bits/simd.h:5639:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5639 |     operator<=(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<_Tp, _Ap> std::experimental::parallelism_v2::min(const simd<_Tp, _Ap>&, const simd<_Tp, _Ap>&) [with _Tp = double; _Ap = simd_abi::_VecBuiltin<16>]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:521:32:   required from ‘void ducc0::detail_wigner3j::wigner3j_internal_vec(Tsimd, Tsimd, double, double, const ducc0::detail_mav::vmav<Tsimd, 1>&) [with Tsimd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
    521 |     where(done, splitidx) = min(splitidx, Tsimd(double(i)));
        |                             ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:940:26:   required from ‘void ducc0::detail_wigner3j::flexible_wigner3j_vec(Tsimd, Tsimd, double, double, Tsimd, const ducc0::detail_mav::vmav<Tsimd, 1>&) [with Tsimd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
    940 |     wigner3j_internal_vec(l2, l3, m2, m3, sub);
        |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:952:139:   required from here
    952 |   (native_simd<double> l2, native_simd<double> l3, double m2, double m3, native_simd<double> l1min, const vmav<native_simd<double>,1> &res);
        |                                                                                                                                           ^
  /usr/include/c++/15/experimental/bits/simd.h:4008:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   4008 |   min(const simd<_Tp, _Ap>& __a, const simd<_Tp, _Ap>& __b)
        |   ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator==(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:526:36:   required from ‘void ducc0::detail_wigner3j::wigner3j_internal_vec(Tsimd, Tsimd, double, double, const ducc0::detail_mav::vmav<Tsimd, 1>&) [with Tsimd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
    526 |   if ((ncoef<=2) || all_of(splitidx==Tsimd(ncoef-1)))
        |                            ~~~~~~~~^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:940:26:   required from ‘void ducc0::detail_wigner3j::flexible_wigner3j_vec(Tsimd, Tsimd, double, double, Tsimd, const ducc0::detail_mav::vmav<Tsimd, 1>&) [with Tsimd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
    940 |     wigner3j_internal_vec(l2, l3, m2, m3, sub);
        |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:952:139:   required from here
    952 |   (native_simd<double> l2, native_simd<double> l3, double m2, double m3, native_simd<double> l1min, const vmav<native_simd<double>,1> &res);
        |                                                                                                                                           ^
  /usr/include/c++/15/experimental/bits/simd.h:5624:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5624 |     operator==(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc: In function ‘void ducc0::detail_wigner3j::wigner3j_00_vec_squared_compact(Tsimd, Tsimd, const ducc0::detail_mav::vmav<Tsimd, 1>&) [with Tsimd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:829:31: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    829 | template<typename Tsimd> void wigner3j_00_vec_squared_compact (Tsimd l2, Tsimd l3, const vmav<Tsimd,1> &res)
        |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc: In function ‘void ducc0::detail_wigner3j::wigner3j_internal_vec(Tsimd, Tsimd, double, double, const ducc0::detail_mav::vmav<Tsimd, 1>&) [with Tsimd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:493:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    493 |       c1 = blend(l1>1.000001, (2.*l1-1.)*(pre2-(l1sq-l1)*m3mm2)/((l1-1.)*newfac),
        |            ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    494 |                               -(2.*l1-1.)*l1*m3mm2/newfac);
        |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:493:41: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    493 |       c1 = blend(l1>1.000001, (2.*l1-1.)*(pre2-(l1sq-l1)*m3mm2)/((l1-1.)*newfac),
        |                               ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:505:23: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    505 |     if (any_of(resamax>=srhuge))
        |                ~~~~~~~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:517:18: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    517 |       sumfor*=fct*fct;
        |               ~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:520:19: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    520 |     done |= (c1old<=abs(c1));
        |             ~~~~~~^~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:520:24: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    520 |     done |= (c1old<=abs(c1));
        |                     ~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:520:19: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    520 |     done |= (c1old<=abs(c1));
        |             ~~~~~~^~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:521:32: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    521 |     where(done, splitidx) = min(splitidx, Tsimd(double(i)));
        |                             ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:526:36: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    526 |   if ((ncoef<=2) || all_of(splitidx==Tsimd(ncoef-1)))
        |                            ~~~~~~~~^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:528:10: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    528 |     auto cnorm = Tsimd(1.)/sqrt(sumfor);
        |          ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:556:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    556 |   where(Tsimd(i)>=splitidx-2, res(i)) = srtiny;
        |         ~~~~~~~~^~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:556:27: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    556 |   where(Tsimd(i)>=splitidx-2, res(i)) = srtiny;
        |                   ~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:556:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    556 |   where(Tsimd(i)>=splitidx-2, res(i)) = srtiny;
        |         ~~~~~~~~^~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:557:61: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    557 |   where(Tsimd(i)>splitidx, sumbac) += (2.*l1max+1.) * res(i)*res(i);
        |                                       ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:557:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    557 |   where(Tsimd(i)>splitidx, sumbac) += (2.*l1max+1.) * res(i)*res(i);
        |         ~~~~~~~~^~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:564:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    564 |     const Tsimd l1 = l1min+i,
        |                 ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:576:19: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    576 |     where(Tsimd(i)>=splitidx-2, res(i)) = tmp;
        |           ~~~~~~~~^~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:576:29: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    576 |     where(Tsimd(i)>=splitidx-2, res(i)) = tmp;
        |                     ~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:576:19: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    576 |     where(Tsimd(i)>=splitidx-2, res(i)) = tmp;
        |           ~~~~~~~~^~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:579:58: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    579 |     where(Tsimd(i)>splitidx, sumbac) += (2.*l1+1.)*res(i)*res(i);
        |                                         ~~~~~~~~~~~~~~~~~^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:579:19: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    579 |     where(Tsimd(i)>splitidx, sumbac) += (2.*l1+1.)*res(i)*res(i);
        |           ~~~~~~~~^~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:581:49: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    581 |     where(Tsimd(i)>=(splitidx-2), resamax) = max(abs(res(i)), resamax);
        |                                              ~~~^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:581:19: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    581 |     where(Tsimd(i)>=(splitidx-2), resamax) = max(abs(res(i)), resamax);
        |           ~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:581:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    581 |     where(Tsimd(i)>=(splitidx-2), resamax) = max(abs(res(i)), resamax);
        |                     ~~~~~~~~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:581:19: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    581 |     where(Tsimd(i)>=(splitidx-2), resamax) = max(abs(res(i)), resamax);
        |           ~~~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:594:18: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    594 |       sumbac*=fct*fct;
        |               ~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:609:24: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    609 |   Tsimd fct_bwd = blend(abs(ratio)<1., Tsimd(1.)/ratio, Tsimd(1.));
        |                   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:609:24: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:611:24: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    611 |   Tsimd fct_fwd = blend(abs(ratio)<1., Tsimd(1.), ratio);
        |                   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:611:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    611 |   Tsimd fct_fwd = blend(abs(ratio)<1., Tsimd(1.), ratio);
        |         ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:624:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    624 |     res(j) *= blend(Tsimd(j)<splitidx-2, cnorm*fct_fwd, cnorm*fct_bwd);
        |               ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:624:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<=(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5639:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5639 |     operator<=(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<_Tp, _Ap> std::experimental::parallelism_v2::min(const simd<_Tp, _Ap>&, const simd<_Tp, _Ap>&) [with _Tp = double; _Ap = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:4008:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   4008 |   min(const simd<_Tp, _Ap>& __a, const simd<_Tp, _Ap>& __b)
        |   ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator==(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5624:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5624 |     operator==(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<_Tp, _Ap> std::experimental::parallelism_v2::max(const simd<_Tp, _Ap>&, const simd<_Tp, _Ap>&) [with _Tp = double; _Ap = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:4013:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   4013 |   max(const simd<_Tp, _Ap>& __a, const simd<_Tp, _Ap>& __b)
        |   ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator>=(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5649:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5649 |     operator>=(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::abs(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:864:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    864 | _GLIBCXX_SIMD_MATH_CALL_(abs)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h: In function ‘T ducc0::detail_simd::blend(M, T, T) [with M = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    113 | template<typename M, typename T> T blend(M mask, T a, T b)
        |                                    ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc: In function ‘ducc0::detail_wigner3j::wigner3j_internal_vec<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, double, double, ducc0::detail_mav::vmav<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, 1ul> const&)void’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:505:23: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    505 |     if (any_of(resamax>=srhuge))
        |                ~~~~~~~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:504:43: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    504 |     resamax = blend(done, resamax, max(abs(res(i)), resamax));
        |                                        ~~~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:520:19: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    520 |     done |= (c1old<=abs(c1));
        |             ~~~~~~^~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:520:24: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    520 |     done |= (c1old<=abs(c1));
        |                     ~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:526:36: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    526 |   if ((ncoef<=2) || all_of(splitidx==Tsimd(ncoef-1)))
        |                            ~~~~~~~~^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:528:27: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    528 |     auto cnorm = Tsimd(1.)/sqrt(sumfor);
        |                  ~~~~~~~~~^~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:557:17: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    557 |   where(Tsimd(i)>splitidx, sumbac) += (2.*l1max+1.) * res(i)*res(i);
        |         ~~~~~~~~^~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:557:61: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    557 |   where(Tsimd(i)>splitidx, sumbac) += (2.*l1max+1.) * res(i)*res(i);
        |                                       ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:556:17: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    556 |   where(Tsimd(i)>=splitidx-2, res(i)) = srtiny;
        |         ~~~~~~~~^~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:556:27: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    556 |   where(Tsimd(i)>=splitidx-2, res(i)) = srtiny;
        |                   ~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:582:23: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    582 |     if (any_of(resamax>=srhuge))
        |                ~~~~~~~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:581:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    581 |     where(Tsimd(i)>=(splitidx-2), resamax) = max(abs(res(i)), resamax);
        |                     ~~~~~~~~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:579:19: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    579 |     where(Tsimd(i)>splitidx, sumbac) += (2.*l1+1.)*res(i)*res(i);
        |           ~~~~~~~~^~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:579:58: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    579 |     where(Tsimd(i)>splitidx, sumbac) += (2.*l1+1.)*res(i)*res(i);
        |                                         ~~~~~~~~~~~~~~~~~^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:576:19: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    576 |     where(Tsimd(i)>=splitidx-2, res(i)) = tmp;
        |           ~~~~~~~~^~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:576:29: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    576 |     where(Tsimd(i)>=splitidx-2, res(i)) = tmp;
        |                     ~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h: In function ‘ducc0::detail_simd::blend<std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >(std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >)std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    113 | template<typename M, typename T> T blend(M mask, T a, T b)
        |                                    ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc: In function ‘ducc0::detail_wigner3j::wigner3j_internal_vec<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, double, double, ducc0::detail_mav::vmav<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, 1ul> const&)void’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:493:17: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    493 |       c1 = blend(l1>1.000001, (2.*l1-1.)*(pre2-(l1sq-l1)*m3mm2)/((l1-1.)*newfac),
        |            ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    494 |                               -(2.*l1-1.)*l1*m3mm2/newfac);
        |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:493:17: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:493:17: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:493:17: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:501:20: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    501 |     sumfor += blend(done, Tsimd(0.), (2.*l1+1.)*res(i)*res(i));
        |               ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:501:20: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:501:20: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:501:20: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:504:20: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    504 |     resamax = blend(done, resamax, max(abs(res(i)), resamax));
        |               ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:504:20: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:504:20: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:504:20: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:609:24: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    609 |   Tsimd fct_bwd = blend(abs(ratio)<1., Tsimd(1.)/ratio, Tsimd(1.));
        |                   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:609:24: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:609:24: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:609:24: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:611:24: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    611 |   Tsimd fct_fwd = blend(abs(ratio)<1., Tsimd(1.), ratio);
        |                   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:611:24: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:611:24: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:611:24: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:624:20: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    624 |     res(j) *= blend(Tsimd(j)<splitidx-2, cnorm*fct_fwd, cnorm*fct_bwd);
        |               ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:624:20: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:624:20: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:624:20: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  [17/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder.cc
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder.cc: In function ‘auto ducc0::detail_gridder::get_nminmax_rectangle(double, double, double, double)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder.cc:125:34: note: parameter passing for argument of type ‘std::pair<double, double>’ when C++17 is enabled changed to match C++14 in GCC 10.1
    125 |   return make_pair(nm1min, nm1max);
        |                                  ^
  In file included from /usr/include/c++/15/experimental/simd:74,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:67,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:49,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder.cc:20:
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator+(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:38:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                              ~~~~~~~~^~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:386:24:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    386 |         const _V __y_lo = __y - __y_hi;
        |                           ~~~~^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:89:
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::abs(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:864:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    864 | _GLIBCXX_SIMD_MATH_CALL_(abs)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi>::mask_type std::experimental::parallelism_v2::simd<_Tp, _Abi>::_S_make_mask(typename mask_type::_MemberType) [with _Tp = double; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename mask_type::_MemberType = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_MemberType]’:
  /usr/include/c++/15/experimental/bits/simd.h:5636:32:   required from ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’
   5636 |     { return simd::_S_make_mask(_Impl::_S_less(__x._M_data, __y._M_data)); }
        |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5689:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5689 |     _S_make_mask(typename mask_type::_MemberType __k)
        |     ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::nearbyint(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:1281:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1281 | _GLIBCXX_SIMD_MATH_CALL_(nearbyint)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr typename _R::mask_type std::experimental::parallelism_v2::__proposed::static_simd_cast(const std::experimental::parallelism_v2::simd_mask<_Up, _Abi>&) [with _Tp = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>; _R = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename _R::mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:5028:48:   required from ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’
   5028 |           return static_simd_cast<simd_mask<_Up, _A2>>(_M_data);
        |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:3284:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   3284 |   static_simd_cast(const simd_mask<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder.cc:110:6: note: parameter passing for argument of type ‘std::pair<double, double>’ when C++17 is enabled changed to match C++14 in GCC 10.1
    110 | auto get_nminmax_rectangle(double xmin, double xmax, double ymin, double ymax)
        |      ^~~~~~~~~~~~~~~~~~~~~
  [18/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/fft/fft_inst1.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/fft/fft_inst1.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/fft/fft_inst1.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft_inst1.cc
  In file included from /usr/include/c++/15/experimental/simd:74,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:67,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:71,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft_inst1.cc:1:
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator+(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:653:29:   required from ‘T* ducc0::detail_fft::T_dcst23<T0>::exec(T*, T*, T0, bool, int, bool, size_t) const [with T = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; T0 = float; size_t = long unsigned int]’
    653 |           c[k] = T0(0.5)*(t1+t2); c[kc]=T0(0.5)*(t1-t2);
        |                          ~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:985:25:   required from ‘void ducc0::detail_fft::ExecDcst::operator()(const Titer&, const ducc0::detail_mav::cfmav<T>&, const ducc0::detail_mav::vfmav<T>&, Tstorage&, const Tplan&, T0, size_t, bool) const [with T0 = float; Tstorage = ducc0::detail_fft::TmpStorage2<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, float, float>; Tplan = ducc0::detail_fft::T_dcst23<float>; Titer = ducc0::detail_fft::multi_iter<16>; size_t = long unsigned int]’
    985 |     auto res = plan.exec(buf2, buf1, fct, ortho, type, cosine, nthreads);
        |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:703:21:   required from ‘void ducc0::detail_fft::general_nd(const ducc0::detail_mav::cfmav<T>&, const ducc0::detail_mav::vfmav<T1>&, const shape_t&, T0, size_t, const Exec&, bool) [with Tplan = T_dcst23<float>; T = float; T0 = float; Exec = ExecDcst; shape_t = std::vector<long unsigned int>; size_t = long unsigned int]’
    703 |                 exec(it, tin, out, storage2, *plan, fct, nth1d);
        |                 ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1441:28:   required from ‘void ducc0::detail_fft::dct(const ducc0::detail_mav::cfmav<T>&, const ducc0::detail_mav::vfmav<T>&, const shape_t&, int, T, bool, size_t) [with T = float; shape_t = std::vector<long unsigned int>; size_t = long unsigned int]’
   1441 |     general_nd<T_dcst23<T>>(in, out, axes, fct, nthreads, exec);
        |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft_inst_inc.h:26:68:   required from here
     26 |   const shape_t &axes, int type, T fct, bool ortho, size_t nthreads);
        |                                                                    ^
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  In file included from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:74:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In instantiation of ‘ducc0::Cmplx<decltype ((((const ducc0::Cmplx<T>*)this)->ducc0::Cmplx<T>::r + other.r))> ducc0::Cmplx<T>::operator*(const ducc0::Cmplx<T2>&) const [with T2 = float; T = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; decltype ((((const ducc0::Cmplx<T>*)this)->r + other.r)) = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1716:19:   required from ‘void ducc0::detail_fft::ExecConv1R::operator()(const Titer&, const ducc0::detail_mav::cfmav<T>&, const ducc0::detail_mav::vfmav<T>&, Tstorage&, const ducc0::detail_fft::pocketfft_r<T0>&, const ducc0::detail_fft::pocketfft_r<T0>&, const ducc0::detail_mav::cmav<T, 1>&) const [with T0 = float; Tstorage = ducc0::detail_fft::TmpStorage2<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, float, float>; Titer = ducc0::detail_fft::multi_iter<4>]’
   1716 |       auto t3 = t1*t2;
        |                 ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1663:15:   required from ‘void ducc0::detail_fft::general_convolve_axis(const ducc0::detail_mav::cfmav<T>&, const ducc0::detail_mav::vfmav<T>&, size_t, const ducc0::detail_mav::cmav<T, 1>&, size_t, const Exec&) [with Tplan = pocketfft_r<float>; T0 = float; T = float; Exec = ExecConv1R; size_t = long unsigned int]’
   1663 |           exec(it, in, out, storage2, *plan1, *plan2, fkernel);
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1791:43:   required from ‘void ducc0::detail_fft::convolve_axis(const ducc0::detail_mav::cfmav<T>&, const ducc0::detail_mav::vfmav<T>&, size_t, const ducc0::detail_mav::cmav<T, 1>&, size_t) [with T = float; size_t = long unsigned int]’
   1791 |   general_convolve_axis<pocketfft_r<T>, T>(in, out, axis, kernel, nthreads,
        |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1792 |     ExecConv1R());
        |     ~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft_inst_inc.h:58:77:   required from here
     58 |   const vfmav<T> &out, size_t axis, const cmav<T,1> &kernel, size_t nthreads);
        |                                                                             ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:94:30: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     94 |   template<typename T2> auto operator* (const Cmplx<T2> &other) const
        |                              ^~~~~~~~
  In file included from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:78,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:76:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In function ‘void ducc0::detail_fft::special_mul(const ducc0::Cmplx<T>&, const ducc0::Cmplx<T2>&, ducc0::Cmplx<T>&) [with bool fwd = true; T = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; T2 = float]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:86:28: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     86 |   res = fwd ? Cmplx<T>(v1.r*v2.r+v1.i*v2.i, v1.i*v2.r-v1.r*v2.i)
        |                        ~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In member function ‘ducc0::Cmplx<decltype ((((const ducc0::Cmplx<T>*)this)->ducc0::Cmplx<T>::r * other))> ducc0::Cmplx<T>::operator*(const T2&) const [with T2 = float; T = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:85:30: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     85 |   template<typename T2> auto operator* (const T2 &other) const
        |                              ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:87:31: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     87 |     { return {r*other, i*other}; }
        |                               ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In member function ‘ducc0::Cmplx<decltype ((((const ducc0::Cmplx<T>*)this)->ducc0::Cmplx<T>::r + other.r))> ducc0::Cmplx<T>::special_mul(const ducc0::Cmplx<T2>&) const [with bool fwd = false; T2 = float; T = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:97:40: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     97 |   template<bool fwd, typename T2> auto special_mul (const Cmplx<T2> &other) const
        |                                        ^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:102:24: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    102 |                : Tres(r*other.r-i*other.i, r*other.i+i*other.r);
        |                       ~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In member function ‘ducc0::Cmplx<decltype ((((const ducc0::Cmplx<T>*)this)->ducc0::Cmplx<T>::r + other.r))> ducc0::Cmplx<T>::special_mul(const ducc0::Cmplx<T2>&) const [with bool fwd = true; T2 = float; T = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:97:40: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     97 |   template<bool fwd, typename T2> auto special_mul (const Cmplx<T2> &other) const
        |                                        ^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:101:24: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    101 |     return fwd ? Tres(r*other.r+i*other.i, i*other.r-r*other.i)
        |                       ~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftpblue<Tfs>::exec_(Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = false; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = float]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:1110:16: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1110 |           auto zero = akf[0]*Tfs(0);
        |                ^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In function ‘void ducc0::detail_fft::special_mul(const ducc0::Cmplx<T>&, const ducc0::Cmplx<T2>&, ducc0::Cmplx<T>&) [with bool fwd = false; T = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; T2 = float]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:87:28: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     87 |             : Cmplx<T>(v1.r*v2.r-v1.i*v2.i, v1.r*v2.i+v1.i*v2.r);
        |                        ~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In function ‘void ducc0::detail_fft::PM(T&, T&, T, T) [with T = ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:78:34: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     78 | template<typename T> inline void PM(T &a, T &b, T c, T d)
        |                                  ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In member function ‘ducc0::Cmplx<decltype ((((const ducc0::Cmplx<T>*)this)->ducc0::Cmplx<T>::r + other.r))> ducc0::Cmplx<T>::operator+(const ducc0::Cmplx<T2>&) const [with T2 = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; T = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:90:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     90 |     { return {r+other.r, i+other.i}; }
        |                                   ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In member function ‘ducc0::Cmplx<decltype ((((const ducc0::Cmplx<T>*)this)->ducc0::Cmplx<T>::r + other.r))> ducc0::Cmplx<T>::operator-(const ducc0::Cmplx<T2>&) const [with T2 = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; T = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:91:30: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     91 |   template<typename T2> auto operator- (const Cmplx<T2> &other) const
        |                              ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:93:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     93 |     { return {r-other.r, i-other.i}; }
        |                                   ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftp11<Tfs>::exec_(const Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = true; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = float]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:881:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    881 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:881:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    881 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:882:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    882 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:882:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    882 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:883:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    883 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:883:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    883 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:884:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    884 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:884:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    884 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:885:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    885 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:885:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    885 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:892:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    892 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:892:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    892 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:893:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    893 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:893:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    893 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:894:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    894 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:894:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    894 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:895:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    895 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:895:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    895 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:896:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    896 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:896:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    896 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:901:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    901 |             POCKETFFT_PARTSTEP11(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:901:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    901 |             POCKETFFT_PARTSTEP11(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:902:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    902 |             POCKETFFT_PARTSTEP11(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:902:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    902 |             POCKETFFT_PARTSTEP11(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:903:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    903 |             POCKETFFT_PARTSTEP11(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:903:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    903 |             POCKETFFT_PARTSTEP11(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:904:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    904 |             POCKETFFT_PARTSTEP11(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:904:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    904 |             POCKETFFT_PARTSTEP11(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:905:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    905 |             POCKETFFT_PARTSTEP11(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:905:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    905 |             POCKETFFT_PARTSTEP11(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftp11<Tfs>::exec_(const Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = false; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = float]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:881:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    881 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:881:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    881 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:882:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    882 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:882:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    882 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:883:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    883 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:883:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    883 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:884:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    884 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:884:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    884 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:885:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    885 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:885:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    885 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:892:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    892 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:892:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    892 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:893:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    893 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:893:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    893 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:894:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    894 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:894:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    894 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:895:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    895 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:895:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    895 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:896:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    896 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:896:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    896 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:901:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    901 |             POCKETFFT_PARTSTEP11(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:901:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    901 |             POCKETFFT_PARTSTEP11(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:902:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    902 |             POCKETFFT_PARTSTEP11(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:902:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    902 |             POCKETFFT_PARTSTEP11(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:903:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    903 |             POCKETFFT_PARTSTEP11(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:903:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    903 |             POCKETFFT_PARTSTEP11(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:904:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    904 |             POCKETFFT_PARTSTEP11(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:904:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    904 |             POCKETFFT_PARTSTEP11(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:905:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    905 |             POCKETFFT_PARTSTEP11(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:905:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    905 |             POCKETFFT_PARTSTEP11(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftp8<Tfs>::exec_(Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = true; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = float]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:680:11: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    680 |         PM(CC(0,0),CC(0,4),a0+a2,a1);
        |         ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘void ducc0::detail_fft::cfftp8<Tfs>::ROTX45(T&) const [with bool fwd = true; T = ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = float]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:646:26: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    646 |         { auto tmp_=a.r; a.r=hsqt2*(a.r+a.i); a.i=hsqt2*(a.i-tmp_); }
        |                          ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In function ‘void ducc0::detail_fft::PMINPLACE(T&, T&) [with T = ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:81:20: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     81 |   { T t = a; a+=b; b=t-b; }
        |                    ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘void ducc0::detail_fft::cfftp8<Tfs>::ROTX45(T&) const [with bool fwd = false; T = ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = float]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:648:26: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    648 |         { auto tmp_=a.r; a.r=hsqt2*(a.r-a.i); a.i=hsqt2*(a.i+tmp_); }
        |                          ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftp5<Tfs>::exec_(const Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = true; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = float]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:471:28: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         special_mul<fwd>(ca+cb,WA(u1-1,i),CH(i,k,u1)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:493:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP5b’
    493 |             POCKETFFT_PARTSTEP5b(1,4,tw1r,tw2r,+tw1i,+tw2i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:467:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    467 |         ca.r=t0.r+twar*t1.r+twbr*t2.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:494:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP5b’
    494 |             POCKETFFT_PARTSTEP5b(2,3,tw2r,tw1r,+tw2i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:471:28: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         special_mul<fwd>(ca+cb,WA(u1-1,i),CH(i,k,u1)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:494:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP5b’
    494 |             POCKETFFT_PARTSTEP5b(2,3,tw2r,tw1r,+tw2i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftp5<Tfs>::exec_(const Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = false; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = float]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:451:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    451 |         CH(idx,k,0).r=t0.r+t1.r+t2.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:478:11: note: in expansion of macro ‘POCKETFFT_PREP5’
    478 |           POCKETFFT_PREP5(0)
        |           ^~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:471:28: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         special_mul<fwd>(ca+cb,WA(u1-1,i),CH(i,k,u1)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:493:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP5b’
    493 |             POCKETFFT_PARTSTEP5b(1,4,tw1r,tw2r,+tw1i,+tw2i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:467:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    467 |         ca.r=t0.r+twar*t1.r+twbr*t2.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:494:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP5b’
    494 |             POCKETFFT_PARTSTEP5b(2,3,tw2r,tw1r,+tw2i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:471:28: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         special_mul<fwd>(ca+cb,WA(u1-1,i),CH(i,k,u1)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:494:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP5b’
    494 |             POCKETFFT_PARTSTEP5b(2,3,tw2r,tw1r,+tw2i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftp3<Tfs>::exec_(const Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = true; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = float]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:282:13: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    282 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:297:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP3a’
    297 |           POCKETFFT_PARTSTEP3a(1,2,tw1r,tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:278:9: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    278 |         CH(idx,k,0)=t0+t1;
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:303:11: note: in expansion of macro ‘POCKETFFT_PREP3’
    303 |           POCKETFFT_PREP3(0)
        |           ^~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:282:13: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    282 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:304:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP3a’
    304 |           POCKETFFT_PARTSTEP3a(1,2,tw1r,tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:278:9: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    278 |         CH(idx,k,0)=t0+t1;
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:308:13: note: in expansion of macro ‘POCKETFFT_PREP3’
    308 |             POCKETFFT_PREP3(i)
        |             ^~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:288:13: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    288 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:309:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP3b’
    309 |             POCKETFFT_PARTSTEP3b(1,2,tw1r,tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:289:28: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    289 |         special_mul<fwd>(ca+cb,WA(u1-1,i),CH(i,k,u1)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:309:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP3b’
    309 |             POCKETFFT_PARTSTEP3b(1,2,tw1r,tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftp3<Tfs>::exec_(const Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = false; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = float]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:282:13: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    282 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:297:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP3a’
    297 |           POCKETFFT_PARTSTEP3a(1,2,tw1r,tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:278:9: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    278 |         CH(idx,k,0)=t0+t1;
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:303:11: note: in expansion of macro ‘POCKETFFT_PREP3’
    303 |           POCKETFFT_PREP3(0)
        |           ^~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:282:13: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    282 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:304:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP3a’
    304 |           POCKETFFT_PARTSTEP3a(1,2,tw1r,tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:278:9: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    278 |         CH(idx,k,0)=t0+t1;
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:308:13: note: in expansion of macro ‘POCKETFFT_PREP3’
    308 |             POCKETFFT_PREP3(i)
        |             ^~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:288:13: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    288 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:309:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP3b’
    309 |             POCKETFFT_PARTSTEP3b(1,2,tw1r,tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:289:28: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    289 |         special_mul<fwd>(ca+cb,WA(u1-1,i),CH(i,k,u1)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:309:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP3b’
    309 |             POCKETFFT_PARTSTEP3b(1,2,tw1r,tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tfd* ducc0::detail_fft::rfftpblue<Tfs>::exec_(Tfd*, Tfd*, Tfd*, size_t) const [with bool fwd = true; Tfd = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; Tfs = float]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2707:15: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2707 |               CH(ic  ,2*m-1,k) = -res[ip-m].i;
        |               ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tfd* ducc0::detail_fft::rfftp_complexify<Tfs>::exec_(Tfd*, Tfd*, Tfd*, size_t) const [with bool fwd = true; Tfd = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; Tfs = float]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2891:16: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2891 |           auto xe = res[i]+res[xi].conj();
        |                ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2892:21: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2892 |           auto xo = Tcd(res[i].i+res[xi].i, res[xi].r-res[i].r)
        |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2892:16: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2892 |           auto xo = Tcd(res[i].i+res[xi].i, res[xi].r-res[i].r)
        |                ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2894:11: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2894 |           rres[2*i-1] = Tfs(0.5)*(xe.r+xo.r);
        |           ^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In member function ‘ducc0::Cmplx<T> ducc0::Cmplx<T>::conj() const [with T = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:80:9: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     80 |   Cmplx conj() const { return {r, -i}; }
        |         ^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:80:37: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     80 |   Cmplx conj() const { return {r, -i}; }
        |                                     ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In member function ‘ducc0::Cmplx<decltype ((((const ducc0::Cmplx<T>*)this)->ducc0::Cmplx<T>::r + other.r))> ducc0::Cmplx<T>::operator*(const ducc0::Cmplx<T2>&) const [with T2 = float; T = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:94:30: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     94 |   template<typename T2> auto operator* (const Cmplx<T2> &other) const
        |                              ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:96:57: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     96 |     { return {r*other.r-i*other.i, r*other.i + i*other.r}; }
        |                                                         ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tfd* ducc0::detail_fft::rfftp_complexify<Tfs>::exec_(Tfd*, Tfd*, Tfd*, size_t) const [with bool fwd = false; Tfd = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; Tfs = float]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2910:16: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2910 |           auto xe = t1+t2;
        |                ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2912:26: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2912 |           cch[i] = (xe + Tcd(-xo.i, xo.r));
        |                          ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2912:11: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2912 |           cch[i] = (xe + Tcd(-xo.i, xo.r));
        |           ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >& std::experimental::parallelism_v2::operator*=(simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5599:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5599 |     { return __lhs = __lhs * __x; }
        |                              ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h: In member function ‘void ducc0::detail_fft::ExecConv1R::operator()(const Titer&, const ducc0::detail_mav::cfmav<T>&, const ducc0::detail_mav::vfmav<T>&, Tstorage&, const ducc0::detail_fft::pocketfft_r<T0>&, const ducc0::detail_fft::pocketfft_r<T0>&, const ducc0::detail_mav::cmav<T, 1>&) const [with T0 = float; Tstorage = ducc0::detail_fft::TmpStorage2<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, float, float>; Titer = ducc0::detail_fft::multi_iter<4>]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1716:12: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1716 |       auto t3 = t1*t2;
        |            ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1728:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1728 |         res[2*i-1] = (t1*t2).r*T0(2);
        |         ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1728:25: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1728 |         res[2*i-1] = (t1*t2).r*T0(2);
        |                      ~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1728:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1728 |         res[2*i-1] = (t1*t2).r*T0(2);
        |         ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h: In member function ‘void ducc0::detail_fft::ExecConv1C::operator()(const Titer&, const ducc0::detail_mav::cfmav<ducc0::Cmplx<T> >&, const ducc0::detail_mav::vfmav<ducc0::Cmplx<T> >&, Tstorage&, const ducc0::detail_fft::pocketfft_c<T0>&, const ducc0::detail_fft::pocketfft_c<T0>&, const ducc0::detail_mav::cmav<ducc0::Cmplx<T>, 1>&) const [with T0 = float; Tstorage = ducc0::detail_fft::TmpStorage2<ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >, ducc0::Cmplx<float>, float>; Titer = ducc0::detail_fft::multi_iter<4>]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1755:5: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1755 |     res2[0] = res[0]*fkernel(0);
        |     ^~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘std::experimental::parallelism_v2::operator+=(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5591:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5591 |     { return __lhs = __lhs + __x; }
        |                      ~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In member function ‘ducc0::detail_fft::pocketfft_c<float>::exec_copyback<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, float, bool, unsigned long) constvoid’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:314:50: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    314 |           for (size_t i=0; i<N; ++i) in[i]=res[i]*fct;
        |                                            ~~~~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In member function ‘ducc0::detail_fft::T_dcst23<float>::exec<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*, float, bool, int, bool, unsigned long) conststd::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:653:48: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    653 |           c[k] = T0(0.5)*(t1+t2); c[kc]=T0(0.5)*(t1-t2);
        |                                         ~~~~~~~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h: In member function ‘ducc0::detail_fft::ExecConv1R::operator()<float, ducc0::detail_fft::TmpStorage2<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, float, float>, ducc0::detail_fft::multi_iter<4ul> >(ducc0::detail_fft::multi_iter<4ul> const&, ducc0::detail_mav::cfmav<float> const&, ducc0::detail_mav::vfmav<float> const&, ducc0::detail_fft::TmpStorage2<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, float, float>&, ducc0::detail_fft::pocketfft_r<float> const&, ducc0::detail_fft::pocketfft_r<float> const&, ducc0::detail_mav::cmav<float, 1ul> const&) constvoid’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1728:25: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1728 |         res[2*i-1] = (t1*t2).r*T0(2);
        |                      ~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In member function ‘ducc0::detail_fft::T_dcst4<float>::exec<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*, float, bool, int, bool, unsigned long) conststd::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:752:18: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    752 |           y[i] = -c[2*N-m-1];
        |                  ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftpblue<float>::exec_<true, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:1118:53: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1118 |           res[0] = res[0].template special_mul<!fwd>(bkf[0]);
        |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In function ‘ducc0::detail_fft::special_mul<false, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, float>(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const&, ducc0::Cmplx<float> const&, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >&)void’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:87:59: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
     87 |             : Cmplx<T>(v1.r*v2.r-v1.i*v2.i, v1.r*v2.i+v1.i*v2.r);
        |                                                       ~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftpblue<float>::exec_<false, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:1118:53: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1118 |           res[0] = res[0].template special_mul<!fwd>(bkf[0]);
        |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp8<float>::ROTX45<true, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >&) constvoid’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:646:56: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    646 |         { auto tmp_=a.r; a.r=hsqt2*(a.r+a.i); a.i=hsqt2*(a.i-tmp_); }
        |                                                   ~~~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In function ‘ducc0::detail_fft::PM<ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >&, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >&, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >)void’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:79:15: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
     79 |   { a=c+d; b=c-d; }
        |              ~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftpg<float>::exec_<true, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:990:53: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    990 |           CX2(ik,lc).i = wal.i*CH2(ik,ip-1).r+wal2.i*CH2(ik,ip-2).r;
        |                                               ~~~~~~^~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp11<float>::exec_<true, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:56: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |                                                        ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp11<float>::exec_<false, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:864:14: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    864 |         cb.r=-(y1*t11.i y2*t10.i y3*t9.i y4*t8.i y5*t7.i ); \
        |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:56: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |                                                        ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp7<float>::exec_<true, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:565:14: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    565 |         cb.r=-(y1*t7.i y2*t6.i y3*t5.i); \
        |              ^~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In function ‘ducc0::detail_fft::PMINPLACE<ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >&, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >&)void’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:81:23: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
     81 |   { T t = a; a+=b; b=t-b; }
        |                      ~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp5<float>::exec_<true, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:460:14: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    460 |         cb.r=-(twai*t4.i twbi*t3.i); \
        |              ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:472:28: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    472 |         special_mul<fwd>(ca-cb,WA(u2-1,i),CH(i,k,u2)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp5<float>::exec_<false, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:460:14: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    460 |         cb.r=-(twai*t4.i twbi*t3.i); \
        |              ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:472:28: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    472 |         special_mul<fwd>(ca-cb,WA(u2-1,i),CH(i,k,u2)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp3<float>::exec_<true, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:282:16: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    282 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |                ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:281:21: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    281 |         Tcd ca=t0+t1*twr; \
        |                     ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp3<float>::exec_<false, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:282:16: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    282 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |                ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:281:21: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    281 |         Tcd ca=t0+t1*twr; \
        |                     ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp8<float>::ROTX45<false, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >&) constvoid’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:648:56: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    648 |         { auto tmp_=a.r; a.r=hsqt2*(a.r-a.i); a.i=hsqt2*(a.i+tmp_); }
        |                                                   ~~~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp8<float>::exec_<false, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:709:30: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    709 |           special_mul<fwd>(a6-a7,WA(6,i),CC(i,7));
        |                            ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In function ‘ducc0::detail_fft::MULPM<std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, float, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, float, float, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >)void’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:1843:22: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1843 |   {  a=c*e+d*f; b=c*f-d*e; }
        |                   ~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::rfftp_complexify<float>::exec_<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*, unsigned long) conststd::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2891:27: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2891 |           auto xe = res[i]+res[xi].conj();
        |                     ~~~~~~^~~~~~~~~~~~~~~
  [19/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/python/misc_pymod.cc.o -MF CMakeFiles/ducc0.dir/python/misc_pymod.cc.o.d -o CMakeFiles/ducc0.dir/python/misc_pymod.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/misc_pymod.cc
  In file included from /usr/include/c++/15/experimental/simd:74,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:67,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:34,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/misc_pymod.cc:37:
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator+(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:38:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)> [with auto:896 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                              ~~~~~~~~^~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator>(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:34:   required from ‘void ducc0::coupling_matrix_spin0and2_pure(const detail_mav::cmav<double, 3>&, size_t, const detail_mav::vmav<Tout, 4>&, size_t) [with Tout = float; size_t = long unsigned int]’
    471 |         Tsimd xdenom1 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2-1.)*(el2+2.))), Tsimd(0.)),
        |                               ~~~^~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/misc_pymod.cc:1357:39:   required from ‘ducc0::detail_pybind::NpArr ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_pure(const ducc0::detail_pybind::CNpArr&, size_t, size_t, ducc0::detail_pybind::OptNpArr&) [with Tout = float; ducc0::detail_pybind::NpArr = pybind11::array; ducc0::detail_pybind::CNpArr = pybind11::array; size_t = long unsigned int; ducc0::detail_pybind::OptNpArr = std::optional<pybind11::array>]’
   1357 |   coupling_matrix_spin0and2_pure<Tout>(spec, lmax, mat, nthreads);
        |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/misc_pymod.cc:1369:46:   required from here
   1369 |     Py2_coupling_matrix_spin0and2_pure<float>(spec_, lmax, nthreads, mat__) :
        |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:5645:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5645 |     operator>(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:68:   required from ‘void ducc0::coupling_matrix_spin0and2_pure(const detail_mav::cmav<double, 3>&, size_t, const detail_mav::vmav<Tout, 4>&, size_t) [with Tout = float; size_t = long unsigned int]’
    471 |         Tsimd xdenom1 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2-1.)*(el2+2.))), Tsimd(0.)),
        |                                                                ~~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/misc_pymod.cc:1357:39:   required from ‘ducc0::detail_pybind::NpArr ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_pure(const ducc0::detail_pybind::CNpArr&, size_t, size_t, ducc0::detail_pybind::OptNpArr&) [with Tout = float; ducc0::detail_pybind::NpArr = pybind11::array; ducc0::detail_pybind::CNpArr = pybind11::array; size_t = long unsigned int; ducc0::detail_pybind::OptNpArr = std::optional<pybind11::array>]’
   1357 |   coupling_matrix_spin0and2_pure<Tout>(spec, lmax, mat, nthreads);
        |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/misc_pymod.cc:1369:46:   required from here
   1369 |     Py2_coupling_matrix_spin0and2_pure<float>(spec_, lmax, nthreads, mat__) :
        |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)> [with auto:896 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<double, simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = simd_abi::_VecBuiltin<8>; _R = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:488:37:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    488 |           = _V(-0.f) & static_simd_cast<_V>((1 + __f._M_quadrant) << 30);
        |                        ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)> [with auto:896 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   3267 |   static_simd_cast(const simd<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)> [with auto:896 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:89:
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::sqrt(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:50:   required from ‘void ducc0::coupling_matrix_spin0and2_pure(const detail_mav::cmav<double, 3>&, size_t, const detail_mav::vmav<Tout, 4>&, size_t) [with Tout = float; size_t = long unsigned int]’
    471 |         Tsimd xdenom1 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2-1.)*(el2+2.))), Tsimd(0.)),
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/misc_pymod.cc:1357:39:   required from ‘ducc0::detail_pybind::NpArr ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_pure(const ducc0::detail_pybind::CNpArr&, size_t, size_t, ducc0::detail_pybind::OptNpArr&) [with Tout = float; ducc0::detail_pybind::NpArr = pybind11::array; ducc0::detail_pybind::CNpArr = pybind11::array; size_t = long unsigned int; ducc0::detail_pybind::OptNpArr = std::optional<pybind11::array>]’
   1357 |   coupling_matrix_spin0and2_pure<Tout>(spec, lmax, mat, nthreads);
        |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/misc_pymod.cc:1369:46:   required from here
   1369 |     Py2_coupling_matrix_spin0and2_pure<float>(spec_, lmax, nthreads, mat__) :
        |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:1274:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1274 | _GLIBCXX_SIMD_MATH_CALL_(sqrt)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi>::mask_type std::experimental::parallelism_v2::simd<_Tp, _Abi>::_S_make_mask(typename mask_type::_MemberType) [with _Tp = double; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename mask_type::_MemberType = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_MemberType]’:
  /usr/include/c++/15/experimental/bits/simd.h:5646:32:   required from ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator>(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’
   5646 |     { return simd::_S_make_mask(_Impl::_S_less(__y._M_data, __x._M_data)); }
        |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:34:   required from ‘void ducc0::coupling_matrix_spin0and2_pure(const detail_mav::cmav<double, 3>&, size_t, const detail_mav::vmav<Tout, 4>&, size_t) [with Tout = float; size_t = long unsigned int]’
    471 |         Tsimd xdenom1 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2-1.)*(el2+2.))), Tsimd(0.)),
        |                               ~~~^~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/misc_pymod.cc:1357:39:   required from ‘ducc0::detail_pybind::NpArr ducc0::detail_pymodule_misc::Py2_coupling_matrix_spin0and2_pure(const ducc0::detail_pybind::CNpArr&, size_t, size_t, ducc0::detail_pybind::OptNpArr&) [with Tout = float; ducc0::detail_pybind::NpArr = pybind11::array; ducc0::detail_pybind::CNpArr = pybind11::array; size_t = long unsigned int; ducc0::detail_pybind::OptNpArr = std::optional<pybind11::array>]’
   1357 |   coupling_matrix_spin0and2_pure<Tout>(spec, lmax, mat, nthreads);
        |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/misc_pymod.cc:1369:46:   required from here
   1369 |     Py2_coupling_matrix_spin0and2_pure<float>(spec_, lmax, nthreads, mat__) :
        |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:5689:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5689 |     _S_make_mask(typename mask_type::_MemberType __k)
        |     ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::abs(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)> [with auto:896 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:864:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    864 | _GLIBCXX_SIMD_MATH_CALL_(abs)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr typename _R::mask_type std::experimental::parallelism_v2::__proposed::static_simd_cast(const std::experimental::parallelism_v2::simd_mask<_Up, _Abi>&) [with _Tp = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>; _R = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename _R::mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:5028:48:   required from ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’
   5028 |           return static_simd_cast<simd_mask<_Up, _A2>>(_M_data);
        |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)> [with auto:896 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:896&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:3284:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   3284 |   static_simd_cast(const simd_mask<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:18: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                  ^
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:499:26: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    499 |             return __r ^ __sign_flip;
        |                          ^~~~~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:73:
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:14: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |              ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:371:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    371 |         __r._M_x -= __y * 0x1.921FB54443000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:378:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    378 |         __r._M_x -= __y * 0x1.921FB40000000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >& std::experimental::parallelism_v2::operator-=(simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5595:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5595 |     { return __lhs = __lhs - __x; }
        |                              ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In member function ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<_Tp, _Ap> std::experimental::parallelism_v2::__float_bitwise_operators::operator^(const std::experimental::parallelism_v2::simd<_Tp, _Ap>&, const std::experimental::parallelism_v2::simd<_Tp, _Ap>&) [with _Tp = double; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5714:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5714 |   operator^(const simd<_Tp, _Ap>& __a, const simd<_Tp, _Ap>& __b)
        |   ^~~~~~~~
  In file included from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/python/misc_pymod.cc:39:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         Tsimd xdenom1 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2-1.)*(el2+2.))), Tsimd(0.)),
        |                         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:72: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         Tsimd xdenom1 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2-1.)*(el2+2.))), Tsimd(0.)),
        |                                                               ~~~~~~~~~^~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    472 |               xdenom2 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2+2.)*(el2+1.)*el2*(el2-1.))), Tsimd(0.));
        |                         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:85: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    472 |               xdenom2 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2+2.)*(el2+1.)*el2*(el2-1.))), Tsimd(0.));
        |                                                               ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator>(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5645:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5645 |     operator>(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::sqrt(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:1274:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1274 | _GLIBCXX_SIMD_MATH_CALL_(sqrt)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h: In function ‘T ducc0::detail_simd::blend(M, T, T) [with M = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    113 | template<typename M, typename T> T blend(M mask, T a, T b)
        |                                    ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         Tsimd xdenom1 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2-1.)*(el2+2.))), Tsimd(0.)),
        |                         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:72: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         Tsimd xdenom1 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2-1.)*(el2+2.))), Tsimd(0.)),
        |                                                               ~~~~~~~~~^~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    472 |               xdenom2 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2+2.)*(el2+1.)*el2*(el2-1.))), Tsimd(0.));
        |                         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:85: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    472 |               xdenom2 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2+2.)*(el2+1.)*el2*(el2-1.))), Tsimd(0.));
        |                                                               ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::__fold_input<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::experimental::parallelism_v2::_Folded<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:380:25: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    380 |         __r._M_x -= __y * 0x1.8469898CC5170p-48;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:57: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                                              ~~~~~~~~~~~^~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h: In function ‘ducc0::detail_simd::blend<std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >(std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >)std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    113 | template<typename M, typename T> T blend(M mask, T a, T b)
        |                                    ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h: In member function ‘ducc0::coupling_matrix_spin0and2_pure<float>(ducc0::detail_mav::cmav<double, 3ul> const&, unsigned long, ducc0::detail_mav::vmav<float, 4ul> const&, unsigned long)::{lambda(ducc0::detail_threading::Scheduler&)#1}::operator()(ducc0::detail_threading::Scheduler&) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         Tsimd xdenom1 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2-1.)*(el2+2.))), Tsimd(0.)),
        |                         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    472 |               xdenom2 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2+2.)*(el2+1.)*el2*(el2-1.))), Tsimd(0.));
        |                         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h: In member function ‘ducc0::coupling_matrix_spin0and2_pure<double>(ducc0::detail_mav::cmav<double, 3ul> const&, unsigned long, ducc0::detail_mav::vmav<double, 4ul> const&, unsigned long)::{lambda(ducc0::detail_threading::Scheduler&)#1}::operator()(ducc0::detail_threading::Scheduler&) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         Tsimd xdenom1 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2-1.)*(el2+2.))), Tsimd(0.)),
        |                         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    472 |               xdenom2 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2+2.)*(el2+1.)*el2*(el2-1.))), Tsimd(0.));
        |                         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  [20/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/infra/string_utils.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/infra/string_utils.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/infra/string_utils.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/string_utils.cc
  [21/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder_inst1.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder_inst1.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder_inst1.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst1.cc
  In file included from /usr/include/c++/15/experimental/simd:74,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:67,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:49,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst1.cc:1:
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator+(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:38:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                              ~~~~~~~~^~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:386:24:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    386 |         const _V __y_lo = __y - __y_hi;
        |                           ~~~~^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:89:
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::abs(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:864:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    864 | _GLIBCXX_SIMD_MATH_CALL_(abs)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi>::mask_type std::experimental::parallelism_v2::simd<_Tp, _Abi>::_S_make_mask(typename mask_type::_MemberType) [with _Tp = double; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename mask_type::_MemberType = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_MemberType]’:
  /usr/include/c++/15/experimental/bits/simd.h:5636:32:   required from ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’
   5636 |     { return simd::_S_make_mask(_Impl::_S_less(__x._M_data, __y._M_data)); }
        |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5689:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5689 |     _S_make_mask(typename mask_type::_MemberType __k)
        |     ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::nearbyint(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:1281:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1281 | _GLIBCXX_SIMD_MATH_CALL_(nearbyint)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr typename _R::mask_type std::experimental::parallelism_v2::__proposed::static_simd_cast(const std::experimental::parallelism_v2::simd_mask<_Up, _Abi>&) [with _Tp = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>; _R = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename _R::mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:5028:48:   required from ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’
   5028 |           return static_simd_cast<simd_mask<_Up, _A2>>(_M_data);
        |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:3284:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   3284 |   static_simd_cast(const simd_mask<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator*(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1211:41:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1211 |                     mysimd<Tacc> tmpr=vr*ku[cu], tmpi=vi*ku[cu];
        |                                       ~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1237:38:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2grid_c(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1237 |       x2grid_c_helper<maxsupp, wgrid>(supp, grid, p0, w0);
        |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1438:25:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1438 |           x2grid_c<true>(grid, pl, w);
        |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5615:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5615 |     operator*(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator+(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:488:41:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    488 |           = _V(-0.f) & static_simd_cast<_V>((1 + __f._M_quadrant) << 30);
        |                                             ~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<_Tp, _Ap> std::experimental::parallelism_v2::__float_bitwise_operators::operator^(const std::experimental::parallelism_v2::simd<_Tp, _Ap>&, const std::experimental::parallelism_v2::simd<_Tp, _Ap>&) [with _Tp = float; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:499:17:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    499 |             return __r ^ __sign_flip;
        |                    ~~~~^~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5714:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5714 |   operator^(const simd<_Tp, _Ap>& __a, const simd<_Tp, _Ap>& __b)
        |   ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:534:36:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::sin(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    534 |           = (__x ^ static_simd_cast<_V>(1 - __f._M_quadrant)) & _V(_Tp(-0.));
        |                                         ~~^~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:106:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    106 |     auto vsin = sin(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:271:31:   required from ‘void ducc0::detail_gridding_kernel::TemplateKernel<W, Tsimd>::eval2s(T, T, T, size_t, Tsimd*) const [with long unsigned int W = 8; Tsimd = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; T = float; size_t = long unsigned int]’
    271 |       auto tmpx = Tsimd(tvalx2-tvalx*x)*zfac;
        |                         ~~~~~~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1010:24:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::HelperX2g2<supp, wgrid>::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1010 |             tkrn.eval2s(Tacc(x0), Tacc(y0), Tacc(xdw*(w0-in.w)), nth, &buf.simd[0]);
        |             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1185:25:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2grid_c_helper(size_t, const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1185 |                 hlp.prep(coord, nth);
        |                 ~~~~~~~~^~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1237:38:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2grid_c(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1237 |       x2grid_c_helper<maxsupp, wgrid>(supp, grid, p0, w0);
        |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1438:25:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1438 |           x2grid_c<true>(grid, pl, w);
        |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator>=(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:476:8:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    476 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 393382)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5649:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5649 |     operator>=(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<float, simd_abi::_VecBuiltin<16> >; _Up = double; _Ap = simd_abi::_Fixed<4>; _R = simd<float, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:477:33:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    477 |             return static_simd_cast<_V>(
        |                    ~~~~~~~~~~~~~~~~~~~~^
    478 |               cos(static_simd_cast<rebind_simd_t<double, _V>>(__x)));
        |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   3267 |   static_simd_cast(const simd<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::experimental::parallelism_v2::_Folded<float, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd_math.h:308:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::_Folded<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    308 |   __fold_input(const simd<float, _Abi>& __x)
        |   ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:327:9:   required from ‘std::experimental::parallelism_v2::_Folded<float, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    327 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::experimental::parallelism_v2::_Folded<float, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd_math.h:347:12: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::_Folded<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    347 |     return __r;
        |            ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<int, simd_abi::_VecBuiltin<16> >; _Up = float; _Ap = simd_abi::_VecBuiltin<16>; _R = simd<int, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:332:41:   required from ‘std::experimental::parallelism_v2::_Folded<float, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    332 |         __r._M_quadrant = static_simd_cast<_IV>(__y) & 3; // __y mod 4
        |                           ~~~~~~~~~~~~~~~~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   3267 |   static_simd_cast(const simd<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<float, simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = simd_abi::_VecBuiltin<16>; _R = simd<float, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:488:37:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    488 |           = _V(-0.f) & static_simd_cast<_V>((1 + __f._M_quadrant) << 30);
        |                        ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   3267 |   static_simd_cast(const simd<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator==(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:490:48:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~~~~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5624:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5624 |     operator==(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr _V std::experimental::parallelism_v2::_SimdIntOperators<_V, _Tp, _Abi, true>::_S_make_derived(_Up&&) [with _Up = std::experimental::parallelism_v2::_SimdWrapper<int, 4, void>; _V = std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5340:48:   required from ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator&(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’
   5340 |       return _SimdIntOperators::_S_make_derived(
        |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   5341 |         _Impl::_S_bit_and(__data(__x), __data(__y)));
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:490:43:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5284:7: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5284 |       _S_make_derived(_Up&& __d)
        |       ^~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::experimental::parallelism_v2::simd<float, _Abi> std::experimental::parallelism_v2::__cosSeries(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:492:36:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    492 |           return __sign_flip ^ __cosSeries(__f._M_x);
        |                                ~~~~~~~~~~~^~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd_math.h:194:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    194 |   __cosSeries(const simd<float, _Abi>& __x)
        |   ^~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = float; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/string:51,
                   from /usr/include/c++/15/bits/locale_classes.h:42,
                   from /usr/include/c++/15/bits/ios_base.h:43,
                   from /usr/include/c++/15/ios:46,
                   from /usr/include/c++/15/istream:42,
                   from /usr/include/c++/15/sstream:42,
                   from /usr/include/c++/15/complex:50,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:24:
  /usr/include/c++/15/bits/stl_function.h: In instantiation of ‘constexpr decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) std::plus<void>::operator()(_Tp&&, _Up&&) const [with _Tp = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>&; _Up = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>; decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1708:27:   required from ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = float; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’
   1708 |               __acc = __binary_op(__acc, simd<_Tp, simd_abi::scalar>(__x[__i]));
        |                       ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:3912:38:   required from ‘constexpr _Tp std::experimental::parallelism_v2::reduce(const simd<_Tp, _Ap>&, _BinaryOperation) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; _BinaryOperation = std::plus<void>]’
   3912 |   { return _Abi::_SimdImpl::_S_reduce(__v, __binary_op); }
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:115:29:   required from ‘std::complex<_Tp> ducc0::detail_gridder::hsum_cmplx(mysimd<T>, mysimd<T>) [with T = float; mysimd<T> = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
    115 |   { return complex<T>(reduce(vr, plus<>()), reduce(vi, plus<>())); }
        |                       ~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1320:43:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1320 |                 auto r = hsum_cmplx<Tcalc>(rr,ri);
        |                          ~~~~~~~~~~~~~~~~~^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1339:38:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2x_c(const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1339 |       grid2x_c_helper<maxsupp, wgrid>(supp, grid, p0, w0);
        |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1478:25:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1478 |           grid2x_c<true>(grid, pl, w);
        |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:30:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                              ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/bits/stl_function.h:251:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
    251 |         operator()(_Tp&& __t, _Up&& __u) const
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:77:
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi> std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_M_make_simd(std::experimental::parallelism_v2::__intrinsic_type_t<_Tp, _Np>) [with _Tp = float; long unsigned int _Np = 4; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>; std::experimental::parallelism_v2::__intrinsic_type_t<_Tp, _Np> = std::experimental::parallelism_v2::__intrinsic_type_impl<float>::type]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1789:29:   required from ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = float; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’
   1789 |                                   _M_make_simd<_Tp, _Np>(__vector_bitcast<_Tp>(
        |                                   ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
   1790 |                                     __vector_permute<3, 2, 1, 0>(__y))));
        |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:3912:38:   required from ‘constexpr _Tp std::experimental::parallelism_v2::reduce(const simd<_Tp, _Ap>&, _BinaryOperation) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; _BinaryOperation = std::plus<void>]’
   3912 |   { return _Abi::_SimdImpl::_S_reduce(__v, __binary_op); }
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:115:29:   required from ‘std::complex<_Tp> ducc0::detail_gridder::hsum_cmplx(mysimd<T>, mysimd<T>) [with T = float; mysimd<T> = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
    115 |   { return complex<T>(reduce(vr, plus<>()), reduce(vi, plus<>())); }
        |                       ~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1320:43:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1320 |                 auto r = hsum_cmplx<Tcalc>(rr,ri);
        |                          ~~~~~~~~~~~~~~~~~^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1339:38:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2x_c(const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1339 |       grid2x_c_helper<maxsupp, wgrid>(supp, grid, p0, w0);
        |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1478:25:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::dirty2x() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1478 |           grid2x_c<true>(grid, pl, w);
        |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:30:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                              ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1291:7: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1291 |       _M_make_simd(__intrinsic_type_t<_Tp, _Np> __x)
        |       ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi>::mask_type std::experimental::parallelism_v2::simd<_Tp, _Abi>::_S_make_mask(typename mask_type::_MemberType) [with _Tp = float; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; mask_type = std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename mask_type::_MemberType = std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_MemberType]’:
  /usr/include/c++/15/experimental/bits/simd.h:5651:32:   required from ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator>=(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’
   5651 |       return simd::_S_make_mask(_Impl::_S_less_equal(__y._M_data, __x._M_data));
        |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:476:8:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    476 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 393382)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5689:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5689 |     _S_make_mask(typename mask_type::_MemberType __k)
        |     ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::nearbyint(simd<_Tp, _Ap>) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<float, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<float, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:331:26:   required from ‘std::experimental::parallelism_v2::_Folded<float, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    331 |         const _V __y = nearbyint(__r._M_x * __2_over_pi);
        |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd_math.h:1281:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1281 | _GLIBCXX_SIMD_MATH_CALL_(nearbyint)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi>::mask_type std::experimental::parallelism_v2::simd<_Tp, _Abi>::_S_make_mask(typename mask_type::_MemberType) [with _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; mask_type = std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename mask_type::_MemberType = std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_MemberType]’:
  /usr/include/c++/15/experimental/bits/simd.h:5625:32:   required from ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator==(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’
   5625 |     { return simd::_S_make_mask(_Impl::_S_equal_to(__x._M_data, __y._M_data)); }
        |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:490:48:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~~~~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5689:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5689 |     _S_make_mask(typename mask_type::_MemberType __k)
        |     ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr typename _R::mask_type std::experimental::parallelism_v2::__proposed::static_simd_cast(const std::experimental::parallelism_v2::simd_mask<_Up, _Abi>&) [with _Tp = std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; _R = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename _R::mask_type = std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:5028:48:   required from ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = float; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’
   5028 |           return static_simd_cast<simd_mask<_Up, _A2>>(_M_data);
        |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:3284:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   3284 |   static_simd_cast(const simd_mask<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::sin(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1578:5:   required from ‘std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10> >::_S_sin<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >(const std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&)::<lambda(auto:213, auto:214)> [with auto:213 = std::experimental::parallelism_v2::__tuple_element_meta<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, 0>; auto:214 = std::experimental::parallelism_v2::_SimdWrapper<double, 2, void>]’
   1578 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, sin)
        |     ^
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:526:28:   required from ‘constexpr std::experimental::parallelism_v2::_SimdTuple<_Tp, _A0, _As ...> std::experimental::parallelism_v2::_SimdTuple<_Tp, _A0, _As ...>::_M_apply_per_chunk(_Fp&&, _More&& ...) const [with _Fp = std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10> >::_S_sin<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >(const std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&)::<lambda(auto:213, auto:214)>; _More = {}; _Tp = double; _Abi0 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; _Abis = {std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>}]’
    526 |             auto&& __first = __fun(__tuple_element_meta<_Tp, _Abi0, 0>(), first,
        |                              ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    527 |                                    _M_extract_argument(__more)...);
        |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1578:5:   required from ‘static std::experimental::parallelism_v2::__fixed_size_storage_t<_Tp, _Np> std::experimental::parallelism_v2::_SimdImplFixedSize<_Np, <template-parameter-1-2> >::_S_sin(const std::experimental::parallelism_v2::_SimdTuple<_Tp, _As ...>&, const _More& ...) [with _Tp = double; _As = {std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>}; _More = {}; int _Np = 4; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>; std::experimental::parallelism_v2::__fixed_size_storage_t<_Tp, _Np> = std::experimental::parallelism_v2::__fixed_size_storage_builder<double, 2, std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, 0>::type]’
   1578 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, sin)
        |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:518:54:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::sin(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_Fixed<4>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_Fixed<4> >]’
    518 |       return {__private_init, _Abi::_SimdImpl::_S_sin(__data(__x))};
        |                               ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:524:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = float; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd_math.h:514:3: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    514 |   sin(const simd<_Tp, _Abi>& __x)
        |   ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1193:32: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1193 |                   mysimd<Tacc> vr=v.real()*kv[0], vi=v.imag()*imflip*kv[0];
        |                                ^~
  In file included from /usr/include/c++/15/experimental/simd:73:
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:476:15: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    476 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 393382)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:476:15: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    476 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 393382)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:476:15: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    476 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 393382)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:478:68: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    478 |               cos(static_simd_cast<rebind_simd_t<double, _V>>(__x)));
        |                                                                    ^
  /usr/include/c++/15/experimental/bits/simd_math.h:480:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::_Folded<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    480 |         const auto __f = __fold_input(__x);
        |                    ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:487:18: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    487 |         const _V __sign_flip
        |                  ^~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:488:67: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    488 |           = _V(-0.f) & static_simd_cast<_V>((1 + __f._M_quadrant) << 30);
        |                                             ~~~~~~~~~~~~~~~~~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:488:44: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    488 |           = _V(-0.f) & static_simd_cast<_V>((1 + __f._M_quadrant) << 30);
        |                        ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:490:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                    ^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:490:50: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~^~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:490:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                    ^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:492:52: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    492 |           return __sign_flip ^ __cosSeries(__f._M_x);
        |                                                    ^
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:499:26: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    499 |             return __r ^ __sign_flip;
        |                          ^~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator>=(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5649:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5649 |     operator>=(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:75:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h: In lambda function:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1577:5: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1577 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, cos)
        |     ^
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:499:26: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    499 |             return __r ^ __sign_flip;
        |                          ^~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:14: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |              ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:371:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    371 |         __r._M_x -= __y * 0x1.921FB54443000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:378:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    378 |         __r._M_x -= __y * 0x1.921FB40000000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >& std::experimental::parallelism_v2::operator-=(simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5595:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5595 |     { return __lhs = __lhs - __x; }
        |                              ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In member function ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<_Tp, _Ap> std::experimental::parallelism_v2::__float_bitwise_operators::operator^(const std::experimental::parallelism_v2::simd<_Tp, _Ap>&, const std::experimental::parallelism_v2::simd<_Tp, _Ap>&) [with _Tp = double; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5714:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5714 |   operator^(const simd<_Tp, _Ap>& __a, const simd<_Tp, _Ap>& __b)
        |   ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<float, simd_abi::_VecBuiltin<16> >; _Up = double; _Ap = simd_abi::_Fixed<4>; _R = simd<float, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   3267 |   static_simd_cast(const simd<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::_Folded<float, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:308:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::_Folded<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    308 |   __fold_input(const simd<float, _Abi>& __x)
        |   ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:314:5: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    314 |     __r._M_x = abs(__x);
        |     ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:327:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    327 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:331:18: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    331 |         const _V __y = nearbyint(__r._M_x * __2_over_pi);
        |                  ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:332:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    332 |         __r._M_quadrant = static_simd_cast<_IV>(__y) & 3; // __y mod 4
        |         ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:333:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    333 |         __r._M_x -= __y * __pi_2_5bits0;
        |                     ~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:343:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    343 |         __r._M_quadrant = static_simd_cast<_IV>(__y) & 3; // = __y mod 4
        |         ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:344:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    344 |         __r._M_x = static_simd_cast<_V>(__xd - __y * __pi_2);
        |         ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:347:12: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::_Folded<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    347 |     return __r;
        |            ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::nearbyint(simd<_Tp, _Ap>) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<float, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:1281:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1281 | _GLIBCXX_SIMD_MATH_CALL_(nearbyint)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<int, simd_abi::_VecBuiltin<16> >; _Up = float; _Ap = simd_abi::_VecBuiltin<16>; _R = simd<int, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   3267 |   static_simd_cast(const simd<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >& std::experimental::parallelism_v2::operator-=(simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5595:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5595 |     { return __lhs = __lhs - __x; }
        |                              ^~~
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h: In lambda function:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1611:5: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1611 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, nearbyint)
        |     ^
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<int, simd_abi::_VecBuiltin<16> >; _Up = double; _Ap = simd_abi::_Fixed<4>; _R = simd<int, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   3267 |   static_simd_cast(const simd<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<float, simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = simd_abi::_VecBuiltin<16>; _R = simd<float, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator&(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5338:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5338 |     operator&(const _V& __x, const _V& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator==(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5624:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5624 |     operator==(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::simd<float, _Abi> std::experimental::parallelism_v2::__sinSeries(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:224:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    224 |   __sinSeries(const simd<float, _Abi>& __x)
        |   ^~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In member function ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = float; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In static member function ‘static constexpr auto std::experimental::parallelism_v2::_MaskImplBuiltin<_Abi, <template-parameter-1-2> >::_S_convert(std::experimental::parallelism_v2::simd_mask<_Up, _UAbi>) [with _Tp = float; _Up = int; _UAbi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:2648:7: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2648 |       _S_convert(simd_mask<_Up, _UAbi> __x)
        |       ^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<_Tp, _Ap> std::experimental::parallelism_v2::__float_bitwise_operators::operator^(const std::experimental::parallelism_v2::simd<_Tp, _Ap>&, const std::experimental::parallelism_v2::simd<_Tp, _Ap>&) [with _Tp = float; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5714:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5714 |   operator^(const simd<_Tp, _Ap>& __a, const simd<_Tp, _Ap>& __b)
        |   ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::sin(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:522:15: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    522 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 527449)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:522:15: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    522 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 527449)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:522:15: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    522 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 527449)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:524:68: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    524 |               sin(static_simd_cast<rebind_simd_t<double, _V>>(__x)));
        |                                                                    ^
  /usr/include/c++/15/experimental/bits/simd_math.h:526:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::_Folded<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    526 |         const auto __f = __fold_input(__x);
        |                    ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:533:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    533 |         const auto __sign_flip
        |                    ^~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:534:43: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    534 |           = (__x ^ static_simd_cast<_V>(1 - __f._M_quadrant)) & _V(_Tp(-0.));
        |                                         ~~^~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:534:40: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    534 |           = (__x ^ static_simd_cast<_V>(1 - __f._M_quadrant)) & _V(_Tp(-0.));
        |                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:536:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    536 |         const auto __need_sin = (__f._M_quadrant & 1) == 0;
        |                    ^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:536:50: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    536 |         const auto __need_sin = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~^~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:536:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    536 |         const auto __need_sin = (__f._M_quadrant & 1) == 0;
        |                    ^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:538:52: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    538 |           return __sign_flip ^ __sinSeries(__f._M_x);
        |                                                    ^
  /usr/include/c++/15/experimental/bits/simd_math.h:544:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    544 |             where(__need_sin.__cvt(), __r) = __sinSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:545:34: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    545 |             return __sign_flip ^ __r;
        |                                  ^~~
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h: In lambda function:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1578:5: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1578 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, sin)
        |     ^
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::sin(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:544:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    544 |             where(__need_sin.__cvt(), __r) = __sinSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:545:34: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    545 |             return __sign_flip ^ __r;
        |                                  ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  In file included from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:51:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘void ducc0::detail_gridding_kernel::TemplateKernel<W, Tsimd>::eval2s(T, T, T, size_t, Tsimd*) const [with long unsigned int W = 4; Tsimd = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:261:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    261 |         tvalx = tvalx*x2 + Tvl(coeff[j*nvec_eval]);
        |         ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:18: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                  ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1193:32: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1193 |                   mysimd<Tacc> vr=v.real()*kv[0], vi=v.imag()*imflip*kv[0];
        |                                ^~
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In static member function ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = float; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1708:15: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1708 |               __acc = __binary_op(__acc, simd<_Tp, simd_abi::scalar>(__x[__i]));
        |               ^~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1788:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1788 |                 __x = __binary_op(__x,
        |                 ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘std::experimental::parallelism_v2::operator+=(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5591:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5591 |     { return __lhs = __lhs + __x; }
        |                      ~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::__fold_input<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::experimental::parallelism_v2::_Folded<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:380:25: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    380 |         __r._M_x -= __y * 0x1.8469898CC5170p-48;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:57: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                                              ~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘std::experimental::parallelism_v2::operator*=(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5599:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5599 |     { return __lhs = __lhs * __x; }
        |                      ~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h: In member function ‘std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_nearbyint<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)::{lambda(auto:1, auto:2)#1}::operator()<std::experimental::parallelism_v2::__tuple_element_meta<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, 0ul>, std::experimental::parallelism_v2::_SimdWrapper<double, 2ul, void> >(std::experimental::parallelism_v2::__tuple_element_meta<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, 0ul>, std::experimental::parallelism_v2::_SimdWrapper<double, 2ul, void>) constauto’:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1611:5: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1611 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, nearbyint)
        |     ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘ducc0::detail_gridding_kernel::TemplateKernel<4ul, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::eval2s(float, float, float, unsigned long, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:265:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    265 |         tvaly2 = tvaly2*y2 + Tvl(coeff[(j+1)*nvec_eval]);
        |                  ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::sin<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:534:63: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    534 |           = (__x ^ static_simd_cast<_V>(1 - __f._M_quadrant)) & _V(_Tp(-0.));
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:544:35: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    544 |             where(__need_sin.__cvt(), __r) = __sinSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:544:57: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    544 |             where(__need_sin.__cvt(), __r) = __sinSeries(__f._M_x);
        |                                              ~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::__fold_input<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::experimental::parallelism_v2::_Folded<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’:
  /usr/include/c++/15/experimental/bits/simd_math.h:327:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    327 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:314:19: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    314 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:329:14: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    329 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 6 * __pi_over_4)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:334:25: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    334 |         __r._M_x -= __y * __pi_2_5bits0_rem;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:332:54: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    332 |         __r._M_quadrant = static_simd_cast<_IV>(__y) & 3; // __y mod 4
        |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:331:33: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    331 |         const _V __y = nearbyint(__r._M_x * __2_over_pi);
        |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:343:54: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    343 |         __r._M_quadrant = static_simd_cast<_IV>(__y) & 3; // = __y mod 4
        |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::cos<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<float>, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:476:15: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    476 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 393382)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:476:15: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    476 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 393382)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:490:55: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~~~~~~^~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:490:50: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~^~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:488:22: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    488 |           = _V(-0.f) & static_simd_cast<_V>((1 + __f._M_quadrant) << 30);
        |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:488:67: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    488 |           = _V(-0.f) & static_simd_cast<_V>((1 + __f._M_quadrant) << 30);
        |                                             ~~~~~~~~~~~~~~~~~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:38: note: parameter passing for argument of type ‘struct _Folded’ when C++17 is enabled changed to match C++14 in GCC 10.1
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:492:43: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    492 |           return __sign_flip ^ __cosSeries(__f._M_x);
        |                                ~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:57: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                                              ~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::sin<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<float>, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:522:15: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    522 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 527449)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:522:15: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    522 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 527449)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:536:55: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    536 |         const auto __need_sin = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~~~~~~^~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:536:50: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    536 |         const auto __need_sin = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~^~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:534:63: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    534 |           = (__x ^ static_simd_cast<_V>(1 - __f._M_quadrant)) & _V(_Tp(-0.));
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:534:43: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    534 |           = (__x ^ static_simd_cast<_V>(1 - __f._M_quadrant)) & _V(_Tp(-0.));
        |                                         ~~^~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:526:38: note: parameter passing for argument of type ‘struct _Folded’ when C++17 is enabled changed to match C++14 in GCC 10.1
    526 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:538:43: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    538 |           return __sign_flip ^ __sinSeries(__f._M_x);
        |                                ~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:544:35: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    544 |             where(__need_sin.__cvt(), __r) = __sinSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:544:57: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    544 |             where(__need_sin.__cvt(), __r) = __sinSeries(__f._M_x);
        |                                              ~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:468:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    468 |   cos(const simd<_Tp, _Abi>& __x)
        |   ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::cos<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<float>, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:468:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /usr/include/c++/15/experimental/bits/simd_math.h:468:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /usr/include/c++/15/experimental/bits/simd_math.h:468:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  In member function ‘std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)::{lambda(auto:1, auto:2)#1}::operator()<std::experimental::parallelism_v2::__tuple_element_meta<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, 0ul>, std::experimental::parallelism_v2::_SimdWrapper<double, 2ul, void> >(std::experimental::parallelism_v2::__tuple_element_meta<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, 0ul>, std::experimental::parallelism_v2::_SimdWrapper<double, 2ul, void>) constauto’,
      inlined from ‘std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_M_apply_per_chunk<std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)::{lambda(auto:1, auto:2)#1}>(std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)::{lambda(auto:1, auto:2)#1}&&) conststd::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ at /usr/include/c++/15/experimental/bits/simd_fixed_size.h:526:28,
      inlined from ‘std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::experimental::parallelism_v2::__fixed_size_storage<double, 4>::type’ at /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1577:5,
      inlined from ‘std::experimental::parallelism_v2::cos<double, std::experimental::parallelism_v2::simd_abi::_Fixed<4>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Fixed<4> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Fixed<4> > >::type’ at /usr/include/c++/15/experimental/bits/simd_math.h:472:54,
      inlined from ‘std::experimental::parallelism_v2::cos<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<float>, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’ at /usr/include/c++/15/experimental/bits/simd_math.h:478:11:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1577:5: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1577 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, cos)
        |     ^
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::sin<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<float>, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:514:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    514 |   sin(const simd<_Tp, _Abi>& __x)
        |   ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:514:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /usr/include/c++/15/experimental/bits/simd_math.h:514:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  In member function ‘std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_sin<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)::{lambda(auto:1, auto:2)#1}::operator()<std::experimental::parallelism_v2::__tuple_element_meta<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, 0ul>, std::experimental::parallelism_v2::_SimdWrapper<double, 2ul, void> >(std::experimental::parallelism_v2::__tuple_element_meta<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, 0ul>, std::experimental::parallelism_v2::_SimdWrapper<double, 2ul, void>) constauto’,
      inlined from ‘std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_M_apply_per_chunk<std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_sin<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)::{lambda(auto:1, auto:2)#1}>(std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_sin<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)::{lambda(auto:1, auto:2)#1}&&) conststd::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ at /usr/include/c++/15/experimental/bits/simd_fixed_size.h:526:28,
      inlined from ‘std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_sin<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::experimental::parallelism_v2::__fixed_size_storage<double, 4>::type’ at /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1578:5,
      inlined from ‘std::experimental::parallelism_v2::sin<double, std::experimental::parallelism_v2::simd_abi::_Fixed<4>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Fixed<4> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Fixed<4> > >::type’ at /usr/include/c++/15/experimental/bits/simd_math.h:518:54,
      inlined from ‘std::experimental::parallelism_v2::sin<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<float>, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’ at /usr/include/c++/15/experimental/bits/simd_math.h:524:11:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1578:5: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1578 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, sin)
        |     ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h: In function ‘ducc0::detail_gridder::expi<float, ducc0::detail_gridder::Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2ul> >::compute_phases(std::vector<std::complex<float>, std::allocator<std::complex<float> > >&, std::vector<float, std::allocator<float> >&, float, ducc0::detail_gridder::UVW const&, ducc0::detail_gridder::RowchanRange const&)::{lambda(unsigned long)#1}>(std::vector<std::complex<float>, std::allocator<std::complex<float> > >&, std::vector<float, std::allocator<float> >&, ducc0::detail_gridder::Wgridder<float, float, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2ul> >::compute_phases(std::vector<std::complex<float>, std::allocator<std::complex<float> > >&, std::vector<float, std::allocator<float> >&, float, ducc0::detail_gridder::UVW const&, ducc0::detail_gridder::RowchanRange const&)::{lambda(unsigned long)#1})void’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:94:52: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
     94 | template<typename T, typename F> [[gnu::hot]] void expi(vector<complex<T>> &res, vector<T> &buf, F getang)
        |                                                    ^~~~
  [22/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/infra/threading.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/infra/threading.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/infra/threading.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/threading.cc
  [23/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/infra/mav.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/infra/mav.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/infra/mav.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/mav.cc
  [24/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/fft/fft_inst2.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/fft/fft_inst2.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/fft/fft_inst2.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft_inst2.cc
  In file included from /usr/include/c++/15/experimental/simd:74,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:67,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:71,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft_inst2.cc:1:
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator+(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:653:29:   required from ‘T* ducc0::detail_fft::T_dcst23<T0>::exec(T*, T*, T0, bool, int, bool, size_t) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; T0 = double; size_t = long unsigned int]’
    653 |           c[k] = T0(0.5)*(t1+t2); c[kc]=T0(0.5)*(t1-t2);
        |                          ~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:985:25:   required from ‘void ducc0::detail_fft::ExecDcst::operator()(const Titer&, const ducc0::detail_mav::cfmav<T>&, const ducc0::detail_mav::vfmav<T>&, Tstorage&, const Tplan&, T0, size_t, bool) const [with T0 = double; Tstorage = ducc0::detail_fft::TmpStorage2<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, double, double>; Tplan = ducc0::detail_fft::T_dcst23<double>; Titer = ducc0::detail_fft::multi_iter<16>; size_t = long unsigned int]’
    985 |     auto res = plan.exec(buf2, buf1, fct, ortho, type, cosine, nthreads);
        |                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:703:21:   required from ‘void ducc0::detail_fft::general_nd(const ducc0::detail_mav::cfmav<T>&, const ducc0::detail_mav::vfmav<T1>&, const shape_t&, T0, size_t, const Exec&, bool) [with Tplan = T_dcst23<double>; T = double; T0 = double; Exec = ExecDcst; shape_t = std::vector<long unsigned int>; size_t = long unsigned int]’
    703 |                 exec(it, tin, out, storage2, *plan, fct, nth1d);
        |                 ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1441:28:   required from ‘void ducc0::detail_fft::dct(const ducc0::detail_mav::cfmav<T>&, const ducc0::detail_mav::vfmav<T>&, const shape_t&, int, T, bool, size_t) [with T = double; shape_t = std::vector<long unsigned int>; size_t = long unsigned int]’
   1441 |     general_nd<T_dcst23<T>>(in, out, axes, fct, nthreads, exec);
        |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft_inst_inc.h:26:68:   required from here
     26 |   const shape_t &axes, int type, T fct, bool ortho, size_t nthreads);
        |                                                                    ^
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  In file included from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:74:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In instantiation of ‘ducc0::Cmplx<decltype ((((const ducc0::Cmplx<T>*)this)->ducc0::Cmplx<T>::r + other.r))> ducc0::Cmplx<T>::operator*(const ducc0::Cmplx<T2>&) const [with T2 = double; T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; decltype ((((const ducc0::Cmplx<T>*)this)->r + other.r)) = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1716:19:   required from ‘void ducc0::detail_fft::ExecConv1R::operator()(const Titer&, const ducc0::detail_mav::cfmav<T>&, const ducc0::detail_mav::vfmav<T>&, Tstorage&, const ducc0::detail_fft::pocketfft_r<T0>&, const ducc0::detail_fft::pocketfft_r<T0>&, const ducc0::detail_mav::cmav<T, 1>&) const [with T0 = double; Tstorage = ducc0::detail_fft::TmpStorage2<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, double, double>; Titer = ducc0::detail_fft::multi_iter<2>]’
   1716 |       auto t3 = t1*t2;
        |                 ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1663:15:   required from ‘void ducc0::detail_fft::general_convolve_axis(const ducc0::detail_mav::cfmav<T>&, const ducc0::detail_mav::vfmav<T>&, size_t, const ducc0::detail_mav::cmav<T, 1>&, size_t, const Exec&) [with Tplan = pocketfft_r<double>; T0 = double; T = double; Exec = ExecConv1R; size_t = long unsigned int]’
   1663 |           exec(it, in, out, storage2, *plan1, *plan2, fkernel);
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1791:43:   required from ‘void ducc0::detail_fft::convolve_axis(const ducc0::detail_mav::cfmav<T>&, const ducc0::detail_mav::vfmav<T>&, size_t, const ducc0::detail_mav::cmav<T, 1>&, size_t) [with T = double; size_t = long unsigned int]’
   1791 |   general_convolve_axis<pocketfft_r<T>, T>(in, out, axis, kernel, nthreads,
        |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1792 |     ExecConv1R());
        |     ~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft_inst_inc.h:58:77:   required from here
     58 |   const vfmav<T> &out, size_t axis, const cmav<T,1> &kernel, size_t nthreads);
        |                                                                             ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:94:30: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     94 |   template<typename T2> auto operator* (const Cmplx<T2> &other) const
        |                              ^~~~~~~~
  In file included from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:78,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:76:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In function ‘void ducc0::detail_fft::special_mul(const ducc0::Cmplx<T>&, const ducc0::Cmplx<T2>&, ducc0::Cmplx<T>&) [with bool fwd = true; T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; T2 = double]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:86:28: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     86 |   res = fwd ? Cmplx<T>(v1.r*v2.r+v1.i*v2.i, v1.i*v2.r-v1.r*v2.i)
        |                        ~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In member function ‘ducc0::Cmplx<decltype ((((const ducc0::Cmplx<T>*)this)->ducc0::Cmplx<T>::r * other))> ducc0::Cmplx<T>::operator*(const T2&) const [with T2 = double; T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:85:30: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     85 |   template<typename T2> auto operator* (const T2 &other) const
        |                              ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:87:31: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     87 |     { return {r*other, i*other}; }
        |                               ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In member function ‘ducc0::Cmplx<decltype ((((const ducc0::Cmplx<T>*)this)->ducc0::Cmplx<T>::r + other.r))> ducc0::Cmplx<T>::special_mul(const ducc0::Cmplx<T2>&) const [with bool fwd = false; T2 = double; T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:97:40: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     97 |   template<bool fwd, typename T2> auto special_mul (const Cmplx<T2> &other) const
        |                                        ^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:102:24: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    102 |                : Tres(r*other.r-i*other.i, r*other.i+i*other.r);
        |                       ~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In member function ‘ducc0::Cmplx<decltype ((((const ducc0::Cmplx<T>*)this)->ducc0::Cmplx<T>::r + other.r))> ducc0::Cmplx<T>::special_mul(const ducc0::Cmplx<T2>&) const [with bool fwd = true; T2 = double; T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:97:40: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     97 |   template<bool fwd, typename T2> auto special_mul (const Cmplx<T2> &other) const
        |                                        ^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:101:24: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    101 |     return fwd ? Tres(r*other.r+i*other.i, i*other.r-r*other.i)
        |                       ~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftpblue<Tfs>::exec_(Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = false; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = double]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:1110:16: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1110 |           auto zero = akf[0]*Tfs(0);
        |                ^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In function ‘void ducc0::detail_fft::special_mul(const ducc0::Cmplx<T>&, const ducc0::Cmplx<T2>&, ducc0::Cmplx<T>&) [with bool fwd = false; T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; T2 = double]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:87:28: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     87 |             : Cmplx<T>(v1.r*v2.r-v1.i*v2.i, v1.r*v2.i+v1.i*v2.r);
        |                        ~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In function ‘void ducc0::detail_fft::PM(T&, T&, T, T) [with T = ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:78:34: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     78 | template<typename T> inline void PM(T &a, T &b, T c, T d)
        |                                  ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In member function ‘ducc0::Cmplx<decltype ((((const ducc0::Cmplx<T>*)this)->ducc0::Cmplx<T>::r + other.r))> ducc0::Cmplx<T>::operator+(const ducc0::Cmplx<T2>&) const [with T2 = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:90:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     90 |     { return {r+other.r, i+other.i}; }
        |                                   ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In member function ‘ducc0::Cmplx<decltype ((((const ducc0::Cmplx<T>*)this)->ducc0::Cmplx<T>::r + other.r))> ducc0::Cmplx<T>::operator-(const ducc0::Cmplx<T2>&) const [with T2 = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:91:30: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     91 |   template<typename T2> auto operator- (const Cmplx<T2> &other) const
        |                              ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:93:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     93 |     { return {r-other.r, i-other.i}; }
        |                                   ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftp11<Tfs>::exec_(const Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = true; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = double]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:881:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    881 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:881:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    881 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:882:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    882 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:882:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    882 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:883:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    883 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:883:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    883 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:884:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    884 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:884:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    884 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:885:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    885 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:885:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    885 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:892:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    892 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:892:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    892 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:893:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    893 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:893:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    893 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:894:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    894 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:894:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    894 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:895:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    895 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:895:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    895 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:896:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    896 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:896:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    896 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:901:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    901 |             POCKETFFT_PARTSTEP11(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:901:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    901 |             POCKETFFT_PARTSTEP11(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:902:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    902 |             POCKETFFT_PARTSTEP11(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:902:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    902 |             POCKETFFT_PARTSTEP11(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:903:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    903 |             POCKETFFT_PARTSTEP11(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:903:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    903 |             POCKETFFT_PARTSTEP11(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:904:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    904 |             POCKETFFT_PARTSTEP11(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:904:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    904 |             POCKETFFT_PARTSTEP11(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:905:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    905 |             POCKETFFT_PARTSTEP11(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:905:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    905 |             POCKETFFT_PARTSTEP11(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftp11<Tfs>::exec_(const Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = false; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = double]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:881:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    881 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:881:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    881 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:882:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    882 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:882:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    882 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:883:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    883 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:883:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    883 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:884:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    884 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:884:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    884 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:885:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    885 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:885:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    885 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:892:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    892 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:892:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    892 |           POCKETFFT_PARTSTEP11a(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:893:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    893 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:893:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    893 |           POCKETFFT_PARTSTEP11a(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:894:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    894 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:894:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    894 |           POCKETFFT_PARTSTEP11a(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:895:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    895 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:895:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    895 |           POCKETFFT_PARTSTEP11a(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:896:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    896 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:868:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    868 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,CH(0,k,u1),CH(0,k,u2))
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:896:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a’
    896 |           POCKETFFT_PARTSTEP11a(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |           ^~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:901:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    901 |             POCKETFFT_PARTSTEP11(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:901:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    901 |             POCKETFFT_PARTSTEP11(1,10,tw1r,tw2r,tw3r,tw4r,tw5r,+tw1i,+tw2i,+tw3i,+tw4i,+tw5i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:902:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    902 |             POCKETFFT_PARTSTEP11(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:902:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    902 |             POCKETFFT_PARTSTEP11(2, 9,tw2r,tw4r,tw5r,tw3r,tw1r,+tw2i,+tw4i,-tw5i,-tw3i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:903:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    903 |             POCKETFFT_PARTSTEP11(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:903:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    903 |             POCKETFFT_PARTSTEP11(3, 8,tw3r,tw5r,tw2r,tw1r,tw4r,+tw3i,-tw5i,-tw2i,+tw1i,+tw4i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:904:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    904 |             POCKETFFT_PARTSTEP11(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:904:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    904 |             POCKETFFT_PARTSTEP11(4, 7,tw4r,tw3r,tw1r,tw5r,tw2r,+tw4i,-tw3i,+tw1i,+tw5i,-tw2i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:13: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:905:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    905 |             POCKETFFT_PARTSTEP11(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:863:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    863 |         cb.i=y1*t11.r y2*t10.r y3*t9.r y4*t8.r y5*t7.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:872:9: note: in expansion of macro ‘POCKETFFT_PARTSTEP11a0’
    872 |         POCKETFFT_PARTSTEP11a0(u1,u2,x1,x2,x3,x4,x5,y1,y2,y3,y4,y5,da,db) \
        |         ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:905:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP11’
    905 |             POCKETFFT_PARTSTEP11(5, 6,tw5r,tw1r,tw4r,tw2r,tw3r,+tw5i,-tw1i,+tw4i,-tw2i,+tw3i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftp8<Tfs>::exec_(Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = true; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = double]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:680:11: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    680 |         PM(CC(0,0),CC(0,4),a0+a2,a1);
        |         ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘void ducc0::detail_fft::cfftp8<Tfs>::ROTX45(T&) const [with bool fwd = true; T = ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = double]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:646:26: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    646 |         { auto tmp_=a.r; a.r=hsqt2*(a.r+a.i); a.i=hsqt2*(a.i-tmp_); }
        |                          ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In function ‘void ducc0::detail_fft::PMINPLACE(T&, T&) [with T = ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:81:20: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     81 |   { T t = a; a+=b; b=t-b; }
        |                    ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘void ducc0::detail_fft::cfftp8<Tfs>::ROTX45(T&) const [with bool fwd = false; T = ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = double]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:648:26: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    648 |         { auto tmp_=a.r; a.r=hsqt2*(a.r-a.i); a.i=hsqt2*(a.i+tmp_); }
        |                          ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftp5<Tfs>::exec_(const Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = true; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = double]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:471:28: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         special_mul<fwd>(ca+cb,WA(u1-1,i),CH(i,k,u1)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:493:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP5b’
    493 |             POCKETFFT_PARTSTEP5b(1,4,tw1r,tw2r,+tw1i,+tw2i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:467:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    467 |         ca.r=t0.r+twar*t1.r+twbr*t2.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:494:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP5b’
    494 |             POCKETFFT_PARTSTEP5b(2,3,tw2r,tw1r,+tw2i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:471:28: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         special_mul<fwd>(ca+cb,WA(u1-1,i),CH(i,k,u1)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:494:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP5b’
    494 |             POCKETFFT_PARTSTEP5b(2,3,tw2r,tw1r,+tw2i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftp5<Tfs>::exec_(const Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = false; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = double]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:451:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    451 |         CH(idx,k,0).r=t0.r+t1.r+t2.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:478:11: note: in expansion of macro ‘POCKETFFT_PREP5’
    478 |           POCKETFFT_PREP5(0)
        |           ^~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:471:28: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         special_mul<fwd>(ca+cb,WA(u1-1,i),CH(i,k,u1)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:493:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP5b’
    493 |             POCKETFFT_PARTSTEP5b(1,4,tw1r,tw2r,+tw1i,+tw2i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:467:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    467 |         ca.r=t0.r+twar*t1.r+twbr*t2.r; \
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:494:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP5b’
    494 |             POCKETFFT_PARTSTEP5b(2,3,tw2r,tw1r,+tw2i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:471:28: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         special_mul<fwd>(ca+cb,WA(u1-1,i),CH(i,k,u1)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:494:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP5b’
    494 |             POCKETFFT_PARTSTEP5b(2,3,tw2r,tw1r,+tw2i,-tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftp3<Tfs>::exec_(const Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = true; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = double]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:282:13: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    282 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:297:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP3a’
    297 |           POCKETFFT_PARTSTEP3a(1,2,tw1r,tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:278:9: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    278 |         CH(idx,k,0)=t0+t1;
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:303:11: note: in expansion of macro ‘POCKETFFT_PREP3’
    303 |           POCKETFFT_PREP3(0)
        |           ^~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:282:13: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    282 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:304:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP3a’
    304 |           POCKETFFT_PARTSTEP3a(1,2,tw1r,tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:278:9: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    278 |         CH(idx,k,0)=t0+t1;
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:308:13: note: in expansion of macro ‘POCKETFFT_PREP3’
    308 |             POCKETFFT_PREP3(i)
        |             ^~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:288:13: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    288 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:309:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP3b’
    309 |             POCKETFFT_PARTSTEP3b(1,2,tw1r,tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:289:28: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    289 |         special_mul<fwd>(ca+cb,WA(u1-1,i),CH(i,k,u1)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:309:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP3b’
    309 |             POCKETFFT_PARTSTEP3b(1,2,tw1r,tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tcd* ducc0::detail_fft::cfftp3<Tfs>::exec_(const Tcd*, Tcd*, Tcd*, size_t) const [with bool fwd = false; Tcd = ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >; Tfs = double]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:282:13: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    282 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:297:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP3a’
    297 |           POCKETFFT_PARTSTEP3a(1,2,tw1r,tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:278:9: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    278 |         CH(idx,k,0)=t0+t1;
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:303:11: note: in expansion of macro ‘POCKETFFT_PREP3’
    303 |           POCKETFFT_PREP3(0)
        |           ^~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:282:13: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    282 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:304:11: note: in expansion of macro ‘POCKETFFT_PARTSTEP3a’
    304 |           POCKETFFT_PARTSTEP3a(1,2,tw1r,tw1i)
        |           ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:278:9: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    278 |         CH(idx,k,0)=t0+t1;
        |         ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:308:13: note: in expansion of macro ‘POCKETFFT_PREP3’
    308 |             POCKETFFT_PREP3(i)
        |             ^~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:288:13: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    288 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |             ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:309:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP3b’
    309 |             POCKETFFT_PARTSTEP3b(1,2,tw1r,tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:289:28: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    289 |         special_mul<fwd>(ca+cb,WA(u1-1,i),CH(i,k,u1)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:309:13: note: in expansion of macro ‘POCKETFFT_PARTSTEP3b’
    309 |             POCKETFFT_PARTSTEP3b(1,2,tw1r,tw1i)
        |             ^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tfd* ducc0::detail_fft::rfftpblue<Tfs>::exec_(Tfd*, Tfd*, Tfd*, size_t) const [with bool fwd = true; Tfd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; Tfs = double]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2707:15: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2707 |               CH(ic  ,2*m-1,k) = -res[ip-m].i;
        |               ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tfd* ducc0::detail_fft::rfftp_complexify<Tfs>::exec_(Tfd*, Tfd*, Tfd*, size_t) const [with bool fwd = true; Tfd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; Tfs = double]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2891:16: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2891 |           auto xe = res[i]+res[xi].conj();
        |                ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2892:21: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2892 |           auto xo = Tcd(res[i].i+res[xi].i, res[xi].r-res[i].r)
        |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2892:16: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2892 |           auto xo = Tcd(res[i].i+res[xi].i, res[xi].r-res[i].r)
        |                ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2894:11: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2894 |           rres[2*i-1] = Tfs(0.5)*(xe.r+xo.r);
        |           ^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In member function ‘ducc0::Cmplx<T> ducc0::Cmplx<T>::conj() const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:80:9: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     80 |   Cmplx conj() const { return {r, -i}; }
        |         ^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:80:37: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     80 |   Cmplx conj() const { return {r, -i}; }
        |                                     ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h: In member function ‘ducc0::Cmplx<decltype ((((const ducc0::Cmplx<T>*)this)->ducc0::Cmplx<T>::r + other.r))> ducc0::Cmplx<T>::operator*(const ducc0::Cmplx<T2>&) const [with T2 = double; T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:94:30: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     94 |   template<typename T2> auto operator* (const Cmplx<T2> &other) const
        |                              ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/cmplx.h:96:57: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     96 |     { return {r*other.r-i*other.i, r*other.i + i*other.r}; }
        |                                                         ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘Tfd* ducc0::detail_fft::rfftp_complexify<Tfs>::exec_(Tfd*, Tfd*, Tfd*, size_t) const [with bool fwd = false; Tfd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; Tfs = double]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2910:16: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2910 |           auto xe = t1+t2;
        |                ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2912:26: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2912 |           cch[i] = (xe + Tcd(-xo.i, xo.r));
        |                          ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2912:11: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2912 |           cch[i] = (xe + Tcd(-xo.i, xo.r));
        |           ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >& std::experimental::parallelism_v2::operator*=(simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5599:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5599 |     { return __lhs = __lhs * __x; }
        |                              ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h: In member function ‘void ducc0::detail_fft::ExecConv1R::operator()(const Titer&, const ducc0::detail_mav::cfmav<T>&, const ducc0::detail_mav::vfmav<T>&, Tstorage&, const ducc0::detail_fft::pocketfft_r<T0>&, const ducc0::detail_fft::pocketfft_r<T0>&, const ducc0::detail_mav::cmav<T, 1>&) const [with T0 = double; Tstorage = ducc0::detail_fft::TmpStorage2<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, double, double>; Titer = ducc0::detail_fft::multi_iter<2>]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1716:12: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1716 |       auto t3 = t1*t2;
        |            ^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1728:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1728 |         res[2*i-1] = (t1*t2).r*T0(2);
        |         ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1728:25: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1728 |         res[2*i-1] = (t1*t2).r*T0(2);
        |                      ~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1728:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1728 |         res[2*i-1] = (t1*t2).r*T0(2);
        |         ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h: In member function ‘void ducc0::detail_fft::ExecConv1C::operator()(const Titer&, const ducc0::detail_mav::cfmav<ducc0::Cmplx<T> >&, const ducc0::detail_mav::vfmav<ducc0::Cmplx<T> >&, Tstorage&, const ducc0::detail_fft::pocketfft_c<T0>&, const ducc0::detail_fft::pocketfft_c<T0>&, const ducc0::detail_mav::cmav<ducc0::Cmplx<T>, 1>&) const [with T0 = double; Tstorage = ducc0::detail_fft::TmpStorage2<ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >, ducc0::Cmplx<double>, double>; Titer = ducc0::detail_fft::multi_iter<2>]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1755:5: note: parameter passing for argument of type ‘ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1755 |     res2[0] = res[0]*fkernel(0);
        |     ^~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘std::experimental::parallelism_v2::operator+=(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5591:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5591 |     { return __lhs = __lhs + __x; }
        |                      ~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In member function ‘ducc0::detail_fft::pocketfft_c<double>::exec_copyback<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, double, bool, unsigned long) constvoid’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:314:50: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    314 |           for (size_t i=0; i<N; ++i) in[i]=res[i]*fct;
        |                                            ~~~~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In member function ‘ducc0::detail_fft::T_dcst23<double>::exec<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*, double, bool, int, bool, unsigned long) conststd::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:653:48: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    653 |           c[k] = T0(0.5)*(t1+t2); c[kc]=T0(0.5)*(t1-t2);
        |                                         ~~~~~~~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h: In member function ‘ducc0::detail_fft::ExecConv1R::operator()<double, ducc0::detail_fft::TmpStorage2<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, double, double>, ducc0::detail_fft::multi_iter<2ul> >(ducc0::detail_fft::multi_iter<2ul> const&, ducc0::detail_mav::cfmav<double> const&, ducc0::detail_mav::vfmav<double> const&, ducc0::detail_fft::TmpStorage2<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, double, double>&, ducc0::detail_fft::pocketfft_r<double> const&, ducc0::detail_fft::pocketfft_r<double> const&, ducc0::detail_mav::cmav<double, 1ul> const&) constvoid’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fftnd_impl.h:1728:25: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1728 |         res[2*i-1] = (t1*t2).r*T0(2);
        |                      ~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In member function ‘ducc0::detail_fft::T_dcst4<double>::exec<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*, double, bool, int, bool, unsigned long) conststd::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:752:18: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    752 |           y[i] = -c[2*N-m-1];
        |                  ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftpblue<double>::exec_<true, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:1118:53: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1118 |           res[0] = res[0].template special_mul<!fwd>(bkf[0]);
        |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In function ‘ducc0::detail_fft::special_mul<false, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, double>(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const&, ducc0::Cmplx<double> const&, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >&)void’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:87:59: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
     87 |             : Cmplx<T>(v1.r*v2.r-v1.i*v2.i, v1.r*v2.i+v1.i*v2.r);
        |                                                       ~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftpblue<double>::exec_<false, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:1118:53: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1118 |           res[0] = res[0].template special_mul<!fwd>(bkf[0]);
        |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp8<double>::ROTX45<true, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >&) constvoid’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:646:56: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    646 |         { auto tmp_=a.r; a.r=hsqt2*(a.r+a.i); a.i=hsqt2*(a.i-tmp_); }
        |                                                   ~~~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In function ‘ducc0::detail_fft::PM<ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >&, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >&, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >)void’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:79:15: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
     79 |   { a=c+d; b=c-d; }
        |              ~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftpg<double>::exec_<true, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:990:53: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    990 |           CX2(ik,lc).i = wal.i*CH2(ik,ip-1).r+wal2.i*CH2(ik,ip-2).r;
        |                                               ~~~~~~^~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp11<double>::exec_<true, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:56: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |                                                        ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp11<double>::exec_<false, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:864:14: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    864 |         cb.r=-(y1*t11.i y2*t10.i y3*t9.i y4*t8.i y5*t7.i ); \
        |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:861:56: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |         Tcd ca = t1 + t2*x1 + t3*x2 + t4*x3 + t5*x4 +t6*x5, \
        |                                                        ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp7<double>::exec_<true, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:565:14: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    565 |         cb.r=-(y1*t7.i y2*t6.i y3*t5.i); \
        |              ^~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h: In function ‘ducc0::detail_fft::PMINPLACE<ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >&, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >&)void’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft.h:81:23: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
     81 |   { T t = a; a+=b; b=t-b; }
        |                      ~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp5<double>::exec_<true, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:460:14: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    460 |         cb.r=-(twai*t4.i twbi*t3.i); \
        |              ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:472:28: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    472 |         special_mul<fwd>(ca-cb,WA(u2-1,i),CH(i,k,u2)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp5<double>::exec_<false, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:460:14: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    460 |         cb.r=-(twai*t4.i twbi*t3.i); \
        |              ^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:472:28: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    472 |         special_mul<fwd>(ca-cb,WA(u2-1,i),CH(i,k,u2)); \
        |                          ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp3<double>::exec_<true, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:282:16: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    282 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |                ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:281:21: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    281 |         Tcd ca=t0+t1*twr; \
        |                     ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp3<double>::exec_<false, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > const*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:282:16: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    282 |         Tcd cb{-t2.i*twi, t2.r*twi}; \
        |                ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:281:21: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    281 |         Tcd ca=t0+t1*twr; \
        |                     ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp8<double>::ROTX45<false, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >&) constvoid’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:648:56: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    648 |         { auto tmp_=a.r; a.r=hsqt2*(a.r-a.i); a.i=hsqt2*(a.i+tmp_); }
        |                                                   ~~~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::cfftp8<double>::exec_<false, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > > >(ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, ducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*, unsigned long) constducc0::Cmplx<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:709:30: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
    709 |           special_mul<fwd>(a6-a7,WA(6,i),CC(i,7));
        |                            ~~^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In function ‘ducc0::detail_fft::MULPM<std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, double, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, double, double, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >)void’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:1843:22: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1843 |   {  a=c*e+d*f; b=c*f-d*e; }
        |                   ~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h: In member function ‘ducc0::detail_fft::rfftp_complexify<double>::exec_<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*, unsigned long) conststd::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/fft/fft1d_impl.h:2891:27: note: parameter passing for argument of type ‘struct Cmplx’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2891 |           auto xe = res[i]+res[xi].conj();
        |                     ~~~~~~^~~~~~~~~~~~~~~
  [25/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder_inst2.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder_inst2.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder_inst2.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst2.cc
  In file included from /usr/include/c++/15/experimental/simd:74,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:67,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:49,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst2.cc:1:
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator+(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:38:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                              ~~~~~~~~^~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:386:24:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    386 |         const _V __y_lo = __y - __y_hi;
        |                           ~~~~^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:89:
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::abs(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:864:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    864 | _GLIBCXX_SIMD_MATH_CALL_(abs)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi>::mask_type std::experimental::parallelism_v2::simd<_Tp, _Abi>::_S_make_mask(typename mask_type::_MemberType) [with _Tp = double; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename mask_type::_MemberType = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_MemberType]’:
  /usr/include/c++/15/experimental/bits/simd.h:5636:32:   required from ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’
   5636 |     { return simd::_S_make_mask(_Impl::_S_less(__x._M_data, __y._M_data)); }
        |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5689:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5689 |     _S_make_mask(typename mask_type::_MemberType __k)
        |     ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::nearbyint(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:1281:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1281 | _GLIBCXX_SIMD_MATH_CALL_(nearbyint)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr typename _R::mask_type std::experimental::parallelism_v2::__proposed::static_simd_cast(const std::experimental::parallelism_v2::simd_mask<_Up, _Abi>&) [with _Tp = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>; _R = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename _R::mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:5028:48:   required from ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’
   5028 |           return static_simd_cast<simd_mask<_Up, _A2>>(_M_data);
        |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:3284:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   3284 |   static_simd_cast(const simd_mask<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator*(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1312:37:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1312 |                       tmpr += kv[cv]*mysimd<Tcalc>(pxr,element_aligned_tag());
        |                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1339:38:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2x_c(const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1339 |       grid2x_c_helper<maxsupp, wgrid>(supp, grid, p0, w0);
        |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1478:25:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1478 |           grid2x_c<true>(grid, pl, w);
        |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:30:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                              ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5615:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5615 |     operator*(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator+(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:488:41:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    488 |           = _V(-0.f) & static_simd_cast<_V>((1 + __f._M_quadrant) << 30);
        |                                             ~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<_Tp, _Ap> std::experimental::parallelism_v2::__float_bitwise_operators::operator^(const std::experimental::parallelism_v2::simd<_Tp, _Ap>&, const std::experimental::parallelism_v2::simd<_Tp, _Ap>&) [with _Tp = float; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:499:17:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    499 |             return __r ^ __sign_flip;
        |                    ~~~~^~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5714:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5714 |   operator^(const simd<_Tp, _Ap>& __a, const simd<_Tp, _Ap>& __b)
        |   ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:534:36:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::sin(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    534 |           = (__x ^ static_simd_cast<_V>(1 - __f._M_quadrant)) & _V(_Tp(-0.));
        |                                         ~~^~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:106:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    106 |     auto vsin = sin(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::abs(simd<_Tp, _Ap>) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<float, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<float, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:476:8:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    476 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 393382)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd_math.h:864:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    864 | _GLIBCXX_SIMD_MATH_CALL_(abs)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator>=(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:476:8:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    476 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 393382)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5649:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5649 |     operator>=(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<float, simd_abi::_VecBuiltin<16> >; _Up = double; _Ap = simd_abi::_Fixed<4>; _R = simd<float, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:477:33:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    477 |             return static_simd_cast<_V>(
        |                    ~~~~~~~~~~~~~~~~~~~~^
    478 |               cos(static_simd_cast<rebind_simd_t<double, _V>>(__x)));
        |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   3267 |   static_simd_cast(const simd<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::experimental::parallelism_v2::_Folded<float, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd_math.h:308:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::_Folded<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    308 |   __fold_input(const simd<float, _Abi>& __x)
        |   ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:327:9:   required from ‘std::experimental::parallelism_v2::_Folded<float, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    327 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::experimental::parallelism_v2::_Folded<float, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd_math.h:347:12: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::_Folded<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    347 |     return __r;
        |            ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<int, simd_abi::_VecBuiltin<16> >; _Up = float; _Ap = simd_abi::_VecBuiltin<16>; _R = simd<int, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:332:41:   required from ‘std::experimental::parallelism_v2::_Folded<float, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    332 |         __r._M_quadrant = static_simd_cast<_IV>(__y) & 3; // __y mod 4
        |                           ~~~~~~~~~~~~~~~~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   3267 |   static_simd_cast(const simd<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<float, simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = simd_abi::_VecBuiltin<16>; _R = simd<float, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:488:37:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    488 |           = _V(-0.f) & static_simd_cast<_V>((1 + __f._M_quadrant) << 30);
        |                        ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   3267 |   static_simd_cast(const simd<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator==(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:490:48:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~~~~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5624:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5624 |     operator==(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr _V std::experimental::parallelism_v2::_SimdIntOperators<_V, _Tp, _Abi, true>::_S_make_derived(_Up&&) [with _Up = std::experimental::parallelism_v2::_SimdWrapper<int, 4, void>; _V = std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5340:48:   required from ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator&(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’
   5340 |       return _SimdIntOperators::_S_make_derived(
        |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   5341 |         _Impl::_S_bit_and(__data(__x), __data(__y)));
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:490:43:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5284:7: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5284 |       _S_make_derived(_Up&& __d)
        |       ^~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::experimental::parallelism_v2::simd<float, _Abi> std::experimental::parallelism_v2::__cosSeries(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:492:36:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    492 |           return __sign_flip ^ __cosSeries(__f._M_x);
        |                                ~~~~~~~~~~~^~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd_math.h:194:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    194 |   __cosSeries(const simd<float, _Abi>& __x)
        |   ^~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = float; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:271:31:   required from ‘void ducc0::detail_gridding_kernel::TemplateKernel<W, Tsimd>::eval2s(T, T, T, size_t, Tsimd*) const [with long unsigned int W = 8; Tsimd = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; T = float; size_t = long unsigned int]’
    271 |       auto tmpx = Tsimd(tvalx2-tvalx*x)*zfac;
        |                         ~~~~~~^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1104:24:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::HelperG2x2<supp, wgrid>::prep(const ducc0::detail_gridder::UVW&, size_t) [with long unsigned int supp = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1104 |             tkrn.eval2s(Tcalc(x0), Tcalc(y0), Tcalc(xdw*(w0-in.w)), nth, &buf.simd[0]);
        |             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1289:25:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1289 |                 hlp.prep(coord, nth);
        |                 ~~~~~~~~^~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1339:38:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2x_c(const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1339 |       grid2x_c_helper<maxsupp, wgrid>(supp, grid, p0, w0);
        |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1478:25:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1478 |           grid2x_c<true>(grid, pl, w);
        |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:30:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                              ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  In file included from /usr/include/c++/15/string:51,
                   from /usr/include/c++/15/bits/locale_classes.h:42,
                   from /usr/include/c++/15/bits/ios_base.h:43,
                   from /usr/include/c++/15/ios:46,
                   from /usr/include/c++/15/istream:42,
                   from /usr/include/c++/15/sstream:42,
                   from /usr/include/c++/15/complex:50,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:24:
  /usr/include/c++/15/bits/stl_function.h: In instantiation of ‘constexpr decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) std::plus<void>::operator()(_Tp&&, _Up&&) const [with _Tp = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>&; _Up = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>; decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1708:27:   required from ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = float; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’
   1708 |               __acc = __binary_op(__acc, simd<_Tp, simd_abi::scalar>(__x[__i]));
        |                       ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:3912:38:   required from ‘constexpr _Tp std::experimental::parallelism_v2::reduce(const simd<_Tp, _Ap>&, _BinaryOperation) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; _BinaryOperation = std::plus<void>]’
   3912 |   { return _Abi::_SimdImpl::_S_reduce(__v, __binary_op); }
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:115:29:   required from ‘std::complex<_Tp> ducc0::detail_gridder::hsum_cmplx(mysimd<T>, mysimd<T>) [with T = float; mysimd<T> = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
    115 |   { return complex<T>(reduce(vr, plus<>()), reduce(vi, plus<>())); }
        |                       ~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1320:43:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1320 |                 auto r = hsum_cmplx<Tcalc>(rr,ri);
        |                          ~~~~~~~~~~~~~~~~~^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1339:38:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2x_c(const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1339 |       grid2x_c_helper<maxsupp, wgrid>(supp, grid, p0, w0);
        |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1478:25:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1478 |           grid2x_c<true>(grid, pl, w);
        |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:30:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                              ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/bits/stl_function.h:251:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
    251 |         operator()(_Tp&& __t, _Up&& __u) const
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:77:
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi> std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_M_make_simd(std::experimental::parallelism_v2::__intrinsic_type_t<_Tp, _Np>) [with _Tp = float; long unsigned int _Np = 4; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>; std::experimental::parallelism_v2::__intrinsic_type_t<_Tp, _Np> = std::experimental::parallelism_v2::__intrinsic_type_impl<float>::type]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1789:29:   required from ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = float; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’
   1789 |                                   _M_make_simd<_Tp, _Np>(__vector_bitcast<_Tp>(
        |                                   ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
   1790 |                                     __vector_permute<3, 2, 1, 0>(__y))));
        |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:3912:38:   required from ‘constexpr _Tp std::experimental::parallelism_v2::reduce(const simd<_Tp, _Ap>&, _BinaryOperation) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; _BinaryOperation = std::plus<void>]’
   3912 |   { return _Abi::_SimdImpl::_S_reduce(__v, __binary_op); }
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:115:29:   required from ‘std::complex<_Tp> ducc0::detail_gridder::hsum_cmplx(mysimd<T>, mysimd<T>) [with T = float; mysimd<T> = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
    115 |   { return complex<T>(reduce(vr, plus<>()), reduce(vi, plus<>())); }
        |                       ~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1320:43:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, size_t, double) [with long unsigned int SUPP = 8; bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1320 |                 auto r = hsum_cmplx<Tcalc>(rr,ri);
        |                          ~~~~~~~~~~~~~~~~~^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1339:38:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2x_c(const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, size_t, double) [with bool wgrid = true; Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1339 |       grid2x_c_helper<maxsupp, wgrid>(supp, grid, p0, w0);
        |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1478:25:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::dirty2x() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1478 |           grid2x_c<true>(grid, pl, w);
        |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:30:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                              ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1291:7: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1291 |       _M_make_simd(__intrinsic_type_t<_Tp, _Np> __x)
        |       ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi>::mask_type std::experimental::parallelism_v2::simd<_Tp, _Abi>::_S_make_mask(typename mask_type::_MemberType) [with _Tp = float; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; mask_type = std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename mask_type::_MemberType = std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_MemberType]’:
  /usr/include/c++/15/experimental/bits/simd.h:5651:32:   required from ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator>=(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’
   5651 |       return simd::_S_make_mask(_Impl::_S_less_equal(__y._M_data, __x._M_data));
        |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:476:8:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    476 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 393382)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5689:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5689 |     _S_make_mask(typename mask_type::_MemberType __k)
        |     ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::nearbyint(simd<_Tp, _Ap>) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<float, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<float, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:331:26:   required from ‘std::experimental::parallelism_v2::_Folded<float, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    331 |         const _V __y = nearbyint(__r._M_x * __2_over_pi);
        |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd_math.h:1281:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1281 | _GLIBCXX_SIMD_MATH_CALL_(nearbyint)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi>::mask_type std::experimental::parallelism_v2::simd<_Tp, _Abi>::_S_make_mask(typename mask_type::_MemberType) [with _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; mask_type = std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename mask_type::_MemberType = std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_MemberType]’:
  /usr/include/c++/15/experimental/bits/simd.h:5625:32:   required from ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator==(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’
   5625 |     { return simd::_S_make_mask(_Impl::_S_equal_to(__x._M_data, __y._M_data)); }
        |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:490:48:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~~~~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:5689:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5689 |     _S_make_mask(typename mask_type::_MemberType __k)
        |     ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr typename _R::mask_type std::experimental::parallelism_v2::__proposed::static_simd_cast(const std::experimental::parallelism_v2::simd_mask<_Up, _Abi>&) [with _Tp = std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; _R = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename _R::mask_type = std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:5028:48:   required from ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = float; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’
   5028 |           return static_simd_cast<simd_mask<_Up, _A2>>(_M_data);
        |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<float, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    105 |     auto vcos = cos(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd.h:3284:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   3284 |   static_simd_cast(const simd_mask<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::sin(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1578:5:   required from ‘std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10> >::_S_sin<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >(const std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&)::<lambda(auto:213, auto:214)> [with auto:213 = std::experimental::parallelism_v2::__tuple_element_meta<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, 0>; auto:214 = std::experimental::parallelism_v2::_SimdWrapper<double, 2, void>]’
   1578 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, sin)
        |     ^
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:526:28:   required from ‘constexpr std::experimental::parallelism_v2::_SimdTuple<_Tp, _A0, _As ...> std::experimental::parallelism_v2::_SimdTuple<_Tp, _A0, _As ...>::_M_apply_per_chunk(_Fp&&, _More&& ...) const [with _Fp = std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10> >::_S_sin<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >(const std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&)::<lambda(auto:213, auto:214)>; _More = {}; _Tp = double; _Abi0 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; _Abis = {std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>}]’
    526 |             auto&& __first = __fun(__tuple_element_meta<_Tp, _Abi0, 0>(), first,
        |                              ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    527 |                                    _M_extract_argument(__more)...);
        |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1578:5:   required from ‘static std::experimental::parallelism_v2::__fixed_size_storage_t<_Tp, _Np> std::experimental::parallelism_v2::_SimdImplFixedSize<_Np, <template-parameter-1-2> >::_S_sin(const std::experimental::parallelism_v2::_SimdTuple<_Tp, _As ...>&, const _More& ...) [with _Tp = double; _As = {std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>}; _More = {}; int _Np = 4; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>; std::experimental::parallelism_v2::__fixed_size_storage_t<_Tp, _Np> = std::experimental::parallelism_v2::__fixed_size_storage_builder<double, 2, std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, 0>::type]’
   1578 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, sin)
        |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:518:54:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::sin(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_Fixed<4>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_Fixed<4> >]’
    518 |       return {__private_init, _Abi::_SimdImpl::_S_sin(__data(__x))};
        |                               ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:524:11:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Timg = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = float; Tacc = double; Tms = float; Tms_in = ducc0::detail_mav::cmav<std::complex<float>, 2>; Timg = float; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd_math.h:514:3: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    514 |   sin(const simd<_Tp, _Abi>& __x)
        |   ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h: In function ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::compute_phases(std::vector<std::complex<float>, std::allocator<std::complex<float> > >&, std::vector<float, std::allocator<float> >&, float, const ducc0::detail_gridder::UVW&, const ducc0::detail_gridder::RowchanRange&)::<lambda(size_t)>]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:10: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    105 |     auto vcos = cos(vang);
        |          ^~~~
  In file included from /usr/include/c++/15/experimental/simd:73:
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:476:15: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    476 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 393382)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:476:15: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    476 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 393382)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:476:15: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    476 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 393382)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:478:68: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    478 |               cos(static_simd_cast<rebind_simd_t<double, _V>>(__x)));
        |                                                                    ^
  /usr/include/c++/15/experimental/bits/simd_math.h:480:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::_Folded<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    480 |         const auto __f = __fold_input(__x);
        |                    ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:487:18: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    487 |         const _V __sign_flip
        |                  ^~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:488:67: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    488 |           = _V(-0.f) & static_simd_cast<_V>((1 + __f._M_quadrant) << 30);
        |                                             ~~~~~~~~~~~~~~~~~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:488:44: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    488 |           = _V(-0.f) & static_simd_cast<_V>((1 + __f._M_quadrant) << 30);
        |                        ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:490:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                    ^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:490:50: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~^~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:490:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                    ^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:492:52: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    492 |           return __sign_flip ^ __cosSeries(__f._M_x);
        |                                                    ^
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:499:26: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    499 |             return __r ^ __sign_flip;
        |                          ^~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator>=(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5649:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5649 |     operator>=(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:75:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h: In lambda function:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1577:5: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1577 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, cos)
        |     ^
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:499:26: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    499 |             return __r ^ __sign_flip;
        |                          ^~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:14: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |              ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:371:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    371 |         __r._M_x -= __y * 0x1.921FB54443000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:378:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    378 |         __r._M_x -= __y * 0x1.921FB40000000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >& std::experimental::parallelism_v2::operator-=(simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5595:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5595 |     { return __lhs = __lhs - __x; }
        |                              ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In member function ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<_Tp, _Ap> std::experimental::parallelism_v2::__float_bitwise_operators::operator^(const std::experimental::parallelism_v2::simd<_Tp, _Ap>&, const std::experimental::parallelism_v2::simd<_Tp, _Ap>&) [with _Tp = double; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5714:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5714 |   operator^(const simd<_Tp, _Ap>& __a, const simd<_Tp, _Ap>& __b)
        |   ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<float, simd_abi::_VecBuiltin<16> >; _Up = double; _Ap = simd_abi::_Fixed<4>; _R = simd<float, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   3267 |   static_simd_cast(const simd<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::_Folded<float, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:308:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::_Folded<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    308 |   __fold_input(const simd<float, _Abi>& __x)
        |   ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:314:5: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    314 |     __r._M_x = abs(__x);
        |     ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:327:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    327 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:331:18: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    331 |         const _V __y = nearbyint(__r._M_x * __2_over_pi);
        |                  ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:332:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    332 |         __r._M_quadrant = static_simd_cast<_IV>(__y) & 3; // __y mod 4
        |         ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:333:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    333 |         __r._M_x -= __y * __pi_2_5bits0;
        |                     ~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:343:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    343 |         __r._M_quadrant = static_simd_cast<_IV>(__y) & 3; // = __y mod 4
        |         ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:344:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    344 |         __r._M_x = static_simd_cast<_V>(__xd - __y * __pi_2);
        |         ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:347:12: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::_Folded<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    347 |     return __r;
        |            ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::nearbyint(simd<_Tp, _Ap>) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<float, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:1281:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1281 | _GLIBCXX_SIMD_MATH_CALL_(nearbyint)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<int, simd_abi::_VecBuiltin<16> >; _Up = float; _Ap = simd_abi::_VecBuiltin<16>; _R = simd<int, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   3267 |   static_simd_cast(const simd<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator*(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5615:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5615 |     operator*(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h: In lambda function:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1611:5: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1611 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, nearbyint)
        |     ^
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<int, simd_abi::_VecBuiltin<16> >; _Up = double; _Ap = simd_abi::_Fixed<4>; _R = simd<int, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   3267 |   static_simd_cast(const simd<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<float, simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = simd_abi::_VecBuiltin<16>; _R = simd<float, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator&(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5338:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5338 |     operator&(const _V& __x, const _V& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator==(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5624:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5624 |     operator==(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::simd<float, _Abi> std::experimental::parallelism_v2::__sinSeries(const simd<float, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:224:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    224 |   __sinSeries(const simd<float, _Abi>& __x)
        |   ^~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In member function ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = float; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In static member function ‘static constexpr auto std::experimental::parallelism_v2::_MaskImplBuiltin<_Abi, <template-parameter-1-2> >::_S_convert(std::experimental::parallelism_v2::simd_mask<_Up, _UAbi>) [with _Tp = float; _Up = int; _UAbi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:2648:7: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   2648 |       _S_convert(simd_mask<_Up, _UAbi> __x)
        |       ^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<_Tp, _Ap> std::experimental::parallelism_v2::__float_bitwise_operators::operator^(const std::experimental::parallelism_v2::simd<_Tp, _Ap>&, const std::experimental::parallelism_v2::simd<_Tp, _Ap>&) [with _Tp = float; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5714:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5714 |   operator^(const simd<_Tp, _Ap>& __a, const simd<_Tp, _Ap>& __b)
        |   ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::sin(const simd<_Tp, _Ap>&) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:522:15: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    522 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 527449)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:522:15: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    522 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 527449)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:522:15: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    522 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 527449)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:524:68: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    524 |               sin(static_simd_cast<rebind_simd_t<double, _V>>(__x)));
        |                                                                    ^
  /usr/include/c++/15/experimental/bits/simd_math.h:526:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::_Folded<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    526 |         const auto __f = __fold_input(__x);
        |                    ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:533:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    533 |         const auto __sign_flip
        |                    ^~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:534:43: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    534 |           = (__x ^ static_simd_cast<_V>(1 - __f._M_quadrant)) & _V(_Tp(-0.));
        |                                         ~~^~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:534:40: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    534 |           = (__x ^ static_simd_cast<_V>(1 - __f._M_quadrant)) & _V(_Tp(-0.));
        |                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:536:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    536 |         const auto __need_sin = (__f._M_quadrant & 1) == 0;
        |                    ^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:536:50: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    536 |         const auto __need_sin = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~^~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:536:20: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    536 |         const auto __need_sin = (__f._M_quadrant & 1) == 0;
        |                    ^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:538:52: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    538 |           return __sign_flip ^ __sinSeries(__f._M_x);
        |                                                    ^
  /usr/include/c++/15/experimental/bits/simd_math.h:544:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    544 |             where(__need_sin.__cvt(), __r) = __sinSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:545:34: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    545 |             return __sign_flip ^ __r;
        |                                  ^~~
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h: In lambda function:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1578:5: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1578 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, sin)
        |     ^
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::sin(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:544:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    544 |             where(__need_sin.__cvt(), __r) = __sinSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:545:34: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    545 |             return __sign_flip ^ __r;
        |                                  ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<int, simd_abi::_VecBuiltin<16> >&, const simd<int, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<int, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  In file included from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:51:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘void ducc0::detail_gridding_kernel::TemplateKernel<W, Tsimd>::eval2s(T, T, T, size_t, Tsimd*) const [with long unsigned int W = 4; Tsimd = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:261:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    261 |         tvalx = tvalx*x2 + Tvl(coeff[j*nvec_eval]);
        |         ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h: In function ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<float>, 2>&, const ducc0::detail_mav::vmav<float, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:10: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    105 |     auto vcos = cos(vang);
        |          ^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:18: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                  ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h: In function ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = float; F = Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2> >::dirty2grid_pre2(const ducc0::detail_mav::cmav<float, 2>&, const ducc0::detail_mav::vmav<std::complex<float>, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:105:10: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    105 |     auto vcos = cos(vang);
        |          ^~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In static member function ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = float; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1708:15: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1708 |               __acc = __binary_op(__acc, simd<_Tp, simd_abi::scalar>(__x[__i]));
        |               ^~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1788:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1788 |                 __x = __binary_op(__x,
        |                 ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘std::experimental::parallelism_v2::operator+=(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5591:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5591 |     { return __lhs = __lhs + __x; }
        |                      ~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::__fold_input<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::experimental::parallelism_v2::_Folded<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:380:25: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    380 |         __r._M_x -= __y * 0x1.8469898CC5170p-48;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:57: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                                              ~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘std::experimental::parallelism_v2::operator*=(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5599:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5599 |     { return __lhs = __lhs * __x; }
        |                      ~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘ducc0::detail_gridding_kernel::TemplateKernel<15ul, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::eval2s(double, double, double, unsigned long, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:265:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    265 |         tvaly2 = tvaly2*y2 + Tvl(coeff[(j+1)*nvec_eval]);
        |                  ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘std::experimental::parallelism_v2::operator-=(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5595:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5595 |     { return __lhs = __lhs - __x; }
        |                      ~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘ducc0::detail_gridding_kernel::TemplateKernel<4ul, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::eval2s(double, double, double, unsigned long, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:265:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    265 |         tvaly2 = tvaly2*y2 + Tvl(coeff[(j+1)*nvec_eval]);
        |                  ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::sin<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:544:35: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    544 |             where(__need_sin.__cvt(), __r) = __sinSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:544:57: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    544 |             where(__need_sin.__cvt(), __r) = __sinSeries(__f._M_x);
        |                                              ~~~~~~~~~~~^~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘ducc0::detail_gridding_kernel::TemplateKernel<4ul, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::eval2s(float, float, float, unsigned long, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:265:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    265 |         tvaly2 = tvaly2*y2 + Tvl(coeff[(j+1)*nvec_eval]);
        |                  ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘ducc0::detail_gridding_kernel::TemplateKernel<11ul, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::eval2s(double, double, double, unsigned long, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:265:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    265 |         tvaly2 = tvaly2*y2 + Tvl(coeff[(j+1)*nvec_eval]);
        |                  ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::__fold_input<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::experimental::parallelism_v2::_Folded<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’:
  /usr/include/c++/15/experimental/bits/simd_math.h:327:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    327 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:314:19: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    314 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:329:14: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    329 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 6 * __pi_over_4)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:334:25: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    334 |         __r._M_x -= __y * __pi_2_5bits0_rem;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:332:54: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    332 |         __r._M_quadrant = static_simd_cast<_IV>(__y) & 3; // __y mod 4
        |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:331:33: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    331 |         const _V __y = nearbyint(__r._M_x * __2_over_pi);
        |                        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:343:54: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    343 |         __r._M_quadrant = static_simd_cast<_IV>(__y) & 3; // = __y mod 4
        |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::cos<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<float>, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:476:15: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    476 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 393382)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:476:15: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    476 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 393382)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:490:55: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~~~~~~^~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:490:50: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    490 |         const auto __need_cos = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~^~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:488:22: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    488 |           = _V(-0.f) & static_simd_cast<_V>((1 + __f._M_quadrant) << 30);
        |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:488:67: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    488 |           = _V(-0.f) & static_simd_cast<_V>((1 + __f._M_quadrant) << 30);
        |                                             ~~~~~~~~~~~~~~~~~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:38: note: parameter passing for argument of type ‘struct _Folded’ when C++17 is enabled changed to match C++14 in GCC 10.1
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:492:43: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    492 |           return __sign_flip ^ __cosSeries(__f._M_x);
        |                                ~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:57: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                                              ~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::sin<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<float>, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:522:15: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    522 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 527449)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:522:15: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    522 |           if (_GLIBCXX_SIMD_IS_UNLIKELY(any_of(abs(__x) >= 527449)))
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:536:55: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    536 |         const auto __need_sin = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~~~~~~^~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:536:50: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    536 |         const auto __need_sin = (__f._M_quadrant & 1) == 0;
        |                                 ~~~~~~~~~~~~~~~~~^~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:534:63: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    534 |           = (__x ^ static_simd_cast<_V>(1 - __f._M_quadrant)) & _V(_Tp(-0.));
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:534:43: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    534 |           = (__x ^ static_simd_cast<_V>(1 - __f._M_quadrant)) & _V(_Tp(-0.));
        |                                         ~~^~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:526:38: note: parameter passing for argument of type ‘struct _Folded’ when C++17 is enabled changed to match C++14 in GCC 10.1
    526 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:538:43: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    538 |           return __sign_flip ^ __sinSeries(__f._M_x);
        |                                ~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:544:35: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    544 |             where(__need_sin.__cvt(), __r) = __sinSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:544:57: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    544 |             where(__need_sin.__cvt(), __r) = __sinSeries(__f._M_x);
        |                                              ~~~~~~~~~~~^~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘ducc0::detail_gridding_kernel::TemplateKernel<11ul, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::eval2(double, double, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:337:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    337 |           tvaly2 = tvaly2*y2 + Tvl(coeff[i+(j+1)*nvec_eval]);
        |                    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h: In member function ‘ducc0::detail_gridder::Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2ul> >::grid2x_c_helper<4ul, true>(unsigned long, ducc0::detail_mav::cmav<std::complex<float>, 2ul> const&, unsigned long, double)::{lambda(ducc0::detail_threading::Scheduler&)#1}::operator()(ducc0::detail_threading::Scheduler&) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1298:67: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1298 |                     ri += mysimd<Tcalc>(pxi,element_aligned_tag())*ku[cu];
        |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘ducc0::detail_gridding_kernel::TemplateKernel<9ul, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::eval2(double, double, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:337:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    337 |           tvaly2 = tvaly2*y2 + Tvl(coeff[i+(j+1)*nvec_eval]);
        |                    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::cos<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<float>, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:468:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    468 |   cos(const simd<_Tp, _Abi>& __x)
        |   ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:468:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /usr/include/c++/15/experimental/bits/simd_math.h:468:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  In member function ‘std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)::{lambda(auto:1, auto:2)#1}::operator()<std::experimental::parallelism_v2::__tuple_element_meta<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, 0ul>, std::experimental::parallelism_v2::_SimdWrapper<double, 2ul, void> >(std::experimental::parallelism_v2::__tuple_element_meta<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, 0ul>, std::experimental::parallelism_v2::_SimdWrapper<double, 2ul, void>) constauto’,
      inlined from ‘std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_M_apply_per_chunk<std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)::{lambda(auto:1, auto:2)#1}>(std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)::{lambda(auto:1, auto:2)#1}&&) conststd::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ at /usr/include/c++/15/experimental/bits/simd_fixed_size.h:526:28,
      inlined from ‘std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::experimental::parallelism_v2::__fixed_size_storage<double, 4>::type’ at /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1577:5,
      inlined from ‘std::experimental::parallelism_v2::cos<double, std::experimental::parallelism_v2::simd_abi::_Fixed<4>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Fixed<4> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Fixed<4> > >::type’ at /usr/include/c++/15/experimental/bits/simd_math.h:472:54,
      inlined from ‘std::experimental::parallelism_v2::cos<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<float>, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’ at /usr/include/c++/15/experimental/bits/simd_math.h:478:11:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1577:5: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1577 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, cos)
        |     ^
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::sin<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<float>, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:514:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    514 |   sin(const simd<_Tp, _Abi>& __x)
        |   ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:514:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /usr/include/c++/15/experimental/bits/simd_math.h:514:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  In member function ‘std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_sin<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)::{lambda(auto:1, auto:2)#1}::operator()<std::experimental::parallelism_v2::__tuple_element_meta<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, 0ul>, std::experimental::parallelism_v2::_SimdWrapper<double, 2ul, void> >(std::experimental::parallelism_v2::__tuple_element_meta<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, 0ul>, std::experimental::parallelism_v2::_SimdWrapper<double, 2ul, void>) constauto’,
      inlined from ‘std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_M_apply_per_chunk<std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_sin<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)::{lambda(auto:1, auto:2)#1}>(std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_sin<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)::{lambda(auto:1, auto:2)#1}&&) conststd::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ at /usr/include/c++/15/experimental/bits/simd_fixed_size.h:526:28,
      inlined from ‘std::experimental::parallelism_v2::_SimdImplFixedSize<4, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_sin<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>>(std::experimental::parallelism_v2::_SimdTuple<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::experimental::parallelism_v2::__fixed_size_storage<double, 4>::type’ at /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1578:5,
      inlined from ‘std::experimental::parallelism_v2::sin<double, std::experimental::parallelism_v2::simd_abi::_Fixed<4>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Fixed<4> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Fixed<4> > >::type’ at /usr/include/c++/15/experimental/bits/simd_math.h:518:54,
      inlined from ‘std::experimental::parallelism_v2::sin<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<float>, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’ at /usr/include/c++/15/experimental/bits/simd_math.h:524:11:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1578:5: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1578 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, sin)
        |     ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h: In function ‘ducc0::detail_gridder::expi<float, ducc0::detail_gridder::Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2ul> >::compute_phases(std::vector<std::complex<float>, std::allocator<std::complex<float> > >&, std::vector<float, std::allocator<float> >&, float, ducc0::detail_gridder::UVW const&, ducc0::detail_gridder::RowchanRange const&)::{lambda(unsigned long)#1}>(std::vector<std::complex<float>, std::allocator<std::complex<float> > >&, std::vector<float, std::allocator<float> >&, ducc0::detail_gridder::Wgridder<float, double, float, float, ducc0::detail_mav::cmav<std::complex<float>, 2ul> >::compute_phases(std::vector<std::complex<float>, std::allocator<std::complex<float> > >&, std::vector<float, std::allocator<float> >&, float, ducc0::detail_gridder::UVW const&, ducc0::detail_gridder::RowchanRange const&)::{lambda(unsigned long)#1})void’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:94:52: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
     94 | template<typename T, typename F> [[gnu::hot]] void expi(vector<complex<T>> &res, vector<T> &buf, F getang)
        |                                                    ^~~~
  [26/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/nufft/spreadinterp_inst1.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/nufft/spreadinterp_inst1.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/nufft/spreadinterp_inst1.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_inst1.cc
  In file included from /usr/include/c++/15/experimental/simd:74,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:67,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:24,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_inst1.cc:20:
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator+(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:38:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)> [with auto:854 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                              ~~~~~~~~^~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)> [with auto:854 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:386:24:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    386 |         const _V __y_lo = __y - __y_hi;
        |                           ~~~~^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)> [with auto:854 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)> [with auto:854 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:89:
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::abs(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)> [with auto:854 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:864:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    864 | _GLIBCXX_SIMD_MATH_CALL_(abs)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi>::mask_type std::experimental::parallelism_v2::simd<_Tp, _Abi>::_S_make_mask(typename mask_type::_MemberType) [with _Tp = double; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename mask_type::_MemberType = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_MemberType]’:
  /usr/include/c++/15/experimental/bits/simd.h:5636:32:   required from ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’
   5636 |     { return simd::_S_make_mask(_Impl::_S_less(__x._M_data, __y._M_data)); }
        |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5689:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5689 |     _S_make_mask(typename mask_type::_MemberType __k)
        |     ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::nearbyint(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)> [with auto:854 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:1281:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1281 | _GLIBCXX_SIMD_MATH_CALL_(nearbyint)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr typename _R::mask_type std::experimental::parallelism_v2::__proposed::static_simd_cast(const std::experimental::parallelism_v2::simd_mask<_Up, _Abi>&) [with _Tp = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>; _R = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename _R::mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:5028:48:   required from ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’
   5028 |           return static_simd_cast<simd_mask<_Up, _A2>>(_M_data);
        |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)> [with auto:854 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:3284:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   3284 |   static_simd_cast(const simd_mask<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator*(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:492:25:   required from ‘void ducc0::detail_nufft::Spreadinterp<Tcalc, Tacc, Tcoord, Tidx, 1>::spreading_helper(size_t, const ducc0::detail_mav::cmav<Tcoord, 2>&, const ducc0::detail_mav::cmav<std::complex<Tgrid>, 1>&, const ducc0::detail_mav::vmav<std::complex<_Tp>, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’
    492 |                 tr += vr*ku[cu];
        |                       ~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:312:3:   required from ‘void ducc0::detail_nufft::Spreadinterp<Tcalc, Tacc, Tcoord, Tidx, 1>::spread(const ducc0::detail_mav::cmav<std::complex<_Up>, 1>&, const ducc0::detail_mav::vmav<std::complex<Tgrid>, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’
    255 |       spreading_helper<16>(supp, coords_sorted, points, grid); \
        |       ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:1420:23:   required from ‘void ducc0::detail_nufft::Spreadinterp2<Tcalc, Tacc, Tcoord, Tidx>::spread(const ducc0::detail_mav::cmav<std::complex<_Up>, 1>&, const ducc0::detail_mav::vfmav<std::complex<Tgrid> >&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’
   1420 |   if (si1) si1->spread(points, vmav<complex<Tgrid>,1>(grid));
        |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_inst1.cc:47:1:   required from here
     28 |       const cmav<complex<Tpoints>,1> &points, const vfmav<complex<Tgrid>> &grid); \
        |                                                                                ^
  /usr/include/c++/15/experimental/bits/simd.h:5615:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5615 |     operator*(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  In file included from /usr/include/c++/15/string:51,
                   from /usr/include/c++/15/bitset:54,
                   from /usr/include/c++/15/experimental/bits/simd.h:33:
  /usr/include/c++/15/bits/stl_function.h: In instantiation of ‘constexpr decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) std::plus<void>::operator()(_Tp&&, _Up&&) const [with _Tp = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>&; _Up = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>; decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1708:27:   required from ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = float; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’
   1708 |               __acc = __binary_op(__acc, simd<_Tp, simd_abi::scalar>(__x[__i]));
        |                       ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:3912:38:   required from ‘constexpr _Tp std::experimental::parallelism_v2::reduce(const simd<_Tp, _Ap>&, _BinaryOperation) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; _BinaryOperation = std::plus<void>]’
   3912 |   { return _Abi::_SimdImpl::_S_reduce(__v, __binary_op); }
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:37:29:   required from ‘std::complex<_Tp> ducc0::detail_nufft::hsum_cmplx(mysimd<Tcalc>, mysimd<Tcalc>) [with T = float; mysimd<Tcalc> = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     37 |   { return complex<T>(reduce(vr, plus<>()), reduce(vi, plus<>())); }
        |                       ~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:596:46:   required from ‘void ducc0::detail_nufft::Spreadinterp<Tcalc, Tacc, Tcoord, Tidx, 1>::interpolation_helper(size_t, const ducc0::detail_mav::cmav<std::complex<_Tp>, 1>&, const ducc0::detail_mav::cmav<Tcoord, 2>&, const ducc0::detail_mav::vmav<std::complex<Tgrid>, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’
    596 |               points(row) = hsum_cmplx<Tcalc>(rr,ri);
        |                             ~~~~~~~~~~~~~~~~~^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:312:3:   required from ‘void ducc0::detail_nufft::Spreadinterp<Tcalc, Tacc, Tcoord, Tidx, 1>::interp(const ducc0::detail_mav::cmav<std::complex<Tgrid>, 1>&, const ducc0::detail_mav::vmav<std::complex<_Up>, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’
    265 |       interpolation_helper<16>(supp, grid, coords_sorted, points); \
        |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:1429:23:   required from ‘void ducc0::detail_nufft::Spreadinterp2<Tcalc, Tacc, Tcoord, Tidx>::interp(const ducc0::detail_mav::cfmav<std::complex<Tgrid> >&, const ducc0::detail_mav::vmav<std::complex<_Up>, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’
   1429 |   if (si1) si1->interp(cmav<complex<Tgrid>,1>(grid), points);
        |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_inst1.cc:47:1:   required from here
     30 |       const cfmav<complex<Tgrid>> &grid, const vmav<complex<Tpoints>,1> &points); \
        |                                                                                ^
  /usr/include/c++/15/bits/stl_function.h:251:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
    251 |         operator()(_Tp&& __t, _Up&& __u) const
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:77:
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi> std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_M_make_simd(std::experimental::parallelism_v2::__intrinsic_type_t<_Tp, _Np>) [with _Tp = float; long unsigned int _Np = 4; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>; std::experimental::parallelism_v2::__intrinsic_type_t<_Tp, _Np> = std::experimental::parallelism_v2::__intrinsic_type_impl<float>::type]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1789:29:   required from ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = float; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’
   1789 |                                   _M_make_simd<_Tp, _Np>(__vector_bitcast<_Tp>(
        |                                   ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
   1790 |                                     __vector_permute<3, 2, 1, 0>(__y))));
        |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:3912:38:   required from ‘constexpr _Tp std::experimental::parallelism_v2::reduce(const simd<_Tp, _Ap>&, _BinaryOperation) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; _BinaryOperation = std::plus<void>]’
   3912 |   { return _Abi::_SimdImpl::_S_reduce(__v, __binary_op); }
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:37:29:   required from ‘std::complex<_Tp> ducc0::detail_nufft::hsum_cmplx(mysimd<Tcalc>, mysimd<Tcalc>) [with T = float; mysimd<Tcalc> = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     37 |   { return complex<T>(reduce(vr, plus<>()), reduce(vi, plus<>())); }
        |                       ~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:596:46:   required from ‘void ducc0::detail_nufft::Spreadinterp<Tcalc, Tacc, Tcoord, Tidx, 1>::interpolation_helper(size_t, const ducc0::detail_mav::cmav<std::complex<_Tp>, 1>&, const ducc0::detail_mav::cmav<Tcoord, 2>&, const ducc0::detail_mav::vmav<std::complex<Tgrid>, 1>&) const [with long unsigned int SUPP = 16; Tpoints = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’
    596 |               points(row) = hsum_cmplx<Tcalc>(rr,ri);
        |                             ~~~~~~~~~~~~~~~~~^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:312:3:   required from ‘void ducc0::detail_nufft::Spreadinterp<Tcalc, Tacc, Tcoord, Tidx, 1>::interp(const ducc0::detail_mav::cmav<std::complex<Tgrid>, 1>&, const ducc0::detail_mav::vmav<std::complex<_Up>, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’
    265 |       interpolation_helper<16>(supp, grid, coords_sorted, points); \
        |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:1429:23:   required from ‘void ducc0::detail_nufft::Spreadinterp2<Tcalc, Tacc, Tcoord, Tidx>::interp(const ducc0::detail_mav::cfmav<std::complex<Tgrid> >&, const ducc0::detail_mav::vmav<std::complex<_Up>, 1>&) [with Tpoints = float; Tgrid = float; Tcalc = float; Tacc = float; Tcoord = float; Tidx = unsigned int]’
   1429 |   if (si1) si1->interp(cmav<complex<Tgrid>,1>(grid), points);
        |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_inst1.cc:47:1:   required from here
     30 |       const cfmav<complex<Tgrid>> &grid, const vmav<complex<Tpoints>,1> &points); \
        |                                                                                ^
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1291:7: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1291 |       _M_make_simd(__intrinsic_type_t<_Tp, _Np> __x)
        |       ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In static member function ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = float; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1708:15: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1708 |               __acc = __binary_op(__acc, simd<_Tp, simd_abi::scalar>(__x[__i]));
        |               ^~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1788:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1788 |                 __x = __binary_op(__x,
        |                 ^~~
  [27/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/nufft/spreadinterp_inst2.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/nufft/spreadinterp_inst2.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/nufft/spreadinterp_inst2.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_inst2.cc
  In file included from /usr/include/c++/15/experimental/simd:74,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:67,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:24,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_inst2.cc:20:
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator+(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:38:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)> [with auto:854 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                              ~~~~~~~~^~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)> [with auto:854 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:386:24:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    386 |         const _V __y_lo = __y - __y_hi;
        |                           ~~~~^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)> [with auto:854 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)> [with auto:854 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:89:
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::abs(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)> [with auto:854 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:864:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    864 | _GLIBCXX_SIMD_MATH_CALL_(abs)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi>::mask_type std::experimental::parallelism_v2::simd<_Tp, _Abi>::_S_make_mask(typename mask_type::_MemberType) [with _Tp = double; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename mask_type::_MemberType = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_MemberType]’:
  /usr/include/c++/15/experimental/bits/simd.h:5636:32:   required from ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’
   5636 |     { return simd::_S_make_mask(_Impl::_S_less(__x._M_data, __y._M_data)); }
        |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5689:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5689 |     _S_make_mask(typename mask_type::_MemberType __k)
        |     ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::nearbyint(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)> [with auto:854 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:1281:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1281 | _GLIBCXX_SIMD_MATH_CALL_(nearbyint)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr typename _R::mask_type std::experimental::parallelism_v2::__proposed::static_simd_cast(const std::experimental::parallelism_v2::simd_mask<_Up, _Abi>&) [with _Tp = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>; _R = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename _R::mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:5028:48:   required from ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’
   5028 |           return static_simd_cast<simd_mask<_Up, _A2>>(_M_data);
        |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)> [with auto:854 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:854&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:3284:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   3284 |   static_simd_cast(const simd_mask<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  In file included from /usr/include/c++/15/string:51,
                   from /usr/include/c++/15/bitset:54,
                   from /usr/include/c++/15/experimental/bits/simd.h:33:
  /usr/include/c++/15/bits/stl_function.h: In instantiation of ‘constexpr decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) std::plus<void>::operator()(_Tp&&, _Up&&) const [with _Tp = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>; _Up = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>; decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1702:22:   required from ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = double; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’
   1702 |           return __binary_op(simd<_Tp, simd_abi::scalar>(__x[0]),
        |                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1703 |                              simd<_Tp, simd_abi::scalar>(__x[1]))[0];
        |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:3912:38:   required from ‘constexpr _Tp std::experimental::parallelism_v2::reduce(const simd<_Tp, _Ap>&, _BinaryOperation) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; _BinaryOperation = std::plus<void>]’
   3912 |   { return _Abi::_SimdImpl::_S_reduce(__v, __binary_op); }
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:37:29:   required from ‘std::complex<_Tp> ducc0::detail_nufft::hsum_cmplx(mysimd<Tcalc>, mysimd<Tcalc>) [with T = double; mysimd<Tcalc> = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     37 |   { return complex<T>(reduce(vr, plus<>()), reduce(vi, plus<>())); }
        |                       ~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:596:46:   required from ‘void ducc0::detail_nufft::Spreadinterp<Tcalc, Tacc, Tcoord, Tidx, 1>::interpolation_helper(size_t, const ducc0::detail_mav::cmav<std::complex<_Tp>, 1>&, const ducc0::detail_mav::cmav<Tcoord, 2>&, const ducc0::detail_mav::vmav<std::complex<Tgrid>, 1>&) const [with long unsigned int SUPP = 16; Tpoints = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int; size_t = long unsigned int]’
    596 |               points(row) = hsum_cmplx<Tcalc>(rr,ri);
        |                             ~~~~~~~~~~~~~~~~~^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:312:3:   required from ‘void ducc0::detail_nufft::Spreadinterp<Tcalc, Tacc, Tcoord, Tidx, 1>::interp(const ducc0::detail_mav::cmav<std::complex<Tgrid>, 1>&, const ducc0::detail_mav::vmav<std::complex<_Up>, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’
    265 |       interpolation_helper<16>(supp, grid, coords_sorted, points); \
        |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:1429:23:   required from ‘void ducc0::detail_nufft::Spreadinterp2<Tcalc, Tacc, Tcoord, Tidx>::interp(const ducc0::detail_mav::cfmav<std::complex<Tgrid> >&, const ducc0::detail_mav::vmav<std::complex<_Up>, 1>&) [with Tpoints = double; Tgrid = double; Tcalc = double; Tacc = double; Tcoord = float; Tidx = unsigned int]’
   1429 |   if (si1) si1->interp(cmav<complex<Tgrid>,1>(grid), points);
        |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_inst2.cc:47:1:   required from here
     30 |       const cfmav<complex<Tgrid>> &grid, const vmav<complex<Tpoints>,1> &points); \
        |                                                                                ^
  /usr/include/c++/15/bits/stl_function.h:251:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
    251 |         operator()(_Tp&& __t, _Up&& __u) const
        |         ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:492:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    492 |                 tr += vr*ku[cu];
        |                       ~~^~~~
  In file included from /usr/include/c++/15/experimental/simd:77:
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In static member function ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = double; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1702:29: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1702 |           return __binary_op(simd<_Tp, simd_abi::scalar>(__x[0]),
        |                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1703 |                              simd<_Tp, simd_abi::scalar>(__x[1]))[0];
        |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:593:29: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    593 |                 rr += ku[cu]*mysimd<Tcalc>(pxr,element_aligned_tag());
        |                       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In function ‘std::experimental::parallelism_v2::_SimdImplBuiltin<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_reduce<double, std::plus<void>&>(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::plus<void>&)double’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1702:29: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1702 |           return __binary_op(simd<_Tp, simd_abi::scalar>(__x[0]),
        |                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1703 |                              simd<_Tp, simd_abi::scalar>(__x[1]))[0];
        |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/nufft/spreadinterp_impl.h:26:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘ducc0::detail_gridding_kernel::TemplateKernel<5ul, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::eval3(double, double, double, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:367:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    367 |           tvalz2 = tvalz2*z2 + Tvl(coeff[i+(j+1)*nvec_eval]);
        |                    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [28/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder_inst3.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder_inst3.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder_inst3.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst3.cc
  In file included from /usr/include/c++/15/experimental/simd:74,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:67,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:49,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst3.cc:1:
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator+(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:38:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                              ~~~~~~~~^~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5607:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5607 |     operator+(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator-(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:386:24:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    386 |         const _V __y_lo = __y - __y_hi;
        |                           ~~~~^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5611:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5611 |     operator-(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:89:
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::abs(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:864:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    864 | _GLIBCXX_SIMD_MATH_CALL_(abs)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi>::mask_type std::experimental::parallelism_v2::simd<_Tp, _Abi>::_S_make_mask(typename mask_type::_MemberType) [with _Tp = double; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename mask_type::_MemberType = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::_MemberType]’:
  /usr/include/c++/15/experimental/bits/simd.h:5636:32:   required from ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’
   5636 |     { return simd::_S_make_mask(_Impl::_S_less(__x._M_data, __y._M_data)); }
        |              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5689:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5689 |     _S_make_mask(typename mask_type::_MemberType __k)
        |     ^~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::nearbyint(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:1281:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1281 | _GLIBCXX_SIMD_MATH_CALL_(nearbyint)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr typename _R::mask_type std::experimental::parallelism_v2::__proposed::static_simd_cast(const std::experimental::parallelism_v2::simd_mask<_Up, _Abi>&) [with _Tp = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>; _R = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename _R::mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:5028:48:   required from ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’
   5028 |           return static_simd_cast<simd_mask<_Up, _A2>>(_M_data);
        |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:3284:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   3284 |   static_simd_cast(const simd_mask<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::sin(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:106:20:   required from ‘void ducc0::detail_gridder::expi(std::vector<std::complex<_Tp> >&, std::vector<T>&, F) [with T = double; F = Wgridder<double, double, double, double, ducc0::detail_mav::cmav<std::complex<double>, 2> >::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<double>, 2>&, const ducc0::detail_mav::vmav<double, 2>&, double)::<lambda(size_t, size_t)>::<lambda(size_t)>]’
    106 |     auto vsin = sin(vang);
        |                 ~~~^~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:434:15:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_post2(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav<std::complex<double>, 2>]’
    434 |           expi(phases, buf, [&](size_t i)
        |           ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    435 |             { return Tcalc(phase(xsq, sqr(y0+i*pixsize_y), w, true, nshift)); });
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:523:7:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2dirty_c_overwrite_wscreen_add(const ducc0::detail_mav::vmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, double, size_t) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav<std::complex<double>, 2>; size_t = long unsigned int]’
    523 |       grid2dirty_post2(grid, dirty, w);
        |       ^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1440:11:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::x2dirty() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav<std::complex<double>, 2>]’
   1440 |           grid2dirty_c_overwrite_wscreen_add(grid, dirty_out, w, pl);
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:18:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav<std::complex<double>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                  ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav<std::complex<double>, 2>; Timg = double; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/experimental/bits/simd_math.h:514:3: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    514 |   sin(const simd<_Tp, _Abi>& __x)
        |   ^~~
  In file included from /usr/include/c++/15/string:51,
                   from /usr/include/c++/15/bits/locale_classes.h:42,
                   from /usr/include/c++/15/bits/ios_base.h:43,
                   from /usr/include/c++/15/ios:46,
                   from /usr/include/c++/15/istream:42,
                   from /usr/include/c++/15/sstream:42,
                   from /usr/include/c++/15/complex:50,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:24:
  /usr/include/c++/15/bits/stl_function.h: In instantiation of ‘constexpr decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) std::plus<void>::operator()(_Tp&&, _Up&&) const [with _Tp = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>; _Up = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>; decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1702:22:   required from ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = double; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’
   1702 |           return __binary_op(simd<_Tp, simd_abi::scalar>(__x[0]),
        |                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1703 |                              simd<_Tp, simd_abi::scalar>(__x[1]))[0];
        |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:3912:38:   required from ‘constexpr _Tp std::experimental::parallelism_v2::reduce(const simd<_Tp, _Ap>&, _BinaryOperation) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; _BinaryOperation = std::plus<void>]’
   3912 |   { return _Abi::_SimdImpl::_S_reduce(__v, __binary_op); }
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:115:29:   required from ‘std::complex<_Tp> ducc0::detail_gridder::hsum_cmplx(mysimd<T>, mysimd<T>) [with T = double; mysimd<T> = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
    115 |   { return complex<T>(reduce(vr, plus<>()), reduce(vi, plus<>())); }
        |                       ~~~~~~^~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1320:43:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2x_c_helper(size_t, const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, size_t, double) [with long unsigned int SUPP = 16; bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav<std::complex<double>, 2>; size_t = long unsigned int]’
   1320 |                 auto r = hsum_cmplx<Tcalc>(rr,ri);
        |                          ~~~~~~~~~~~~~~~~~^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1339:38:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::grid2x_c(const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, size_t, double) [with bool wgrid = true; Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav<std::complex<double>, 2>; size_t = long unsigned int]’
   1339 |       grid2x_c_helper<maxsupp, wgrid>(supp, grid, p0, w0);
        |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1478:25:   required from ‘void ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::dirty2x() [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav<std::complex<double>, 2>]’
   1478 |           grid2x_c<true>(grid, pl, w);
        |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1692:30:   required from ‘ducc0::detail_gridder::Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in>::Wgridder(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::vmav<std::complex<Tms>, 2>&, const ducc0::detail_mav::cmav<Timg, 2>&, const ducc0::detail_mav::vmav<Timg, 2>&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Timg = double; Tms_in = ducc0::detail_mav::cmav<std::complex<double>, 2>; size_t = long unsigned int]’
   1692 |       gridding ? x2dirty() : dirty2x();
        |                              ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1710:44:   required from ‘void ducc0::detail_gridder::ms2dirty(const ducc0::detail_mav::cmav<double, 2>&, const ducc0::detail_mav::cmav<double, 1>&, const Tms_in&, const ducc0::detail_mav::cmav<Tms, 2>&, const ducc0::detail_mav::cmav<unsigned char, 2>&, double, double, double, bool, size_t, const ducc0::detail_mav::vmav<Timg, 2>&, size_t, bool, bool, bool, bool, double, double, double, double, bool) [with Tcalc = double; Tacc = double; Tms = double; Tms_in = ducc0::detail_mav::cmav<std::complex<double>, 2>; Timg = double; size_t = long unsigned int]’
   1710 |   Wgridder<Tcalc, Tacc, Tms, Timg, Tms_in> par(uvw, freq, ms, ms_out, dirty_in, dirty, wgt, mask, pixsize_x,
        |                                            ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_inst_inc.h:6:72:   required from here
      6 |   double sigma_max, double center_x, double center_y, bool allow_nshift);
        |                                                                        ^
  /usr/include/c++/15/bits/stl_function.h:251:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
    251 |         operator()(_Tp&& __t, _Up&& __u) const
        |         ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1211:34: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1211 |                     mysimd<Tacc> tmpr=vr*ku[cu], tmpi=vi*ku[cu];
        |                                  ^~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:499:26: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    499 |             return __r ^ __sign_flip;
        |                          ^~~~~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:73:
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:14: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |              ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:371:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    371 |         __r._M_x -= __y * 0x1.921FB54443000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:378:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    378 |         __r._M_x -= __y * 0x1.921FB40000000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >& std::experimental::parallelism_v2::operator-=(simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5595:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5595 |     { return __lhs = __lhs - __x; }
        |                              ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In member function ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<_Tp, _Ap> std::experimental::parallelism_v2::__float_bitwise_operators::operator^(const std::experimental::parallelism_v2::simd<_Tp, _Ap>&, const std::experimental::parallelism_v2::simd<_Tp, _Ap>&) [with _Tp = double; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5714:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5714 |   operator^(const simd<_Tp, _Ap>& __a, const simd<_Tp, _Ap>& __b)
        |   ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::sin(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:544:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    544 |             where(__need_sin.__cvt(), __r) = __sinSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:545:34: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    545 |             return __sign_flip ^ __r;
        |                                  ^~~
  In file included from /usr/include/c++/15/experimental/simd:77:
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In static member function ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = double; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1702:29: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1702 |           return __binary_op(simd<_Tp, simd_abi::scalar>(__x[0]),
        |                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1703 |                              simd<_Tp, simd_abi::scalar>(__x[1]))[0];
        |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:1312:37: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1312 |                       tmpr += kv[cv]*mysimd<Tcalc>(pxr,element_aligned_tag());
        |                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::__fold_input<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::experimental::parallelism_v2::_Folded<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:380:25: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    380 |         __r._M_x -= __y * 0x1.8469898CC5170p-48;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:57: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                                              ~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::sin<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:544:35: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    544 |             where(__need_sin.__cvt(), __r) = __sinSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:544:57: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    544 |             where(__need_sin.__cvt(), __r) = __sinSeries(__f._M_x);
        |                                              ~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In function ‘std::experimental::parallelism_v2::_SimdImplBuiltin<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_reduce<double, std::plus<void>&>(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::plus<void>&)double’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1702:29: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1702 |           return __binary_op(simd<_Tp, simd_abi::scalar>(__x[0]),
        |                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1703 |                              simd<_Tp, simd_abi::scalar>(__x[1]))[0];
        |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:51:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘ducc0::detail_gridding_kernel::TemplateKernel<4ul, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::eval2s(double, double, double, unsigned long, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:265:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    265 |         tvaly2 = tvaly2*y2 + Tvl(coeff[(j+1)*nvec_eval]);
        |                  ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [29/30] /usr/bin/g++ -DPKGNAME=ducc0 -DPKGVERSION=0.37.1 -Dducc0_EXPORTS -I/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src -isystem /usr/include/python3.13 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -Wfatal-errors -Wfloat-conversion -W -Wall -Wstrict-aliasing -Wwrite-strings -Wredundant-decls -Woverloaded-virtual -Wcast-qual -Wcast-align -Wpointer-arith -Wnon-virtual-dtor -Wzero-as-null-pointer-constant -g -O3 -ffast-math -O2 -flto=auto -ffat-lto-objects -fexceptions -grecord-gcc-switches -pipe -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -MD -MT CMakeFiles/ducc0.dir/src/ducc0/sht/sht.cc.o -MF CMakeFiles/ducc0.dir/src/ducc0/sht/sht.cc.o.d -o CMakeFiles/ducc0.dir/src/ducc0/sht/sht.cc.o -c /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc
  In file included from /usr/include/c++/15/experimental/simd:74,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:67,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:30:
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator!=(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:468:35:   required from here
    468 |   mask = (abs(val)<vfmin) & (val!=0);
        |                                   ^
  /usr/include/c++/15/experimental/bits/simd.h:5628:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5628 |     operator!=(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator*(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5599:28:   required from ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >& std::experimental::parallelism_v2::operator*=(simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’
   5599 |     { return __lhs = __lhs * __x; }
        |                      ~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:490:14:   required from here
    490 |         res*=val;
        |              ^~~
  /usr/include/c++/15/experimental/bits/simd.h:5615:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5615 |     operator*(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:527:16:   required from here
    527 |   where(scale<-0.5,corfac)=0;
        |                ^~~
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  In file included from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sphere_interpol.h:37,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:32:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In instantiation of ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:80:51: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
     80 |     template<typename T> [[gnu::always_inline]] T corfunc(T v) const
        |                                                   ^~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator&(const simd_mask<double, simd_abi::_VecBuiltin<16> >&, const simd_mask<double, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:468:36:   required from here
    468 |   mask = (abs(val)<vfmin) & (val!=0);
        |                                    ^
  /usr/include/c++/15/experimental/bits/simd.h:4947:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   4947 |     operator&(const simd_mask& __x, const simd_mask& __y)
        |     ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:89:
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::sqrt(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:810:31:   required from here
    810 |     Tv cth2=max(Tv(1e-15),sqrt((1.+d.cth[i])*0.5));
        |                           ~~~~^~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:1274:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1274 | _GLIBCXX_SIMD_MATH_CALL_(sqrt)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/c++/15/bits/refwrap.h:41,
                   from /usr/include/c++/15/vector:70,
                   from /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:24:
  /usr/include/c++/15/bits/stl_function.h: In instantiation of ‘constexpr decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) std::plus<void>::operator()(_Tp&&, _Up&&) const [with _Tp = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>; _Up = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>; decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1702:22:   required from ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = double; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’
   1702 |           return __binary_op(simd<_Tp, simd_abi::scalar>(__x[0]),
        |                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1703 |                              simd<_Tp, simd_abi::scalar>(__x[1]))[0];
        |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:3912:38:   required from ‘constexpr _Tp std::experimental::parallelism_v2::reduce(const simd<_Tp, _Ap>&, _BinaryOperation) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; _BinaryOperation = std::plus<void>]’
   3912 |   { return _Abi::_SimdImpl::_S_reduce(__v, __binary_op); }
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:399:34:   required from here
    399 |   cc[0] += complex<double>(reduce(a,std::plus<>()),reduce(b,std::plus<>()));
        |                            ~~~~~~^~~~~~~~~~~~~~~~~
  /usr/include/c++/15/bits/stl_function.h:251:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
    251 |         operator()(_Tp&& __t, _Up&& __u) const
        |         ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<=(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5639:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5639 |     operator<=(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr _R std::experimental::parallelism_v2::static_simd_cast(const simd<_Up, _Abi>&) [with _Tp = simd<double, simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = simd_abi::_VecBuiltin<8>; _R = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:488:37:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    488 |           = _V(-0.f) & static_simd_cast<_V>((1 + __f._M_quadrant) << 30);
        |                        ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:3267:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   3267 |   static_simd_cast(const simd<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In instantiation of ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::nearbyint(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >; std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29:   required from ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:480:31:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    480 |         const auto __f = __fold_input(__x);
        |                          ~~~~~~~~~~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd_math.h:1281:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1281 | _GLIBCXX_SIMD_MATH_CALL_(nearbyint)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr typename _R::mask_type std::experimental::parallelism_v2::__proposed::static_simd_cast(const std::experimental::parallelism_v2::simd_mask<_Up, _Abi>&) [with _Tp = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; _Up = int; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>; _R = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >; typename _R::mask_type = std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd.h:5028:48:   required from ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’
   5028 |           return static_simd_cast<simd_mask<_Up, _A2>>(_M_data);
        |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:28:   required from ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>; std::enable_if_t<((bool)is_floating_point_v<_Tp>), simd<_Tp, _Ap> > = simd<double, simd_abi::_VecBuiltin<16> >]’
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:84:32:   required from ‘T ducc0::detail_gridding_kernel::KernelCorrection::corfunc(T) const [with T = std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >]’
     84 |         tmp += T(wgtpsi[i])*cos(T(x[i])*v);
        |                             ~~~^~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:29:   required from ‘ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)> [with auto:868 = ducc0::detail_threading::Scheduler]’
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                      ~~~~~~~^~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2781:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&; _Args = {ducc0::detail_threading::Scheduler&}]’
   2781 |       std::declval<_Fn>()(std::declval<_Args>()...)
        |       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/type_traits:2792:60:   required from ‘struct std::__result_of_impl<false, false, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>’
   2792 |       using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
        |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
  /usr/include/c++/15/bits/std_function.h:350:9:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&>; _Ret = void]’
    350 |         struct _Callable
        |                ^~~~~~~~~
  /usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >’
  /usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<void(ducc0::detail_threading::Scheduler&)>::_Callable<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>, std::__invoke_result<ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>&, ducc0::detail_threading::Scheduler&> >; _Tp = void; _Res = void; _ArgTypes = {ducc0::detail_threading::Scheduler&}]’
    355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
        |                                                ^~~~~
  /usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<void(ducc0::detail_threading::Scheduler&)>::function(_Functor&&) [with _Functor = ducc0::detail_gridding_kernel::KernelCorrection::corfunc(size_t, double, int) const::<lambda(auto:868&)>; _Constraints = void]’
    436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
        |                ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:94:17:   required from here
     94 |       execStatic(n, nthreads, 0, [&](auto &sched)
        |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     95 |         {
        |         ~
     96 |         while (auto rng=sched.getNext())
        |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97 |           {
        |           ~
     98 |           auto i = rng.lo;
        |           ~~~~~~~~~~~~~~~~
     99 |           for (; i+vlen<=rng.hi; i+=vlen)
        |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    100 |             {
        |             ~
    101 |             auto v = corfunc(itimesdx+i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    102 |             v.copy_to(&res[i],element_aligned_tag());
        |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    103 |             }
        |             ~
    104 |           for(; i<rng.hi; ++i)
        |           ~~~~~~~~~~~~~~~~~~~~
    105 |             res[i] = corfunc(i*dx);
        |             ~~~~~~~~~~~~~~~~~~~~~~~
    106 |           }
        |           ~
    107 |         });
        |         ~~
  /usr/include/c++/15/experimental/bits/simd.h:3284:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   3284 |   static_simd_cast(const simd_mask<_Up, _Ap>& __x)
        |   ^~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In instantiation of ‘constexpr std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > std::experimental::parallelism_v2::operator*(const simd<float, simd_abi::_VecBuiltin<16> >&, const simd<float, simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sphere_interpol.h:243:43:   required from ‘void ducc0::detail_sphereinterpol::SphereInterpol<T>::interpolx(size_t, const ducc0::detail_mav::cmav<T, 3>&, size_t, size_t, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::vmav<T, 2>&, ducc0::detail_timers::TimerHierarchy&) const [with long unsigned int supp = 8; Tloc = double; T = float; size_t = long unsigned int]’
    243 |                   ttres0 += hlp.wphi[iphi]*Tsimd(ptr0+iphi*vlen,element_aligned_tag());
        |                             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sphere_interpol.h:569:25:   required from ‘void ducc0::detail_sphereinterpol::SphereInterpol<T>::interpol(const ducc0::detail_mav::cmav<T, 3>&, size_t, size_t, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::vmav<T, 2>&, ducc0::detail_timers::TimerHierarchy&) const [with Tloc = double; T = float; size_t = long unsigned int]’
    569 |       interpolx<maxsupp>(kernel->support(), cube, itheta0, iphi0, theta, phi, signal, timers);
        |       ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:2948:17:   required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<T, 2>&, size_t, size_t, const ducc0::detail_mav::cmav<long unsigned int, 1>&, ptrdiff_t, const ducc0::detail_mav::cmav<Tloc, 2>&, double, double, double, size_t, SHT_mode, bool) [with T = float; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’
   2948 |   inter.interpol(planes, 0, 0, xtheta, xphi, map, timers);
        |   ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:2956:99:   required from here
   2956 |   double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose);
        |                                                                                                   ^
  /usr/include/c++/15/experimental/bits/simd.h:5615:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5615 |     operator*(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/bits/stl_function.h: In instantiation of ‘constexpr decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) std::plus<void>::operator()(_Tp&&, _Up&&) const [with _Tp = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>&; _Up = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>; decltype ((forward<_Tp>(__t) + forward<_Up>(__u))) = std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1708:27:   required from ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = float; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’
   1708 |               __acc = __binary_op(__acc, simd<_Tp, simd_abi::scalar>(__x[__i]));
        |                       ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:3912:38:   required from ‘constexpr _Tp std::experimental::parallelism_v2::reduce(const simd<_Tp, _Ap>&, _BinaryOperation) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; _BinaryOperation = std::plus<void>]’
   3912 |   { return _Abi::_SimdImpl::_S_reduce(__v, __binary_op); }
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sphere_interpol.h:249:36:   required from ‘void ducc0::detail_sphereinterpol::SphereInterpol<T>::interpolx(size_t, const ducc0::detail_mav::cmav<T, 3>&, size_t, size_t, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::vmav<T, 2>&, ducc0::detail_timers::TimerHierarchy&) const [with long unsigned int supp = 8; Tloc = double; T = float; size_t = long unsigned int]’
    249 |               signal(0, i) = reduce(tres0, std::plus<>());
        |                              ~~~~~~^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sphere_interpol.h:569:25:   required from ‘void ducc0::detail_sphereinterpol::SphereInterpol<T>::interpol(const ducc0::detail_mav::cmav<T, 3>&, size_t, size_t, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::vmav<T, 2>&, ducc0::detail_timers::TimerHierarchy&) const [with Tloc = double; T = float; size_t = long unsigned int]’
    569 |       interpolx<maxsupp>(kernel->support(), cube, itheta0, iphi0, theta, phi, signal, timers);
        |       ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:2948:17:   required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<T, 2>&, size_t, size_t, const ducc0::detail_mav::cmav<long unsigned int, 1>&, ptrdiff_t, const ducc0::detail_mav::cmav<Tloc, 2>&, double, double, double, size_t, SHT_mode, bool) [with T = float; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’
   2948 |   inter.interpol(planes, 0, 0, xtheta, xphi, map, timers);
        |   ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:2956:99:   required from here
   2956 |   double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose);
        |                                                                                                   ^
  /usr/include/c++/15/bits/stl_function.h:251:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
    251 |         operator()(_Tp&& __t, _Up&& __u) const
        |         ^~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:77:
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In instantiation of ‘static constexpr std::experimental::parallelism_v2::simd<_Tp, _Abi> std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_M_make_simd(std::experimental::parallelism_v2::__intrinsic_type_t<_Tp, _Np>) [with _Tp = float; long unsigned int _Np = 4; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>; std::experimental::parallelism_v2::__intrinsic_type_t<_Tp, _Np> = std::experimental::parallelism_v2::__intrinsic_type_impl<float>::type]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1789:29:   required from ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = float; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’
   1789 |                                   _M_make_simd<_Tp, _Np>(__vector_bitcast<_Tp>(
        |                                   ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
   1790 |                                     __vector_permute<3, 2, 1, 0>(__y))));
        |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h:3912:38:   required from ‘constexpr _Tp std::experimental::parallelism_v2::reduce(const simd<_Tp, _Ap>&, _BinaryOperation) [with _Tp = float; _Abi = simd_abi::_VecBuiltin<16>; _BinaryOperation = std::plus<void>]’
   3912 |   { return _Abi::_SimdImpl::_S_reduce(__v, __binary_op); }
        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sphere_interpol.h:249:36:   required from ‘void ducc0::detail_sphereinterpol::SphereInterpol<T>::interpolx(size_t, const ducc0::detail_mav::cmav<T, 3>&, size_t, size_t, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::vmav<T, 2>&, ducc0::detail_timers::TimerHierarchy&) const [with long unsigned int supp = 8; Tloc = double; T = float; size_t = long unsigned int]’
    249 |               signal(0, i) = reduce(tres0, std::plus<>());
        |                              ~~~~~~^~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sphere_interpol.h:569:25:   required from ‘void ducc0::detail_sphereinterpol::SphereInterpol<T>::interpol(const ducc0::detail_mav::cmav<T, 3>&, size_t, size_t, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::cmav<Tloc, 1>&, const ducc0::detail_mav::vmav<T, 2>&, ducc0::detail_timers::TimerHierarchy&) const [with Tloc = double; T = float; size_t = long unsigned int]’
    569 |       interpolx<maxsupp>(kernel->support(), cube, itheta0, iphi0, theta, phi, signal, timers);
        |       ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:2948:17:   required from ‘void ducc0::detail_sht::synthesis_general(const ducc0::detail_mav::cmav<std::complex<_Tp>, 2>&, const ducc0::detail_mav::vmav<T, 2>&, size_t, size_t, const ducc0::detail_mav::cmav<long unsigned int, 1>&, ptrdiff_t, const ducc0::detail_mav::cmav<Tloc, 2>&, double, double, double, size_t, SHT_mode, bool) [with T = float; Tloc = double; size_t = long unsigned int; ptrdiff_t = long int]’
   2948 |   inter.interpol(planes, 0, 0, xtheta, xphi, map, timers);
        |   ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:2956:99:   required from here
   2956 |   double epsilon, double sigma_min, double sigma_max, size_t nthreads, SHT_mode mode, bool verbose);
        |                                                                                                   ^
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1291:7: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1291 |       _M_make_simd(__intrinsic_type_t<_Tp, _Np> __x)
        |       ^~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:101:18: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    101 |             auto v = corfunc(itimesdx+i*dx);
        |                  ^
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), std::experimental::parallelism_v2::simd<_Tp, _Ap> > std::experimental::parallelism_v2::cos(const simd<_Tp, _Ap>&) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = __detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:499:26: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    499 |             return __r ^ __sign_flip;
        |                          ^~~~~~~~~~~
  In file included from /usr/include/c++/15/experimental/simd:73:
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::_Folded<double, _Abi> std::experimental::parallelism_v2::__fold_input(const simd<double, _Abi>&) [with _Abi = simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:14: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |              ^~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:371:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    371 |         __r._M_x -= __y * 0x1.921FB54443000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:378:25: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    378 |         __r._M_x -= __y * 0x1.921FB40000000p0;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type std::experimental::parallelism_v2::operator<(const simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5635:5: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   5635 |     operator<(const simd& __x, const simd& __y)
        |     ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >& std::experimental::parallelism_v2::operator-=(simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5595:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5595 |     { return __lhs = __lhs - __x; }
        |                              ^~~
  /usr/include/c++/15/experimental/bits/simd.h: In member function ‘std::experimental::parallelism_v2::simd_mask<_Tp, _Abi>::_CvtProxy::operator std::experimental::parallelism_v2::simd_mask<_Up, _A2>() && [with _Up = double; _A2 = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-2-3> = void; _Tp = int; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<8>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5025:9: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5025 |         operator simd_mask<_Up, _A2>() &&
        |         ^~~~~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<_Tp, _Ap> std::experimental::parallelism_v2::__float_bitwise_operators::operator^(const std::experimental::parallelism_v2::simd<_Tp, _Ap>&, const std::experimental::parallelism_v2::simd<_Tp, _Ap>&) [with _Tp = double; _Ap = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>]’:
  /usr/include/c++/15/experimental/bits/simd.h:5714:3: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5714 |   operator^(const simd<_Tp, _Ap>& __a, const simd<_Tp, _Ap>& __b)
        |   ^~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::calc_alm2map(const dcmplx*, const Ylmgen&, s0data_v&, size_t)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:675:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    675 |     full_ieee &= all_of(d.scale[i]>=0);
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:686:40: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    686 |       d.p1r[i] += d.lam2[i]*d.corfac[i]*ar1;
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:695:37: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    695 |       full_ieee &= all_of(d.scale[i]>=0);
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::iter_to_ieee(const Ylmgen&, s0data_v&, size_t&, size_t&, size_t)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:568:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    568 |       d.lam1[i] = (a1*d.csq[i] + b1)*d.lam2[i] + d.lam1[i];
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:571:41: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    571 |         below_limit &= all_of(d.scale[i]<1);
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::mypow(Tv, size_t, const std::vector<double>&, Tv&, Tv&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:479:13: note: parameter passing for argument of type ‘ducc0::detail_sht::Tv’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    479 | static void mypow(Tv val, size_t npow, const vector<double> &powlimit,
        |             ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:483:24: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    483 |   auto mask = abs(val)<vminv;
        |                        ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:483:18: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    483 |   auto mask = abs(val)<vminv;
        |               ~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:483:24: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    483 |   auto mask = abs(val)<vminv;
        |                        ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::Tvnormalize(Tv&, Tv&, double)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:461:18: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    461 |   auto mask = abs(val)>vfmax;
        |               ~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:461:24: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    461 |   auto mask = abs(val)>vfmax;
        |                        ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:466:15: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    466 |     mask = abs(val)>vfmax;
        |            ~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:466:10: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    466 |     mask = abs(val)>vfmax;
        |     ~~~~~^~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:468:14: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    468 |   mask = (abs(val)<vfmin) & (val!=0);
        |           ~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:468:19: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    468 |   mask = (abs(val)<vfmin) & (val!=0);
        |          ~~~~~~~~~^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:473:16: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    473 |     mask = (abs(val)<vfmin) & (val!=0);
        |             ~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:473:21: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    473 |     mask = (abs(val)<vfmin) & (val!=0);
        |            ~~~~~~~~~^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘bool ducc0::detail_sht::rescale(Tv&, Tv&, Tv&, Tv)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:532:20: note: parameter passing for argument of type ‘ducc0::detail_sht::Tv’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    532 | static inline bool rescale(Tv &v1, Tv &v2, Tv &s, Tv eps)
        |                    ^~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:534:23: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    534 |   auto mask = abs(v2)>eps;
        |                       ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:534:18: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    534 |   auto mask = abs(v2)>eps;
        |               ~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:534:23: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    534 |   auto mask = abs(v2)>eps;
        |                       ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::getCorfac(Tv, Tv&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:519:20: note: parameter passing for argument of type ‘ducc0::detail_sht::Tv’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    519 | static inline void getCorfac(Tv scale, Tv & DUCC0_RESTRICT corfac)
        |                    ^~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:527:14: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    527 |   where(scale<-0.5,corfac)=0;
        |         ~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘constexpr std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >& std::experimental::parallelism_v2::operator*=(simd<double, simd_abi::_VecBuiltin<16> >&, const simd<double, simd_abi::_VecBuiltin<16> >&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5599:30: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5599 |     { return __lhs = __lhs * __x; }
        |                              ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::calc_alm2map_spin(const dcmplx*, const Ylmgen&, sxdata_v&, size_t)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:945:33: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    945 |     full_ieee &= all_of(d.scp[i]>=0) &&
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:960:16: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    960 |       d.l1p[i] = (d.cth[i]*fx10 - fx11)*d.l2p[i] - d.l1p[i];
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:980:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    980 |       full_ieee &= all_of(d.scp[i]>=0);
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::iter_to_ieee_spin(const Ylmgen&, sxdata_v&, size_t&, size_t)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:810:50: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    810 |     Tv cth2=max(Tv(1e-15),sqrt((1.+d.cth[i])*0.5));
        |                                                  ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:812:24: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    812 |     auto mask=d.sth[i]<0;
        |                        ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:824:14: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    824 |     d.l2p[i] = prefac*ccp;
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:844:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    844 |     below_limit &= all_of(d.scm[i]<1) &&
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:858:16: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    858 |       d.l1p[i] = (d.cth[i]*fx10 - fx11)*d.l2p[i] - d.l1p[i];
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:866:39: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    866 |         below_limit &= all_of(d.scp[i]<1) &&
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::enable_if_t<((bool)is_floating_point_v<_Tp>), _R> std::experimental::parallelism_v2::sqrt(simd<_Tp, _Ap>) [with _Tp = double; _Abi = simd_abi::_VecBuiltin<16>; <template-parameter-1-3> = {}; _R = simd<double, simd_abi::_VecBuiltin<16> >]’:
  /usr/include/c++/15/experimental/bits/simd_math.h:1274:1: note: parameter passing for argument of type ‘std::enable_if_t<true, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1274 | _GLIBCXX_SIMD_MATH_CALL_(sqrt)
        | ^~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::calc_alm2map_spin_gradonly(const dcmplx*, const Ylmgen&, sxdata_v&, size_t)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1194:33: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1194 |     full_ieee &= all_of(d.scp[i]>=0) &&
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1207:16: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1207 |       d.l1p[i] = (d.cth[i]*fx10 - fx11)*d.l2p[i] - d.l1p[i];
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1227:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1227 |       full_ieee &= all_of(d.scp[i]>=0);
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::alm2map_spin_gradonly_kernel(sxdata_v&, const std::vector<Ylmgen::dbl2>&, const dcmplx*, size_t, size_t, size_t)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1149:16: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1149 |       d.l1p[i] = (d.cth[i]*fx10 - fx11)*d.l2p[i] - d.l1p[i];
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::calc_map2alm(dcmplx*, const Ylmgen&, s0data_v&, size_t)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:766:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    766 |     full_ieee &= all_of(d.scale[i]>=0);
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:776:39: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    776 |       atmp[0] += d.lam2[i]*d.corfac[i]*d.p1r[i];
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:785:37: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    785 |       full_ieee &= all_of(d.scale[i]>=0);
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::vhsum_cmplx_special(Tv, Tv, Tv, Tv, std::complex<double>*)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:396:20: note: parameter passing for argument of type ‘ducc0::detail_sht::Tv’ {aka ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
    396 | static inline void vhsum_cmplx_special (Tv a, Tv b, Tv c, Tv d,
        |                    ^~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In static member function ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = double; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1702:29: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1702 |           return __binary_op(simd<_Tp, simd_abi::scalar>(__x[0]),
        |                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1703 |                              simd<_Tp, simd_abi::scalar>(__x[1]))[0];
        |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::map2alm_kernel(s0data_v&, const std::vector<Ylmgen::dbl2>&, dcmplx*, size_t, size_t, size_t, size_t)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:721:28: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    721 |       atmp1[0] += d.lam2[i]*d.p1r[i];
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::calc_map2alm_spin(dcmplx*, const Ylmgen&, sxdata_v&, size_t)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1076:33: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1076 |     full_ieee &= all_of(d.scp[i]>=0) &&
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1097:16: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1097 |       d.l1p[i] = (d.cth[i]*fx10 - fx11)*d.l2p[i] - d.l1p[i];
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1114:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1114 |       full_ieee &= all_of(d.scp[i]>=0);
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::map2alm_spin_kernel(sxdata_v&, const std::vector<Ylmgen::dbl2>&, dcmplx*, size_t, size_t, size_t)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1021:16: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1021 |       d.l1p[i] = (d.cth[i]*fx10 - fx11)*d.l2p[i] - d.l1p[i];
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::calc_map2alm_spin_gradonly(dcmplx*, const Ylmgen&, sxdata_v&, size_t)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1313:33: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1313 |     full_ieee &= all_of(d.scp[i]>=0) &&
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1334:16: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1334 |       d.l1p[i] = (d.cth[i]*fx10 - fx11)*d.l2p[i] - d.l1p[i];
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1347:35: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >::mask_type’ {aka ‘std::experimental::parallelism_v2::simd_mask<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’} when C++17 is enabled changed to match C++14 in GCC 10.1
   1347 |       full_ieee &= all_of(d.scp[i]>=0);
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘void ducc0::detail_sht::map2alm_spin_gradonly_kernel(sxdata_v&, const std::vector<Ylmgen::dbl2>&, dcmplx*, size_t, size_t, size_t)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1268:16: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1268 |       d.l1p[i] = (d.cth[i]*fx10 - fx11)*d.l2p[i] - d.l1p[i];
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sphere_interpol.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sphere_interpol.h:227:44: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    227 |                 tres0 += hlp.wtheta[itheta]*Tsimd(ptr0, element_aligned_tag());
        |                          ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In static member function ‘static constexpr _Tp std::experimental::parallelism_v2::_SimdImplBuiltin<_Abi, <template-parameter-1-2> >::_S_reduce(std::experimental::parallelism_v2::simd<_Tp, _Abi>, _BinaryOperation&&) [with _Tp = float; _BinaryOperation = std::plus<void>&; _Abi = std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>; <template-parameter-1-2> = std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7, 10>]’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1708:15: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_Scalar>’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1708 |               __acc = __binary_op(__acc, simd<_Tp, simd_abi::scalar>(__x[__i]));
        |               ^~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1788:17: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1788 |                 __x = __binary_op(__x,
        |                 ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sphere_interpol.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sphere_interpol.h:243:43: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    243 |                   ttres0 += hlp.wphi[iphi]*Tsimd(ptr0+iphi*vlen,element_aligned_tag());
        |                             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sphere_interpol.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sphere_interpol.h:348:21: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    348 |               Tsimd tmp0=signal(0, i)*hlp.wphi[0];
        |                     ^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sphere_interpol.h: In lambda function:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sphere_interpol.h:370:22: note: parameter passing for argument of type ‘std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’ when C++17 is enabled changed to match C++14 in GCC 10.1
    370 |                 auto ttmp0=tmp0*hlp.wtheta[itheta];
        |                      ^~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In function ‘std::experimental::parallelism_v2::_SimdImplBuiltin<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_reduce<double, std::plus<void>&>(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::plus<void>&)double’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1702:29: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1702 |           return __binary_op(simd<_Tp, simd_abi::scalar>(__x[0]),
        |                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1703 |                              simd<_Tp, simd_abi::scalar>(__x[1]))[0];
        |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘ducc0::detail_sht::map2alm_kernel(ducc0::detail_sht::s0data_v&, std::vector<ducc0::detail_sht::Ylmgen::dbl2, std::allocator<ducc0::detail_sht::Ylmgen::dbl2> > const&, std::complex<double>*, unsigned long, unsigned long, unsigned long, unsigned long)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:730:46: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    730 |       d.lam2[i] = (a2*d.csq[i] + b2)*d.lam1[i] + d.lam2[i];
        |                                              ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘ducc0::detail_sht::Tvnormalize(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, double)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:461:24: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    461 |   auto mask = abs(val)>vfmax;
        |                        ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:461:18: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    461 |   auto mask = abs(val)>vfmax;
        |               ~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:466:21: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    466 |     mask = abs(val)>vfmax;
        |                     ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:466:15: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    466 |     mask = abs(val)>vfmax;
        |            ~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:468:36: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    468 |   mask = (abs(val)<vfmin) & (val!=0);
        |                                    ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:468:14: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    468 |   mask = (abs(val)<vfmin) & (val!=0);
        |           ~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:473:38: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    473 |     mask = (abs(val)<vfmin) & (val!=0);
        |                                      ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:473:16: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    473 |     mask = (abs(val)<vfmin) & (val!=0);
        |             ~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘ducc0::detail_sht::mypow(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, unsigned long, std::vector<double, std::allocator<double> > const&, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:483:24: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    483 |   auto mask = abs(val)<vminv;
        |                        ^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:483:18: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    483 |   auto mask = abs(val)<vminv;
        |               ~~~^~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘ducc0::detail_sht::rescale(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:534:23: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    534 |   auto mask = abs(v2)>eps;
        |                       ^~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:534:18: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    534 |   auto mask = abs(v2)>eps;
        |               ~~~^~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘ducc0::detail_sht::iter_to_ieee(ducc0::detail_sht::Ylmgen const&, ducc0::detail_sht::s0data_v&, unsigned long&, unsigned long&, unsigned long)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:557:38: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    557 |     below_limit &= all_of(d.scale[i]<1);
        |                                      ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:569:46: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    569 |       d.lam2[i] = (a2*d.csq[i] + b2)*d.lam1[i] + d.lam2[i];
        |                                              ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:571:42: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    571 |         below_limit &= all_of(d.scale[i]<1);
        |                                          ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘ducc0::detail_sht::calc_alm2map(std::complex<double> const*, ducc0::detail_sht::Ylmgen const&, ducc0::detail_sht::s0data_v&, unsigned long)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:690:41: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    690 |       Tv tmp = (a*d.csq[i] + b)*d.lam2[i] + d.lam1[i];
        |                                         ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:695:39: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    695 |       full_ieee &= all_of(d.scale[i]>=0);
        |                                       ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘ducc0::detail_sht::calc_map2alm(std::complex<double>*, ducc0::detail_sht::Ylmgen const&, ducc0::detail_sht::s0data_v&, unsigned long)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:780:41: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    780 |       Tv tmp = (a*d.csq[i] + b)*d.lam2[i] + d.lam1[i];
        |                                         ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:785:39: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    785 |       full_ieee &= all_of(d.scale[i]>=0);
        |                                       ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘ducc0::detail_sht::iter_to_ieee_spin(ducc0::detail_sht::Ylmgen const&, ducc0::detail_sht::sxdata_v&, unsigned long&, unsigned long)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:811:16: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    811 |     Tv sth2=max(Tv(1e-15),sqrt((1.-d.cth[i])*0.5));
        |             ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:844:36: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    844 |     below_limit &= all_of(d.scm[i]<1) &&
        |                                    ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:861:48: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    861 |       d.l2m[i] = (d.cth[i]*fx20 + fx21)*d.l1m[i] - d.l2m[i];
        |                                                ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:866:40: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    866 |         below_limit &= all_of(d.scp[i]<1) &&
        |                                        ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘ducc0::detail_sht::calc_alm2map_spin(std::complex<double> const*, ducc0::detail_sht::Ylmgen const&, ducc0::detail_sht::sxdata_v&, unsigned long)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:977:48: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    977 |       d.l2m[i] = (d.cth[i]*fx20 + fx21)*d.l1m[i] - d.l2m[i];
        |                                                ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:980:37: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    980 |       full_ieee &= all_of(d.scp[i]>=0);
        |                                     ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘ducc0::detail_sht::calc_alm2map_spin_gradonly(std::complex<double> const*, ducc0::detail_sht::Ylmgen const&, ducc0::detail_sht::sxdata_v&, unsigned long)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1224:48: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1224 |       d.l2m[i] = (d.cth[i]*fx20 + fx21)*d.l1m[i] - d.l2m[i];
        |                                                ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1227:37: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1227 |       full_ieee &= all_of(d.scp[i]>=0);
        |                                     ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘ducc0::detail_sht::calc_map2alm_spin(std::complex<double>*, ducc0::detail_sht::Ylmgen const&, ducc0::detail_sht::sxdata_v&, unsigned long)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1111:48: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1111 |       d.l2m[i] = (d.cth[i]*fx20 + fx21)*d.l1m[i] - d.l2m[i];
        |                                                ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1114:37: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1114 |       full_ieee &= all_of(d.scp[i]>=0);
        |                                     ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘ducc0::detail_sht::calc_map2alm_spin_gradonly(std::complex<double>*, ducc0::detail_sht::Ylmgen const&, ducc0::detail_sht::sxdata_v&, unsigned long)’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1344:48: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1344 |       d.l2m[i] = (d.cth[i]*fx20 + fx21)*d.l1m[i] - d.l2m[i];
        |                                                ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:1347:37: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1347 |       full_ieee &= all_of(d.scp[i]>=0);
        |                                     ^
  /usr/include/c++/15/experimental/bits/simd.h: In function ‘std::experimental::parallelism_v2::operator+=(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >&, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)’:
  /usr/include/c++/15/experimental/bits/simd.h:5591:28: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   5591 |     { return __lhs = __lhs + __x; }
        |                      ~~~~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::__fold_input<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::experimental::parallelism_v2::_Folded<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >’:
  /usr/include/c++/15/experimental/bits/simd_math.h:360:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    360 |     if (_GLIBCXX_SIMD_IS_UNLIKELY(all_of(__r._M_x < __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:359:19: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    359 |     __r._M_x = abs(__x);
        |                ~~~^~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:368:9: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    368 |     if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__r._M_x < 1025 * __pi_over_4)))
        |         ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:365:29: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    365 |     const _V __y = nearbyint(__r._M_x / (2 * __pi_over_4));
        |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:375:14: note: parameter passing for argument of type ‘struct mask_type’ when C++17 is enabled changed to match C++14 in GCC 10.1
    375 |     else if (_GLIBCXX_SIMD_IS_LIKELY(all_of(__y <= 0x1.0p30)))
        |              ^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h:380:25: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    380 |         __r._M_x -= __y * 0x1.8469898CC5170p-48;
        |                     ~~~~^~~~~~~~~~~~~~~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_math.h: In function ‘std::experimental::parallelism_v2::cos<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >(std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > const&)std::enable_if<is_floating_point_v<double>, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::type’:
  /usr/include/c++/15/experimental/bits/simd_math.h:498:35: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                   ~~~~~~~~~~~~~~~~^~
  /usr/include/c++/15/experimental/bits/simd_math.h:498:57: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    498 |             where(__need_cos.__cvt(), __r) = __cosSeries(__f._M_x);
        |                                              ~~~~~~~~~~~^~~~~~~~~~
  /usr/include/c++/15/experimental/bits/simd_builtin.h: In function ‘std::experimental::parallelism_v2::_SimdImplBuiltin<std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, std::experimental::parallelism_v2::__detail::_MachineFlagsTemplate<7ul, 10ul> >::_S_reduce<float, std::plus<void>&>(std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >, std::plus<void>&)float’:
  /usr/include/c++/15/experimental/bits/simd_builtin.h:1794:58: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1794 |             __x = __binary_op(__x, _M_make_simd<_Tp, _Np>(__vector_bitcast<_Tp>(
        |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
   1795 |                                      __vector_permute<1, 1>(__y))));
        |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘ducc0::detail_gridding_kernel::TemplateKernel<15ul, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::eval2(double, double, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:337:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    337 |           tvaly2 = tvaly2*y2 + Tvl(coeff[i+(j+1)*nvec_eval]);
        |                    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘ducc0::detail_gridding_kernel::TemplateKernel<4ul, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::eval2(float, float, std::experimental::parallelism_v2::simd<float, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:337:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    337 |           tvaly2 = tvaly2*y2 + Tvl(coeff[i+(j+1)*nvec_eval]);
        |                    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h: In member function ‘ducc0::detail_gridding_kernel::TemplateKernel<5ul, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> > >::eval2(double, double, std::experimental::parallelism_v2::simd<double, std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16> >*) const’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/gridding_kernel.h:337:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    337 |           tvaly2 = tvaly2*y2 + Tvl(coeff[i+(j+1)*nvec_eval]);
        |                    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [30/30] : && /usr/bin/g++ -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects  -Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes   -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -Wl,--dependency-file=CMakeFiles/ducc0.dir/link.d -shared  -o ducc0.cpython-313-powerpc64le-linux-gnu.so CMakeFiles/ducc0.dir/python/nufft_pymod.cc.o CMakeFiles/ducc0.dir/python/fft_pymod.cc.o CMakeFiles/ducc0.dir/python/sht_pymod.cc.o CMakeFiles/ducc0.dir/python/misc_pymod.cc.o CMakeFiles/ducc0.dir/python/totalconvolve_pymod.cc.o CMakeFiles/ducc0.dir/python/wgridder_pymod.cc.o CMakeFiles/ducc0.dir/python/healpix_pymod.cc.o CMakeFiles/ducc0.dir/python/pointingprovider_pymod.cc.o CMakeFiles/ducc0.dir/python/ducc.cc.o CMakeFiles/ducc0.dir/src/ducc0/fft/fft_inst1.cc.o CMakeFiles/ducc0.dir/src/ducc0/fft/fft_inst2.cc.o CMakeFiles/ducc0.dir/src/ducc0/nufft/spreadinterp_inst1.cc.o CMakeFiles/ducc0.dir/src/ducc0/nufft/spreadinterp_inst2.cc.o CMakeFiles/ducc0.dir/src/ducc0/healpix/healpix_base.cc.o CMakeFiles/ducc0.dir/src/ducc0/healpix/healpix_tables.cc.o CMakeFiles/ducc0.dir/src/ducc0/math/gl_integrator.cc.o CMakeFiles/ducc0.dir/src/ducc0/math/pointing.cc.o CMakeFiles/ducc0.dir/src/ducc0/math/gridding_kernel.cc.o CMakeFiles/ducc0.dir/src/ducc0/math/geom_utils.cc.o CMakeFiles/ducc0.dir/src/ducc0/math/wigner3j.cc.o CMakeFiles/ducc0.dir/src/ducc0/math/space_filling.cc.o CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder.cc.o CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder_inst1.cc.o CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder_inst2.cc.o CMakeFiles/ducc0.dir/src/ducc0/wgridder/wgridder_inst3.cc.o CMakeFiles/ducc0.dir/src/ducc0/infra/string_utils.cc.o CMakeFiles/ducc0.dir/src/ducc0/infra/threading.cc.o CMakeFiles/ducc0.dir/src/ducc0/infra/mav.cc.o CMakeFiles/ducc0.dir/src/ducc0/sht/sht.cc.o   && :
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc: In function ‘mypow’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/sht/sht.cc:479:13: note: parameter passing for argument of type ‘struct Tv’ when C++17 is enabled changed to match C++14 in GCC 10.1
    479 | static void mypow(Tv val, size_t npow, const vector<double> &powlimit,
        |             ^
  In function ‘get_nminmax_rectangle’:
  lto1: note: parameter passing for argument of type ‘struct pair’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc: In function ‘wigner3j_00_vec_squared_compact’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:829:31: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    829 | template<typename Tsimd> void wigner3j_00_vec_squared_compact (Tsimd l2, Tsimd l3, const vmav<Tsimd,1> &res)
        |                               ^
  In function ‘wigner3j_internal_vec’,
      inlined from ‘flexible_wigner3j_vec’ at /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:940:26:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:493:17: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    493 |       c1 = blend(l1>1.000001, (2.*l1-1.)*(pre2-(l1sq-l1)*m3mm2)/((l1-1.)*newfac),
        |                 ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:493:17: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:493:17: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:493:17: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:501:20: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    501 |     sumfor += blend(done, Tsimd(0.), (2.*l1+1.)*res(i)*res(i));
        |                    ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:501:20: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:501:20: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:501:20: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:504:20: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    504 |     resamax = blend(done, resamax, max(abs(res(i)), resamax));
        |                    ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:504:20: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:504:20: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:504:20: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:609:24: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    609 |   Tsimd fct_bwd = blend(abs(ratio)<1., Tsimd(1.)/ratio, Tsimd(1.));
        |                        ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:609:24: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:609:24: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:609:24: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:611:24: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    611 |   Tsimd fct_fwd = blend(abs(ratio)<1., Tsimd(1.), ratio);
        |                        ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:611:24: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:611:24: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:611:24: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:624:20: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    624 |     res(j) *= blend(Tsimd(j)<splitidx-2, cnorm*fct_fwd, cnorm*fct_bwd);
        |                    ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:624:20: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:624:20: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/wigner3j.cc:624:20: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder.cc: In function ‘get_tuning_parameters’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder.cc:144:45: note: parameter passing for argument of type ‘struct pair’ when C++17 is enabled changed to match C++14 in GCC 10.1
    144 | tuple<vmav<uint8_t,2>,size_t,size_t,size_t> get_tuning_parameters(
        |                                             ^
  In function ‘cos’:
  lto1: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /usr/include/c++/15/experimental/bits/simd_math.h:468:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    468 |   cos(const simd<_Tp, _Abi>& __x)
        |   ^
  /usr/include/c++/15/experimental/bits/simd_math.h:468:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /usr/include/c++/15/experimental/bits/simd_math.h:468:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /usr/include/c++/15/experimental/bits/simd_math.h:468:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  In member function ‘operator()’,
      inlined from ‘_M_apply_per_chunk’ at /usr/include/c++/15/experimental/bits/simd_fixed_size.h:526:28,
      inlined from ‘_S_cos’ at /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1577:5,
      inlined from ‘cos’ at /usr/include/c++/15/experimental/bits/simd_math.h:472:54,
      inlined from ‘cos’ at /usr/include/c++/15/experimental/bits/simd_math.h:478:11:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1577:5: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1577 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, cos)
        |     ^
  In function ‘sin’:
  lto1: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /usr/include/c++/15/experimental/bits/simd_math.h:514:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
    514 |   sin(const simd<_Tp, _Abi>& __x)
        |   ^
  /usr/include/c++/15/experimental/bits/simd_math.h:514:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /usr/include/c++/15/experimental/bits/simd_math.h:514:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /usr/include/c++/15/experimental/bits/simd_math.h:514:3: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  In member function ‘operator()’,
      inlined from ‘_M_apply_per_chunk’ at /usr/include/c++/15/experimental/bits/simd_fixed_size.h:526:28,
      inlined from ‘_S_sin’ at /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1578:5,
      inlined from ‘sin’ at /usr/include/c++/15/experimental/bits/simd_math.h:518:54,
      inlined from ‘sin’ at /usr/include/c++/15/experimental/bits/simd_math.h:524:11:
  /usr/include/c++/15/experimental/bits/simd_fixed_size.h:1578:5: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
   1578 |     _GLIBCXX_SIMD_APPLY_ON_TUPLE(_Tp, sin)
        |     ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h: In function ‘expi’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/wgridder/wgridder_impl.h:94:52: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
     94 | template<typename T, typename F> [[gnu::hot]] void expi(vector<complex<T>> &res, vector<T> &buf, F getang)
        |                                                    ^
  /usr/include/c++/15/bits/std_function.h: In function ‘_M_invoke’:
  /usr/include/c++/15/bits/std_function.h:290:7: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    290 |       _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
        |       ^
  In function ‘cos’:
  lto1: note: parameter passing for argument of type ‘struct enable_if_t’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /usr/include/c++/15/bits/std_function.h: In function ‘_M_invoke’:
  /usr/include/c++/15/bits/std_function.h:290:7: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    290 |       _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
        |       ^
  /usr/include/c++/15/bits/std_function.h: In function ‘_M_invoke’:
  /usr/include/c++/15/bits/std_function.h:290:7: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    290 |       _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
        |       ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h: In member function ‘operator()’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:269:34: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    269 |             flexible_wigner3j_vec(Tsimd(el1), Tsimd(el2)+lofs, 0, 0,
        |                                  ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h: In function ‘blend’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    113 | template<typename M, typename T> T blend(M mask, T a, T b)
        |                                    ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/infra/simd.h:113:36: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h: In member function ‘operator()’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:269:34: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    269 |             flexible_wigner3j_vec(Tsimd(el1), Tsimd(el2)+lofs, 0, 0,
        |                                  ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h: In member function ‘operator()’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:454:36: note: parameter passing for argument of type ‘struct Tsimd’ when C++17 is enabled changed to match C++14 in GCC 10.1
    454 |   execDynamic(lmax+1, nthreads, 1, [&](ducc0::Scheduler &sched)
        |                                    ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         Tsimd xdenom1 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2-1.)*(el2+2.))), Tsimd(0.)),
        |                              ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    472 |               xdenom2 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2+2.)*(el2+1.)*el2*(el2-1.))), Tsimd(0.));
        |                              ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h: In member function ‘operator()’:
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    471 |         Tsimd xdenom1 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2-1.)*(el2+2.))), Tsimd(0.)),
        |                              ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:471:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
    472 |               xdenom2 = blend(el2>Tsimd(1.), sqrt(Tsimd(1.) / ((el2+2.)*(el2+1.)*el2*(el2-1.))), Tsimd(0.));
        |                              ^
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd_mask’ when C++17 is enabled changed to match C++14 in GCC 10.1
  /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/src/ducc0/math/mcm.h:472:30: note: parameter passing for argument of type ‘struct simd’ when C++17 is enabled changed to match C++14 in GCC 10.1

  *** Installing project into wheel...
  -- Install configuration: "Release"
  -- Installing: /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/.pyproject-builddir/tmp7i8pr5zy/wheel/platlib/./ducc0.cpython-313-powerpc64le-linux-gnu.so
  *** Making wheel...
  *** Created ducc0-0.37.1-cp313-cp313-linux_ppc64le.whl
  Building wheel for ducc0 (pyproject.toml): finished with status 'done'
  Created wheel for ducc0: filename=ducc0-0.37.1-cp313-cp313-linux_ppc64le.whl size=39443988 sha256=e7d4643152252e64205b5e15242e5b949cce658e80b2bec8550ddae387eff2e3
  Stored in directory: /builddir/.cache/pip/wheels/5e/27/14/6a51d8196438bc879ce3c78bd619bc2c90c76c6d5ae9c18e08
Successfully built ducc0
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.Qp9MNb
+ umask 022
+ cd /builddir/build/BUILD/python-ducc0-0.37.1-build
+ '[' /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT '!=' / ']'
+ rm -rf /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT
++ dirname /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT
+ mkdir -p /builddir/build/BUILD/python-ducc0-0.37.1-build
+ mkdir /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn'
+ export RUSTFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd ducc0-0.37.1
++ xargs basename --multiple
++ ls /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/pyproject-wheeldir/ducc0-0.37.1-cp313-cp313-linux_ppc64le.whl
++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/'
+ specifier=ducc0==0.37.1
+ '[' -z ducc0==0.37.1 ']'
+ TMPDIR=/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/.pyproject-builddir
+ /usr/bin/python3 -m pip install --root /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/pyproject-wheeldir ducc0==0.37.1
Using pip 24.3.1 from /usr/lib/python3.13/site-packages/pip (python 3.13)
Looking in links: /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/pyproject-wheeldir
Processing ./pyproject-wheeldir/ducc0-0.37.1-cp313-cp313-linux_ppc64le.whl
Installing collected packages: ducc0
Successfully installed ducc0-0.37.1
+ '[' -d /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/bin ']'
+ rm -f /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-ghost-distinfo
+ site_dirs=()
+ '[' -d /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib/python3.13/site-packages ']'
+ '[' /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib64/python3.13/site-packages '!=' /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib/python3.13/site-packages ']'
+ '[' -d /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib64/python3.13/site-packages ']'
+ site_dirs+=("/usr/lib64/python3.13/site-packages")
+ for site_dir in ${site_dirs[@]}
+ for distinfo in /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT$site_dir/*.dist-info
+ echo '%ghost /usr/lib64/python3.13/site-packages/ducc0-0.37.1.dist-info'
+ sed -i s/pip/rpm/ /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib64/python3.13/site-packages/ducc0-0.37.1.dist-info/INSTALLER
+ PYTHONPATH=/usr/lib/rpm/redhat
+ /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT --record /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib64/python3.13/site-packages/ducc0-0.37.1.dist-info/RECORD --output /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-record
+ rm -fv /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib64/python3.13/site-packages/ducc0-0.37.1.dist-info/RECORD
removed '/builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib64/python3.13/site-packages/ducc0-0.37.1.dist-info/RECORD'
+ rm -fv /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib64/python3.13/site-packages/ducc0-0.37.1.dist-info/REQUESTED
removed '/builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib64/python3.13/site-packages/ducc0-0.37.1.dist-info/REQUESTED'
++ cut -f1 '-d '
++ wc -l /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-ghost-distinfo
+ lines=1
+ '[' 1 -ne 1 ']'
+ RPM_FILES_ESCAPE=4.19
+ /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-files --output-modules /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-modules --buildroot /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT --sitelib /usr/lib/python3.13/site-packages --sitearch /usr/lib64/python3.13/site-packages --python-version 3.13 --pyproject-record /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-record --prefix /usr ducc0
+ /usr/bin/find-debuginfo -j5 --strict-build-id -m -i --build-id-seed 0.37.1-1.fc42 --unique-debug-suffix -0.37.1-1.fc42.ppc64le --unique-debug-src-base python-ducc0-0.37.1-1.fc42.ppc64le --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1
find-debuginfo: starting
Extracting debug info from 1 files
DWARF-compressing 1 files
sepdebugcrcfix: Updated 1 CRC32s, 0 CRC32s did match.
Creating .debug symlinks for symlinks to ELF files
Copying sources found by 'debugedit -l' to /usr/src/debug/python-ducc0-0.37.1-1.fc42.ppc64le
find-debuginfo: done
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-ldconfig
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/check-rpaths
+ /usr/lib/rpm/redhat/brp-mangle-shebangs
+ /usr/lib/rpm/brp-remove-la-files
+ env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j5
Bytecompiling .py files below /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib64/python3.13 using python3.13
Bytecompiling .py files below /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib/debug/usr/lib64/python3.13 using python3.13
+ /usr/lib/rpm/redhat/brp-python-hardlink
+ /usr/bin/add-determinism --brp -j5 /builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT
Scanned 29 directories and 77 files,
               processed 0 inodes,
               0 modified (0 replaced + 0 rewritten),
               0 unsupported format, 0 errors
Reading /builddir/build/BUILD/python-ducc0-0.37.1-build/SPECPARTS/rpm-debuginfo.specpart
Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.M46GR1
+ umask 022
+ cd /builddir/build/BUILD/python-ducc0-0.37.1-build
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn'
+ export RUSTFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd ducc0-0.37.1
+ '[' '!' -f /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-modules ']'
+ PATH=/builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin
+ PYTHONPATH=/builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib/python3.13/site-packages
+ _PYTHONSITE=/builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib/python3.13/site-packages
+ PYTHONDONTWRITEBYTECODE=1
+ /usr/bin/python3 -sP /usr/lib/rpm/redhat/import_all_modules.py -f /builddir/build/BUILD/python-ducc0-0.37.1-build/python-ducc0-0.37.1-1.fc42.ppc64le-pyproject-modules
Check import: ducc0
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection '
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ PATH=/builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin
+ PYTHONPATH=/builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-ducc0-0.37.1-build/BUILDROOT/usr/lib/python3.13/site-packages
+ PYTHONDONTWRITEBYTECODE=1
+ PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/python-ducc0-0.37.1-build/ducc0-0.37.1/.pyproject-builddir'
+ PYTEST_XDIST_AUTO_NUM_WORKERS=5
+ /usr/bin/pytest -q python/test
........................................................................ [  0%]
........................................................................ [  0%]
........................................................................ [  0%]
........................................................................ [  0%]
........................................................................ [  0%]
........................................................................ [  0%]
........................................................................ [  0%]
........................................................................ [  1%]
........................................................................ [  1%]
........................................................................ [  1%]
........................................................................ [  1%]
........................................................................ [  1%]
........................................................................ [  1%]
........................................................................ [  1%]
........................................................................ [  2%]
........................................................................ [  2%]
........................................................................ [  2%]
........................................................................ [  2%]
........................................................................ [  2%]
........................................................................ [  2%]
........................................................................ [  2%]
........................................................................ [  3%]
........................................................................ [  3%]
........................................................................ [  3%]
........................................................................ [  3%]
........................................................................ [  3%]
........................................................................ [  3%]
........................................................................ [  3%]
........................................................................ [  4%]
........................................................................ [  4%]
........................................................................ [  4%]
........................................................................ [  4%]
........................................................................ [  4%]
........................................................................ [  4%]
........................................................................ [  4%]
........................................................................ [  5%]
........................................................................ [  5%]
........................................................................ [  5%]
........................................................................ [  5%]
........................................................................ [  5%]
........................................................................ [  5%]
........................................................................ [  5%]
........................................................................ [  6%]
........................................................................ [  6%]
........................................................................ [  6%]
........................................................................ [  6%]
........................................................................ [  6%]
........................................................................ [  6%]
........................................................................ [  6%]
........................................................................ [  7%]
........................................................................ [  7%]
........................................................................ [  7%]
........................................................................ [  7%]
........................................................................ [  7%]
........................................................................ [  7%]
........................................................................ [  7%]
........................................................................ [  8%]
........................................................................ [  8%]
........................................................................ [  8%]
........................................................................ [  8%]
........................................................................ [  8%]
........................................................................ [  8%]
........................................................................ [  8%]
........................................................................ [  9%]
........................................................................ [  9%]
........................................................................ [  9%]
........................................................................ [  9%]
........................................................................ [  9%]
........................................................................ [  9%]
........................................................................ [  9%]
........................................................................ [ 10%]
........................................................................ [ 10%]
........................................................................ [ 10%]
........................................................................ [ 10%]
........................................................................ [ 10%]
........................................................................ [ 10%]
........................................................................ [ 10%]
........................................................................ [ 11%]
........................................................................ [ 11%]
........................................................................ [ 11%]
........................................................................ [ 11%]
........................................................................ [ 11%]
........................................................................ [ 11%]
........................................................................ [ 11%]
........................................................................ [ 12%]
........................................................................ [ 12%]
........................................................................ [ 12%]
........................................................................ [ 12%]
........................................................................ [ 12%]
........................................................................ [ 12%]
........................................................................ [ 12%]
........................................................................ [ 12%]
........................................................................ [ 13%]
........................................................................ [ 13%]
........................................................................ [ 13%]
........................................................................ [ 13%]
........................................................................ [ 13%]
........................................................................ [ 13%]
........................................................................ [ 13%]
........................................................................ [ 14%]
........................................................................ [ 14%]
........................................................................ [ 14%]
........................................................................ [ 14%]
........................................................................ [ 14%]
........................................................................ [ 14%]
........................................................................ [ 14%]
........................................................................ [ 15%]
........................................................................ [ 15%]
........................................................................ [ 15%]
........................................................................ [ 15%]
........................................................................ [ 15%]
........................................................................ [ 15%]
........................................................................ [ 15%]
........................................................................ [ 16%]
........................................................................ [ 16%]
........................................................................ [ 16%]
........................................................................ [ 16%]
........................................................................ [ 16%]
........................................................................ [ 16%]
........................................................................ [ 16%]
........................................................................ [ 17%]
........................................................................ [ 17%]
........................................................................ [ 17%]
........................................................................ [ 17%]
........................................................................ [ 17%]
........................................................................ [ 17%]
........................................................................ [ 17%]
........................................................................ [ 18%]
........................................................................ [ 18%]
........................................................................ [ 18%]
........................................................................ [ 18%]
........................................................................ [ 18%]
........................................................................ [ 18%]
........................................................................ [ 18%]
........................................................................ [ 19%]
........................................................................ [ 19%]
........................................................................ [ 19%]
........................................................................ [ 19%]
........................................................................ [ 19%]
........................................................................ [ 19%]
........................................................................ [ 19%]
........................................................................ [ 20%]
........................................................................ [ 20%]
........................................................................ [ 20%]
........................................................................ [ 20%]
........................................................................ [ 20%]
........................................................................ [ 20%]
........................................................................ [ 20%]
........................................................................ [ 21%]
........................................................................ [ 21%]
........................................................................ [ 21%]
........................................................................ [ 21%]
........................................................................ [ 21%]
........................................................................ [ 21%]
........................................................................ [ 21%]
........................................................................ [ 22%]
........................................................................ [ 22%]
........................................................................ [ 22%]
........................................................................ [ 22%]
........................................................................ [ 22%]
........................................................................ [ 22%]
........................................................................ [ 22%]
........................................................................ [ 23%]
........................................................................ [ 23%]
........................................................................ [ 23%]
........................................................................ [ 23%]
........................................................................ [ 23%]
........................................................................ [ 23%]
........................................................................ [ 23%]
........................................................................ [ 24%]
........................................................................ [ 24%]
........................................................................ [ 24%]
........................................................................ [ 24%]
........................................................................ [ 24%]
........................................................................ [ 24%]
........................................................................ [ 24%]
........................................................................ [ 24%]
........................................................................ [ 25%]
........................................................................ [ 25%]
........................................................................ [ 25%]
........................................................................ [ 25%]
........................................................................ [ 25%]
........................................................................ [ 25%]
........................................................................ [ 25%]
........................................................................ [ 26%]
........................................................................ [ 26%]
........................................................................ [ 26%]
........................................................................ [ 26%]
........................................................................ [ 26%]
........................................................................ [ 26%]
........................................................................ [ 26%]
........................................................................ [ 27%]
...................................sssssssssssssssssssssssssssssssssssss [ 27%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 27%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 27%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 27%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 27%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 27%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 29%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 29%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 29%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 29%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 29%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 29%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 29%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 30%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 30%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 30%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 30%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 30%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 30%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 30%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 31%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 31%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 31%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 31%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 31%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 31%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 31%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 32%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 32%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 32%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 32%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 32%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 32%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 32%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 33%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 33%]
sssssssssssssssssssssssssssssssssssssssssssssssssss..................... [ 33%]
........................................................................ [ 33%]
........................................................................ [ 33%]
........................................................................ [ 33%]
........................................................................ [ 33%]
........................................................................ [ 34%]
........................................................................ [ 34%]
........................................................................ [ 34%]
........................................................................ [ 34%]
........................................................................ [ 34%]
........................................................................ [ 34%]
........................................................................ [ 34%]
........................................................................ [ 35%]
........................................................................ [ 35%]
........................................................................ [ 35%]
........................................................................ [ 35%]
........................................................................ [ 35%]
........................................................................ [ 35%]
........................................................................ [ 35%]
........................................................................ [ 36%]
........................................................................ [ 36%]
........................................................................ [ 36%]
........................................................................ [ 36%]
........................................................................ [ 36%]
........................................................................ [ 36%]
........................................................................ [ 36%]
........................................................................ [ 36%]
........................................................................ [ 37%]
........................................................................ [ 37%]
........................................................................ [ 37%]
..........sssssssssssssss..............................sssssssssssssss.. [ 37%]
........................................................................ [ 37%]
..............................................sssssssssssssss........... [ 37%]
...................sssssssssssssss...................................... [ 37%]
........................................................................ [ 38%]
..........sssssssssssssss..............................sssssssssssssss.. [ 38%]
........................................................................ [ 38%]
..............................................sssssssssssssss........... [ 38%]
...................sssssssssssssss...................................... [ 38%]
........................................................................ [ 38%]
..........sssssssssssssss..............................sssssssssssssss.. [ 38%]
........................................................................ [ 39%]
..............................................sssssssssssssss........... [ 39%]
...................sssssssssssssss...................................... [ 39%]
........................................................................ [ 39%]
..........sssssssssssssss..............................sssssssssssssss.. [ 39%]
........................................................................ [ 39%]
..............................................sssssssssssssss........... [ 39%]
...................sssssssssssssss...................................... [ 40%]
................................................................ssssss.. [ 40%]
..........ssssss................................................ssssss.. [ 40%]
..........ssssss................................................ssssss.. [ 40%]
..........ssssss................................................ssssss.. [ 40%]
..........ssssss................................................ssssss.. [ 40%]
..........ssssss................................................ssssss.. [ 40%]
..........ssssss................................................ssssss.. [ 41%]
..........ssssss................................................ssssss.. [ 41%]
..........ssssss................................................ssssss.. [ 41%]
..........ssssss................................................ssssss.. [ 41%]
..........ssssss................................................ssssss.. [ 41%]
..........ssssss................................................ssssss.. [ 41%]
..........ssssss................................................ssssss.. [ 41%]
..........ssssss................................................ssssss.. [ 42%]
..........ssssss................................................ssssss.. [ 42%]
..........ssssss................................................ssssss.. [ 42%]
..........ssssss........................................................ [ 42%]
........................................................................ [ 42%]
............................ssssssssssssssssssssssssssssssssssssssssssss [ 42%]
ssssssssssssssss........................................................ [ 42%]
................................................................ssssssss [ 43%]
ssssssssssssssssssssssssssssssssssssssssssssssssssss.................... [ 43%]
........................................................................ [ 43%]
........................................................................ [ 43%]
........................................................................ [ 43%]
........................................................................ [ 43%]
........................................................................ [ 43%]
........................................................................ [ 44%]
............................ssssssssssssssssssssssssssssssssssssssssssss [ 44%]
ssssssssssssssss........................................................ [ 44%]
................................................................ssssssss [ 44%]
ssssssssssssssssssssssssssssssssssssssssssssssssssss.................... [ 44%]
........................................................................ [ 44%]
........................................................................ [ 44%]
........................................................................ [ 45%]
........................................................................ [ 45%]
........................................................................ [ 45%]
........................................................................ [ 45%]
............................ssssssssssssssssssssssssssssssssssssssssssss [ 45%]
ssssssssssssssss........................................................ [ 45%]
................................................................ssssssss [ 45%]
ssssssssssssssssssssssssssssssssssssssssssssssssssss.................... [ 46%]
........................................................................ [ 46%]
........................................................................ [ 46%]
........................................................................ [ 46%]
........................................................................ [ 46%]
........................................................................ [ 46%]
........................................................................ [ 46%]
............................ssssssssssssssssssssssssssssssssssssssssssss [ 47%]
ssssssssssssssss........................................................ [ 47%]
................................................................ssssssss [ 47%]
ssssssssssssssssssssssssssssssssssssssssssssssssssss.................... [ 47%]
........................................................................ [ 47%]
........................................................................ [ 47%]
........................................................................ [ 47%]
........................................................................ [ 48%]
........................................................................ [ 48%]
........................................................................ [ 48%]
............................ssssssssssssssssssssssssssssssssssssssssssss [ 48%]
ssssssssssssssss........................................................ [ 48%]
................................................................ssssssss [ 48%]
ssssssssssssssssssssssssssssssssssssssssssssssssssss.................... [ 48%]
........................................................................ [ 48%]
........................................................................ [ 49%]
........................................................................ [ 49%]
........................................................................ [ 49%]
........................................................................ [ 49%]
........................................................................ [ 49%]
............................ssssssssssssssssssssssssssssssssssssssssssss [ 49%]
ssssssssssssssss........................................................ [ 49%]
................................................................ssssssss [ 50%]
ssssssssssssssssssssssssssssssssssssssssssssssssssss.................... [ 50%]
........................................................................ [ 50%]
........................................................................ [ 50%]
........................................................................ [ 50%]
........................................................................ [ 50%]
........................................................................ [ 50%]
........................................................................ [ 51%]
............................ssssssssssssssssssssssssssssssssssssssssssss [ 51%]
ssssssssssssssss........................................................ [ 51%]
................................................................ssssssss [ 51%]
ssssssssssssssssssssssssssssssssssssssssssssssssssss.................... [ 51%]
........................................................................ [ 51%]
........................................................................ [ 51%]
........................................................................ [ 52%]
........................................................................ [ 52%]
........................................................................ [ 52%]
........................................................................ [ 52%]
............................ssssssssssssssssssssssssssssssssssssssssssss [ 52%]
ssssssssssssssss........................................................ [ 52%]
................................................................ssssssss [ 52%]
ssssssssssssssssssssssssssssssssssssssssssssssssssss.................... [ 53%]
........................................................................ [ 53%]
........................................................................ [ 53%]
........................................................................ [ 53%]
........................................................................ [ 53%]
....................................................F................... [ 53%]
.......F..........................F..........................F.......... [ 53%]
................F..........................F..........................ss [ 54%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 54%]
sssssssF..........................F..........................F.......... [ 54%]
................F..........................F..........................F. [ 54%]
.........................sssssssssssssssssssssssssssssssssssssssssssssss [ 54%]
ssssssssssssssssssssssssssssssssss...................................... [ 54%]
........................................................................ [ 54%]
........................................................................ [ 55%]
........................................................................ [ 55%]
........................................................................ [ 55%]
........................................................................ [ 55%]
........................................................................ [ 55%]
................F..........................F..........................F. [ 55%]
.........................F..........................F................... [ 55%]
.......F..........................ssssssssssssssssssssssssssssssssssssss [ 56%]
sssssssssssssssssssssssssssssssssssssssssssF..........................F. [ 56%]
.........................F..........................F................... [ 56%]
.......F..........................F..........................sssssssssss [ 56%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.. [ 56%]
........................................................................ [ 56%]
........................................................................ [ 56%]
........................................................................ [ 57%]
........................................................................ [ 57%]
........................................................................ [ 57%]
........................................................................ [ 57%]
....................................................F................... [ 57%]
.......F..........................F..........................F.......... [ 57%]
................F..........................F..........................ss [ 57%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 58%]
sssssssF..........................F..........................F.......... [ 58%]
................F..........................F..........................F. [ 58%]
.........................sssssssssssssssssssssssssssssssssssssssssssssss [ 58%]
ssssssssssssssssssssssssssssssssss...................................... [ 58%]
........................................................................ [ 58%]
........................................................................ [ 58%]
........................................................................ [ 59%]
........................................................................ [ 59%]
........................................................................ [ 59%]
........................................................................ [ 59%]
................F..........................F..........................F. [ 59%]
.........................F..........................F................... [ 59%]
.......F..........................ssssssssssssssssssssssssssssssssssssss [ 59%]
sssssssssssssssssssssssssssssssssssssssssssF..........................F. [ 60%]
.........................F..........................F................... [ 60%]
.......F..........................F..........................sssssssssss [ 60%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.. [ 60%]
........................................................................ [ 60%]
........................................................................ [ 60%]
........................................................................ [ 60%]
........................................................................ [ 60%]
........................................................................ [ 61%]
........................................................................ [ 61%]
....................................................F................... [ 61%]
.......F..........................F..........................F.......... [ 61%]
................F..........................F..........................ss [ 61%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 61%]
sssssssF..........................F..........................F.......... [ 61%]
................F..........................F..........................F. [ 62%]
.........................sssssssssssssssssssssssssssssssssssssssssssssss [ 62%]
ssssssssssssssssssssssssssssssssss...................................... [ 62%]
........................................................................ [ 62%]
........................................................................ [ 62%]
........................................................................ [ 62%]
........................................................................ [ 62%]
........................................................................ [ 63%]
........................................................................ [ 63%]
................F..........................F..........................F. [ 63%]
.........................F..........................F................... [ 63%]
.......F..........................ssssssssssssssssssssssssssssssssssssss [ 63%]
sssssssssssssssssssssssssssssssssssssssssssF..........................F. [ 63%]
.........................F..........................F................... [ 63%]
.......F..........................F..........................sssssssssss [ 64%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.. [ 64%]
........................................................................ [ 64%]
........................................................................ [ 64%]
........................................................................ [ 64%]
........................................................................ [ 64%]
........................................................................ [ 64%]
........................................................................ [ 65%]
....................................................F................... [ 65%]
.......F..........................F..........................F.......... [ 65%]
................F..........................F..........................ss [ 65%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 65%]
sssssssF..........................F..........................F.......... [ 65%]
................F..........................F..........................F. [ 65%]
.........................sssssssssssssssssssssssssssssssssssssssssssssss [ 66%]
ssssssssssssssssssssssssssssssssss...................................... [ 66%]
........................................................................ [ 66%]
........................................................................ [ 66%]
........................................................................ [ 66%]
........................................................................ [ 66%]
........................................................................ [ 66%]
........................................................................ [ 67%]
................F..........................F..........................F. [ 67%]
.........................F..........................F................... [ 67%]
.......F..........................ssssssssssssssssssssssssssssssssssssss [ 67%]
sssssssssssssssssssssssssssssssssssssssssssF..........................F. [ 67%]
.........................F..........................F................... [ 67%]
.......F..........................F..........................sssssssssss [ 67%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.. [ 68%]
........................................................................ [ 68%]
........................................................................ [ 68%]
........................................................................ [ 68%]
........................................................................ [ 68%]
........................................................................ [ 68%]
........................................................................ [ 68%]
......................................................................FF [ 69%]
FF..F....................FFFF..F....................FFFF..F............. [ 69%]
.......FFFF..F..ssssssssssssssssssssssssssssssssssssssssssssssssssssss.. [ 69%]
................FFFF..F....................FFFF..F....................FF [ 69%]
FF..F....................FFFF..F..ssssssssssssssssssssssssssssssssssssss [ 69%]
ssssssssssssssss........................................................ [ 69%]
........................................................................ [ 69%]
........................................................................ [ 70%]
........................................................................ [ 70%]
......................................................................FF [ 70%]
FF..F....................FFFF..F....................FFFF..F............. [ 70%]
.......FFFF..F..ssssssssssssssssssssssssssssssssssssssssssssssssssssss.. [ 70%]
................FFFF..F....................FFFF..F....................FF [ 70%]
FF..F....................FFFF..F..ssssssssssssssssssssssssssssssssssssss [ 70%]
ssssssssssssssss........................................................ [ 71%]
........................................................................ [ 71%]
........................................................................ [ 71%]
........................................................................ [ 71%]
........................................................................ [ 71%]
....................................................s................... [ 71%]
........................................................................ [ 71%]
........................................................................ [ 72%]
........................................................................ [ 72%]
........................................................................ [ 72%]
........................................................................ [ 72%]
........................................................................ [ 72%]
........................................................................ [ 72%]
........................................................................ [ 72%]
........................................................................ [ 72%]
........................................................................ [ 73%]
........................................................................ [ 73%]
........................................................................ [ 73%]
........................................................................ [ 73%]
........................................................................ [ 73%]
........................................................................ [ 73%]
........................................................................ [ 73%]
........................................................................ [ 74%]
........................................................................ [ 74%]
........................................................................ [ 74%]
........................................................................ [ 74%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 74%]
........................................................................ [ 74%]
........................................................................ [ 74%]
........................................................................ [ 75%]
......................................................ssssssssssssssssss [ 75%]
ssssssssssssssssssssssssssssssssssss.................................... [ 75%]
........................................................................ [ 75%]
........................................................................ [ 75%]
........................................................................ [ 75%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 75%]
........................................................................ [ 76%]
........................................................................ [ 76%]
........................................................................ [ 76%]
......................................................ssssssssssssssssss [ 76%]
ssssssssssssssssssssssssssssssssssss.................................... [ 76%]
........................................................................ [ 76%]
........................................................................ [ 76%]
........................................................................ [ 77%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 77%]
........................................................................ [ 77%]
........................................................................ [ 77%]
........................................................................ [ 77%]
......................................................ssssssssssssssssss [ 77%]
ssssssssssssssssssssssssssssssssssss.................................... [ 77%]
........................................................................ [ 78%]
........................................................................ [ 78%]
........................................................................ [ 78%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 78%]
........................................................................ [ 78%]
........................................................................ [ 78%]
........................................................................ [ 78%]
......................................................ssssssssssssssssss [ 79%]
ssssssssssssssssssssssssssssssssssss.................................... [ 79%]
........................................................................ [ 79%]
........................................................................ [ 79%]
........................................................................ [ 79%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 79%]
........................................................................ [ 79%]
........................................................................ [ 80%]
........................................................................ [ 80%]
......................................................ssssssssssssssssss [ 80%]
ssssssssssssssssssssssssssssssssssss.................................... [ 80%]
........................................................................ [ 80%]
........................................................................ [ 80%]
........................................................................ [ 80%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 81%]
........................................................................ [ 81%]
........................................................................ [ 81%]
........................................................................ [ 81%]
......................................................ssssssssssssssssss [ 81%]
ssssssssssssssssssssssssssssssssssss.................................... [ 81%]
........................................................................ [ 81%]
........................................................................ [ 82%]
........................................................................ [ 82%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 82%]
........................................................................ [ 82%]
........................................................................ [ 82%]
........................................................................ [ 82%]
......................................................ssssssssssssssssss [ 82%]
ssssssssssssssssssssssssssssssssssss.................................... [ 83%]
........................................................................ [ 83%]
........................................................................ [ 83%]
........................................................................ [ 83%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 83%]
........................................................................ [ 83%]
........................................................................ [ 83%]
........................................................................ [ 84%]
......................................................ssssssssssssssssss [ 84%]
ssssssssssssssssssssssssssssssssssss.................................... [ 84%]
........................................................................ [ 84%]
........................................................................ [ 84%]
........................................................................ [ 84%]
........................................................................ [ 84%]
........................................................................ [ 84%]
........................................................................ [ 85%]
........................................................................ [ 85%]
........................................................................ [ 85%]
........................................................................ [ 85%]
........................................................................ [ 85%]
........................................................................ [ 85%]
........................................................................ [ 85%]
........................................................................ [ 86%]
........................................................................ [ 86%]
........................................................................ [ 86%]
........................................................................ [ 86%]
........................................................................ [ 86%]
........................................................................ [ 86%]
........................................................................ [ 86%]
........................................................................ [ 87%]
........................................................................ [ 87%]
........................................................................ [ 87%]
........................................................................ [ 87%]
........................................................................ [ 87%]
........................................................................ [ 87%]
........................................................................ [ 87%]
........................................................................ [ 88%]
........................................................................ [ 88%]
........................................................................ [ 88%]
........................................................................ [ 88%]
........................................................................ [ 88%]
........................................................................ [ 88%]
........................................................................ [ 88%]
........................................................................ [ 89%]
........................................................................ [ 89%]
........................................................................ [ 89%]
........................................................................ [ 89%]
........................................................................ [ 89%]
........................................................................ [ 89%]
........................................................................ [ 89%]
......................................................ssssssssssssssssss [ 90%]
ssssssssssssssssssssssssssssssssssss.................................... [ 90%]
........................................................................ [ 90%]
........................................................................ [ 90%]
........................................................................ [ 90%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 90%]
........................................................................ [ 90%]
........................................................................ [ 91%]
........................................................................ [ 91%]
......................................................ssssssssssssssssss [ 91%]
ssssssssssssssssssssssssssssssssssss.................................... [ 91%]
........................................................................ [ 91%]
........................................................................ [ 91%]
........................................................................ [ 91%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 92%]
........................................................................ [ 92%]
........................................................................ [ 92%]
........................................................................ [ 92%]
......................................................ssssssssssssssssss [ 92%]
ssssssssssssssssssssssssssssssssssss.................................... [ 92%]
........................................................................ [ 92%]
........................................................................ [ 93%]
........................................................................ [ 93%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 93%]
........................................................................ [ 93%]
........................................................................ [ 93%]
........................................................................ [ 93%]
......................................................ssssssssssssssssss [ 93%]
ssssssssssssssssssssssssssssssssssss.................................... [ 94%]
........................................................................ [ 94%]
........................................................................ [ 94%]
........................................................................ [ 94%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 94%]
........................................................................ [ 94%]
........................................................................ [ 94%]
........................................................................ [ 95%]
......................................................ssssssssssssssssss [ 95%]
ssssssssssssssssssssssssssssssssssss.................................... [ 95%]
........................................................................ [ 95%]
........................................................................ [ 95%]
........................................................................ [ 95%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 95%]
........................................................................ [ 96%]
........................................................................ [ 96%]
........................................................................ [ 96%]
......................................................ssssssssssssssssss [ 96%]
ssssssssssssssssssssssssssssssssssss.................................... [ 96%]
........................................................................ [ 96%]
........................................................................ [ 96%]
........................................................................ [ 96%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 97%]
........................................................................ [ 97%]
........................................................................ [ 97%]
........................................................................ [ 97%]
......................................................ssssssssssssssssss [ 97%]
ssssssssssssssssssssssssssssssssssss.................................... [ 97%]
........................................................................ [ 97%]
........................................................................ [ 98%]
........................................................................ [ 98%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 98%]
........................................................................ [ 98%]
........................................................................ [ 98%]
........................................................................ [ 98%]
......................................................ssssssssssssssssss [ 98%]
ssssssssssssssssssssssssssssssssssss.................................... [ 99%]
........................................................................ [ 99%]
........................................................................ [ 99%]
........................................................................ [ 99%]
..................ssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 99%]
........................................................................ [ 99%]
........................................................................ [ 99%]
..................                                                       [100%]
=================================== FAILURES ===================================
______________ test_nufft_3d[1-False-1.0-True-True-1e-05-1-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[1-False-1.0-True-True-1e-05-37-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[1-False-1.0-True-True-1e-05-10-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[1-False-1.0-True-True-3e-05-1-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[1-False-1.0-True-True-3e-05-37-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[1-False-1.0-True-True-3e-05-10-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[1-False-1.0-True-False-1e-05-1-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[1-False-1.0-True-False-1e-05-37-1-1-1] _____________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[1-False-1.0-True-False-1e-05-10-1-1-1] _____________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[1-False-1.0-True-False-3e-05-1-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[1-False-1.0-True-False-3e-05-37-1-1-1] _____________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[1-False-1.0-True-False-3e-05-10-1-1-1] _____________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-False-periodicity1-True-True-1e-05-1-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-False-periodicity1-True-True-1e-05-37-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-False-periodicity1-True-True-1e-05-10-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-False-periodicity1-True-True-3e-05-1-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-False-periodicity1-True-True-3e-05-37-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-False-periodicity1-True-True-3e-05-10-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-False-periodicity1-True-False-1e-05-1-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
________ test_nufft_3d[1-False-periodicity1-True-False-1e-05-37-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
________ test_nufft_3d[1-False-periodicity1-True-False-1e-05-10-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-False-periodicity1-True-False-3e-05-1-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
________ test_nufft_3d[1-False-periodicity1-True-False-3e-05-37-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
________ test_nufft_3d[1-False-periodicity1-True-False-3e-05-10-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[1-True-1.0-True-True-1e-05-1-1-1-1] _______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[1-True-1.0-True-True-1e-05-37-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[1-True-1.0-True-True-1e-05-10-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[1-True-1.0-True-True-3e-05-1-1-1-1] _______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[1-True-1.0-True-True-3e-05-37-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[1-True-1.0-True-True-3e-05-10-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[1-True-1.0-True-False-1e-05-1-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[1-True-1.0-True-False-1e-05-37-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[1-True-1.0-True-False-1e-05-10-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[1-True-1.0-True-False-3e-05-1-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[1-True-1.0-True-False-3e-05-37-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[1-True-1.0-True-False-3e-05-10-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
__________ test_nufft_3d[1-True-periodicity1-True-True-1e-05-1-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-True-periodicity1-True-True-1e-05-37-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-True-periodicity1-True-True-1e-05-10-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
__________ test_nufft_3d[1-True-periodicity1-True-True-3e-05-1-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-True-periodicity1-True-True-3e-05-37-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-True-periodicity1-True-True-3e-05-10-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-True-periodicity1-True-False-1e-05-1-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-True-periodicity1-True-False-1e-05-37-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-True-periodicity1-True-False-1e-05-10-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-True-periodicity1-True-False-3e-05-1-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-True-periodicity1-True-False-3e-05-37-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[1-True-periodicity1-True-False-3e-05-10-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 1

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[2-False-1.0-True-True-1e-05-1-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[2-False-1.0-True-True-1e-05-37-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[2-False-1.0-True-True-1e-05-10-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[2-False-1.0-True-True-3e-05-1-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[2-False-1.0-True-True-3e-05-37-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[2-False-1.0-True-True-3e-05-10-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[2-False-1.0-True-False-1e-05-1-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[2-False-1.0-True-False-1e-05-37-1-1-1] _____________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[2-False-1.0-True-False-1e-05-10-1-1-1] _____________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[2-False-1.0-True-False-3e-05-1-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[2-False-1.0-True-False-3e-05-37-1-1-1] _____________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[2-False-1.0-True-False-3e-05-10-1-1-1] _____________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = False, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-False-periodicity1-True-True-1e-05-1-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-False-periodicity1-True-True-1e-05-37-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-False-periodicity1-True-True-1e-05-10-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-False-periodicity1-True-True-3e-05-1-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-False-periodicity1-True-True-3e-05-37-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-False-periodicity1-True-True-3e-05-10-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-False-periodicity1-True-False-1e-05-1-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
________ test_nufft_3d[2-False-periodicity1-True-False-1e-05-37-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
________ test_nufft_3d[2-False-periodicity1-True-False-1e-05-10-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-False-periodicity1-True-False-3e-05-1-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
________ test_nufft_3d[2-False-periodicity1-True-False-3e-05-37-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
________ test_nufft_3d[2-False-periodicity1-True-False-3e-05-10-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = False
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[2-True-1.0-True-True-1e-05-1-1-1-1] _______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[2-True-1.0-True-True-1e-05-37-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[2-True-1.0-True-True-1e-05-10-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[2-True-1.0-True-True-3e-05-1-1-1-1] _______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[2-True-1.0-True-True-3e-05-37-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[2-True-1.0-True-True-3e-05-10-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = True
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[2-True-1.0-True-False-1e-05-1-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[2-True-1.0-True-False-1e-05-37-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[2-True-1.0-True-False-1e-05-10-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
______________ test_nufft_3d[2-True-1.0-True-False-3e-05-1-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[2-True-1.0-True-False-3e-05-37-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_____________ test_nufft_3d[2-True-1.0-True-False-3e-05-10-1-1-1] ______________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = False
singleprec = True, periodicity = 1.0, fft_order = True, nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
__________ test_nufft_3d[2-True-periodicity1-True-True-1e-05-1-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-True-periodicity1-True-True-1e-05-37-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-True-periodicity1-True-True-1e-05-10-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
__________ test_nufft_3d[2-True-periodicity1-True-True-3e-05-1-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-True-periodicity1-True-True-3e-05-37-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-True-periodicity1-True-True-3e-05-10-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = True
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-True-periodicity1-True-False-1e-05-1-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 1e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14643588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.146436)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-True-periodicity1-True-False-1e-05-37-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 1e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15397195
E       Max relative difference among violations: inf
E        ACTUAL: array(0.153972)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-True-periodicity1-True-False-1e-05-10-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 1e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=1e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13012084
E       Max relative difference among violations: inf
E        ACTUAL: array(0.130121)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-True-periodicity1-True-False-3e-05-1-1-1-1] __________

nx = 1, ny = 1, nz = 1, npoints = 1, epsilon = 3e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.15478687
E       Max relative difference among violations: inf
E        ACTUAL: array(0.154787)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-True-periodicity1-True-False-3e-05-37-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 37, epsilon = 3e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.1617248
E       Max relative difference among violations: inf
E        ACTUAL: array(0.161725)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
_________ test_nufft_3d[2-True-periodicity1-True-False-3e-05-10-1-1-1] _________

nx = 1, ny = 1, nz = 1, npoints = 10, epsilon = 3e-05, forward = False
singleprec = True, periodicity = [1.0, 3.141592653589793, 7], fft_order = True
nthreads = 2

    @pmp('nx', [1, 20, 21])
    @pmp('ny', [1, 21, 32])
    @pmp('nz', [1, 22, 35])
    @pmp("npoints", (1, 37, 10))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("periodicity", (1., [1., np.pi, 7]))
    @pmp("fft_order", (False, True))
    @pmp("nthreads", (1, 2))
    def test_nufft_3d(nx, ny, nz, npoints, epsilon, forward, singleprec,
                      periodicity, fft_order, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        uvw = (rng.random((npoints, 3))-0.5)*periodicity
        ms = rng.random(npoints)-0.5 + 1j*(rng.random(npoints)-0.5)
        dirty = rng.random((nx, ny, nz))-0.5
        dirty = dirty +  1j*(rng.random((nx, ny, nz))-0.5)
        nu = nv = nw = 0
        if singleprec:
            ms = ms.astype("c8")
            dirty = dirty.astype("c8")
    
        def check(d2, m2):
            ref = max(ducc0.misc.vdot(ms, ms).real, ducc0.misc.vdot(m2, m2).real,
                      ducc0.misc.vdot(dirty, dirty).real, ducc0.misc.vdot(d2, d2).real)
            tol = 3e-5*ref if singleprec else 2e-13*ref
            assert_allclose(ducc0.misc.vdot(ms, m2), ducc0.misc.vdot(d2, dirty), rtol=tol)
    
        dirty2 = np.empty((nx,ny,nz), dtype=dirty.dtype)
        dirty2 = ducc0.nufft.nu2u(points=ms, coord=uvw, forward=forward,
                                  epsilon=epsilon, nthreads=nthreads, out=dirty2,
                                  verbosity=0, periodicity=periodicity, fft_order=fft_order).astype("c16")
        dirty_ref = explicit_nufft(uvw, ms, (nx,ny,nz), forward, periodicity, fft_order)
>       assert_allclose(ducc0.misc.l2error(dirty2,dirty_ref), 0, atol=epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=3e-05
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.13027994
E       Max relative difference among violations: inf
E        ACTUAL: array(0.13028)
E        DESIRED: array(0)

python/test/test_nufft.py:265: AssertionError
____________________ test_nufft3[1-True-True-1e-05-1-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.0156067
E       Max relative difference among violations: inf
E        ACTUAL: array(0.015607)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-1e-05-1-3-1-37] ____________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.10883139
E       Max relative difference among violations: inf
E        ACTUAL: array(0.108831)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-1e-05-1-3-1-10] ____________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.19509668
E       Max relative difference among violations: inf
E        ACTUAL: array(0.195097)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-1e-05-1-3-37-1] ____________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01934432
E       Max relative difference among violations: inf
E        ACTUAL: array(0.019344)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-1e-05-1-3-10-1] ____________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02120611
E       Max relative difference among violations: inf
E        ACTUAL: array(0.021206)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
____________________ test_nufft3[1-True-True-1e-05-2-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01560669
E       Max relative difference among violations: inf
E        ACTUAL: array(0.015607)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-1e-05-2-3-1-37] ____________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.08944135
E       Max relative difference among violations: inf
E        ACTUAL: array(0.089441)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-1e-05-2-3-1-10] ____________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.08463838
E       Max relative difference among violations: inf
E        ACTUAL: array(0.084638)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-1e-05-2-3-37-1] ____________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01934432
E       Max relative difference among violations: inf
E        ACTUAL: array(0.019344)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-1e-05-2-3-10-1] ____________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02120611
E       Max relative difference among violations: inf
E        ACTUAL: array(0.021206)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
____________________ test_nufft3[1-True-True-3e-05-1-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01873686
E       Max relative difference among violations: inf
E        ACTUAL: array(0.018737)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-3e-05-1-3-1-37] ____________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.09965402
E       Max relative difference among violations: inf
E        ACTUAL: array(0.099654)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-3e-05-1-3-1-10] ____________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.20895588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.208956)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-3e-05-1-3-37-1] ____________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02689722
E       Max relative difference among violations: inf
E        ACTUAL: array(0.026897)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-3e-05-1-3-10-1] ____________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.03122024
E       Max relative difference among violations: inf
E        ACTUAL: array(0.03122)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
____________________ test_nufft3[1-True-True-3e-05-2-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01873677
E       Max relative difference among violations: inf
E        ACTUAL: array(0.018737)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-3e-05-2-3-1-37] ____________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.08879221
E       Max relative difference among violations: inf
E        ACTUAL: array(0.088792)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-3e-05-2-3-1-10] ____________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.08645371
E       Max relative difference among violations: inf
E        ACTUAL: array(0.086454)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-3e-05-2-3-37-1] ____________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02689721
E       Max relative difference among violations: inf
E        ACTUAL: array(0.026897)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-True-3e-05-2-3-10-1] ____________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.03122026
E       Max relative difference among violations: inf
E        ACTUAL: array(0.03122)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-1e-05-1-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01560666
E       Max relative difference among violations: inf
E        ACTUAL: array(0.015607)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-1e-05-1-3-1-37] ___________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.11960754
E       Max relative difference among violations: inf
E        ACTUAL: array(0.119608)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-1e-05-1-3-1-10] ___________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.12833461
E       Max relative difference among violations: inf
E        ACTUAL: array(0.128335)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-1e-05-1-3-37-1] ___________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01934433
E       Max relative difference among violations: inf
E        ACTUAL: array(0.019344)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-1e-05-1-3-10-1] ___________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02120611
E       Max relative difference among violations: inf
E        ACTUAL: array(0.021206)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-1e-05-2-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01560667
E       Max relative difference among violations: inf
E        ACTUAL: array(0.015607)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-1e-05-2-3-1-37] ___________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14303329
E       Max relative difference among violations: inf
E        ACTUAL: array(0.143033)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-1e-05-2-3-1-10] ___________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.09671134
E       Max relative difference among violations: inf
E        ACTUAL: array(0.096711)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-1e-05-2-3-37-1] ___________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01934432
E       Max relative difference among violations: inf
E        ACTUAL: array(0.019344)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-1e-05-2-3-10-1] ___________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02120613
E       Max relative difference among violations: inf
E        ACTUAL: array(0.021206)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-3e-05-1-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01873679
E       Max relative difference among violations: inf
E        ACTUAL: array(0.018737)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-3e-05-1-3-1-37] ___________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.16438477
E       Max relative difference among violations: inf
E        ACTUAL: array(0.164385)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-3e-05-1-3-1-10] ___________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.11934118
E       Max relative difference among violations: inf
E        ACTUAL: array(0.119341)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-3e-05-1-3-37-1] ___________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02689721
E       Max relative difference among violations: inf
E        ACTUAL: array(0.026897)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-3e-05-1-3-10-1] ___________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.03122025
E       Max relative difference among violations: inf
E        ACTUAL: array(0.03122)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-3e-05-2-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01873683
E       Max relative difference among violations: inf
E        ACTUAL: array(0.018737)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-3e-05-2-3-1-37] ___________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.16054997
E       Max relative difference among violations: inf
E        ACTUAL: array(0.16055)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-3e-05-2-3-1-10] ___________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.10103019
E       Max relative difference among violations: inf
E        ACTUAL: array(0.10103)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-3e-05-2-3-37-1] ___________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02689722
E       Max relative difference among violations: inf
E        ACTUAL: array(0.026897)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[1-True-False-3e-05-2-3-10-1] ___________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 1

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.03122027
E       Max relative difference among violations: inf
E        ACTUAL: array(0.03122)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
____________________ test_nufft3[2-True-True-1e-05-1-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.0156067
E       Max relative difference among violations: inf
E        ACTUAL: array(0.015607)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-1e-05-1-3-1-37] ____________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.10883139
E       Max relative difference among violations: inf
E        ACTUAL: array(0.108831)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-1e-05-1-3-1-10] ____________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.19509668
E       Max relative difference among violations: inf
E        ACTUAL: array(0.195097)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-1e-05-1-3-37-1] ____________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01934432
E       Max relative difference among violations: inf
E        ACTUAL: array(0.019344)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-1e-05-1-3-10-1] ____________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02120611
E       Max relative difference among violations: inf
E        ACTUAL: array(0.021206)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
____________________ test_nufft3[2-True-True-1e-05-2-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01560669
E       Max relative difference among violations: inf
E        ACTUAL: array(0.015607)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-1e-05-2-3-1-37] ____________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.08944135
E       Max relative difference among violations: inf
E        ACTUAL: array(0.089441)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-1e-05-2-3-1-10] ____________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.08463838
E       Max relative difference among violations: inf
E        ACTUAL: array(0.084638)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-1e-05-2-3-37-1] ____________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01934432
E       Max relative difference among violations: inf
E        ACTUAL: array(0.019344)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-1e-05-2-3-10-1] ____________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02120611
E       Max relative difference among violations: inf
E        ACTUAL: array(0.021206)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
____________________ test_nufft3[2-True-True-3e-05-1-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01873686
E       Max relative difference among violations: inf
E        ACTUAL: array(0.018737)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-3e-05-1-3-1-37] ____________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.09965402
E       Max relative difference among violations: inf
E        ACTUAL: array(0.099654)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-3e-05-1-3-1-10] ____________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.20895588
E       Max relative difference among violations: inf
E        ACTUAL: array(0.208956)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-3e-05-1-3-37-1] ____________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02689722
E       Max relative difference among violations: inf
E        ACTUAL: array(0.026897)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-3e-05-1-3-10-1] ____________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.03122024
E       Max relative difference among violations: inf
E        ACTUAL: array(0.03122)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
____________________ test_nufft3[2-True-True-3e-05-2-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01873677
E       Max relative difference among violations: inf
E        ACTUAL: array(0.018737)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-3e-05-2-3-1-37] ____________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.08879221
E       Max relative difference among violations: inf
E        ACTUAL: array(0.088792)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-3e-05-2-3-1-10] ____________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.08645371
E       Max relative difference among violations: inf
E        ACTUAL: array(0.086454)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-3e-05-2-3-37-1] ____________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02689721
E       Max relative difference among violations: inf
E        ACTUAL: array(0.026897)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-True-3e-05-2-3-10-1] ____________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = True, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.03122026
E       Max relative difference among violations: inf
E        ACTUAL: array(0.03122)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-1e-05-1-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01560666
E       Max relative difference among violations: inf
E        ACTUAL: array(0.015607)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-1e-05-1-3-1-37] ___________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.11960754
E       Max relative difference among violations: inf
E        ACTUAL: array(0.119608)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-1e-05-1-3-1-10] ___________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.12833461
E       Max relative difference among violations: inf
E        ACTUAL: array(0.128335)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-1e-05-1-3-37-1] ___________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01934433
E       Max relative difference among violations: inf
E        ACTUAL: array(0.019344)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-1e-05-1-3-10-1] ___________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 1, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02120611
E       Max relative difference among violations: inf
E        ACTUAL: array(0.021206)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-1e-05-2-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01560667
E       Max relative difference among violations: inf
E        ACTUAL: array(0.015607)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-1e-05-2-3-1-37] ___________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.14303329
E       Max relative difference among violations: inf
E        ACTUAL: array(0.143033)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-1e-05-2-3-1-10] ___________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.09671134
E       Max relative difference among violations: inf
E        ACTUAL: array(0.096711)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-1e-05-2-3-37-1] ___________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01934432
E       Max relative difference among violations: inf
E        ACTUAL: array(0.019344)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-1e-05-2-3-10-1] ___________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 2, epsilon = 1e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0005
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02120613
E       Max relative difference among violations: inf
E        ACTUAL: array(0.021206)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-3e-05-1-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01873679
E       Max relative difference among violations: inf
E        ACTUAL: array(0.018737)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-3e-05-1-3-1-37] ___________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.16438477
E       Max relative difference among violations: inf
E        ACTUAL: array(0.164385)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-3e-05-1-3-1-10] ___________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.11934118
E       Max relative difference among violations: inf
E        ACTUAL: array(0.119341)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-3e-05-1-3-37-1] ___________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02689721
E       Max relative difference among violations: inf
E        ACTUAL: array(0.026897)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-3e-05-1-3-10-1] ___________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 1, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.03122025
E       Max relative difference among violations: inf
E        ACTUAL: array(0.03122)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-3e-05-2-3-1-1] ____________________

npoints_in = 1, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.01873683
E       Max relative difference among violations: inf
E        ACTUAL: array(0.018737)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-3e-05-2-3-1-37] ___________________

npoints_in = 37, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.16054997
E       Max relative difference among violations: inf
E        ACTUAL: array(0.16055)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-3e-05-2-3-1-10] ___________________

npoints_in = 10, npoints_out = 1, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.10103019
E       Max relative difference among violations: inf
E        ACTUAL: array(0.10103)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-3e-05-2-3-37-1] ___________________

npoints_in = 1, npoints_out = 37, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.02689722
E       Max relative difference among violations: inf
E        ACTUAL: array(0.026897)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
___________________ test_nufft3[2-True-False-3e-05-2-3-10-1] ___________________

npoints_in = 1, npoints_out = 10, ndim = 3, ntrans = 2, epsilon = 3e-05
forward = False, singleprec = True, nthreads = 2

    @pmp("npoints_in", (1, 37, 10))
    @pmp("npoints_out", (1, 37, 10))
    @pmp("ndim", (1, 2, 3))
    @pmp("ntrans", (1, 2))
    @pmp("epsilon", (1e-5, 3e-5, 5e-13))
    @pmp("forward", (True, False))
    @pmp("singleprec", (True, False))
    @pmp("nthreads", (1, 2))
    def test_nufft3(npoints_in, npoints_out, ndim, ntrans, epsilon, forward, singleprec, nthreads):
        if singleprec and epsilon < 1e-6:
            pytest.skip()
        rng = np.random.default_rng(42)
        coord_in = (rng.random((npoints_in, ndim))-0.5) * 20
        coord_out = (rng.random((npoints_out, ndim))-0.5) * 20
        points_in = rng.random((ntrans, npoints_in)) + 1j*rng.random((ntrans, npoints_in)) - (0.5+0.5j)
        ref = explicit_nufft3(coord_in, coord_out, points_in, forward)
        if singleprec:
            coord_in = coord_in.astype("f4")
            coord_out = coord_out.astype("f4")
            points_in = points_in.astype("c8")
        res = ducc0.nufft.experimental.nu2nu(points_in=points_in, coord_in=coord_in,
            coord_out=coord_out, forward=forward, epsilon=epsilon, verbosity=0, nthreads=nthreads)
>       assert_allclose(ducc0.misc.l2error(res, ref), 0, atol=50*epsilon)
E       AssertionError: 
E       Not equal to tolerance rtol=1e-07, atol=0.0015
E       
E       Mismatched elements: 1 / 1 (100%)
E       Max absolute difference among violations: 0.03122027
E       Max relative difference among violations: inf
E        ACTUAL: array(0.03122)
E        DESIRED: array(0)

python/test/test_nufft.py:317: AssertionError
=========================== short test summary info ============================
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-1.0-True-True-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-1.0-True-True-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-1.0-True-True-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-1.0-True-True-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-1.0-True-True-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-1.0-True-True-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-1.0-True-False-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-1.0-True-False-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-1.0-True-False-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-1.0-True-False-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-1.0-True-False-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-1.0-True-False-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-periodicity1-True-True-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-periodicity1-True-True-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-periodicity1-True-True-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-periodicity1-True-True-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-periodicity1-True-True-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-periodicity1-True-True-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-periodicity1-True-False-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-periodicity1-True-False-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-periodicity1-True-False-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-periodicity1-True-False-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-periodicity1-True-False-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-False-periodicity1-True-False-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-1.0-True-True-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-1.0-True-True-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-1.0-True-True-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-1.0-True-True-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-1.0-True-True-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-1.0-True-True-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-1.0-True-False-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-1.0-True-False-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-1.0-True-False-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-1.0-True-False-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-1.0-True-False-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-1.0-True-False-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-periodicity1-True-True-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-periodicity1-True-True-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-periodicity1-True-True-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-periodicity1-True-True-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-periodicity1-True-True-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-periodicity1-True-True-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-periodicity1-True-False-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-periodicity1-True-False-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-periodicity1-True-False-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-periodicity1-True-False-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-periodicity1-True-False-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[1-True-periodicity1-True-False-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-1.0-True-True-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-1.0-True-True-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-1.0-True-True-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-1.0-True-True-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-1.0-True-True-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-1.0-True-True-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-1.0-True-False-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-1.0-True-False-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-1.0-True-False-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-1.0-True-False-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-1.0-True-False-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-1.0-True-False-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-periodicity1-True-True-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-periodicity1-True-True-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-periodicity1-True-True-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-periodicity1-True-True-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-periodicity1-True-True-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-periodicity1-True-True-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-periodicity1-True-False-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-periodicity1-True-False-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-periodicity1-True-False-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-periodicity1-True-False-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-periodicity1-True-False-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-False-periodicity1-True-False-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-1.0-True-True-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-1.0-True-True-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-1.0-True-True-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-1.0-True-True-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-1.0-True-True-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-1.0-True-True-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-1.0-True-False-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-1.0-True-False-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-1.0-True-False-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-1.0-True-False-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-1.0-True-False-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-1.0-True-False-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-periodicity1-True-True-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-periodicity1-True-True-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-periodicity1-True-True-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-periodicity1-True-True-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-periodicity1-True-True-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-periodicity1-True-True-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-periodicity1-True-False-1e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-periodicity1-True-False-1e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-periodicity1-True-False-1e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-periodicity1-True-False-3e-05-1-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-periodicity1-True-False-3e-05-37-1-1-1]
FAILED python/test/test_nufft.py::test_nufft_3d[2-True-periodicity1-True-False-3e-05-10-1-1-1]
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-1e-05-1-3-1-1] - As...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-1e-05-1-3-1-37] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-1e-05-1-3-1-10] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-1e-05-1-3-37-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-1e-05-1-3-10-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-1e-05-2-3-1-1] - As...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-1e-05-2-3-1-37] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-1e-05-2-3-1-10] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-1e-05-2-3-37-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-1e-05-2-3-10-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-3e-05-1-3-1-1] - As...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-3e-05-1-3-1-37] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-3e-05-1-3-1-10] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-3e-05-1-3-37-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-3e-05-1-3-10-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-3e-05-2-3-1-1] - As...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-3e-05-2-3-1-37] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-3e-05-2-3-1-10] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-3e-05-2-3-37-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-True-3e-05-2-3-10-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-1e-05-1-3-1-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-1e-05-1-3-1-37] - ...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-1e-05-1-3-1-10] - ...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-1e-05-1-3-37-1] - ...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-1e-05-1-3-10-1] - ...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-1e-05-2-3-1-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-1e-05-2-3-1-37] - ...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-1e-05-2-3-1-10] - ...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-1e-05-2-3-37-1] - ...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-1e-05-2-3-10-1] - ...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-3e-05-1-3-1-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-3e-05-1-3-1-37] - ...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-3e-05-1-3-1-10] - ...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-3e-05-1-3-37-1] - ...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-3e-05-1-3-10-1] - ...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-3e-05-2-3-1-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-3e-05-2-3-1-37] - ...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-3e-05-2-3-1-10] - ...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-3e-05-2-3-37-1] - ...
FAILED python/test/test_nufft.py::test_nufft3[1-True-False-3e-05-2-3-10-1] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-1e-05-1-3-1-1] - As...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-1e-05-1-3-1-37] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-1e-05-1-3-1-10] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-1e-05-1-3-37-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-1e-05-1-3-10-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-1e-05-2-3-1-1] - As...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-1e-05-2-3-1-37] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-1e-05-2-3-1-10] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-1e-05-2-3-37-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-1e-05-2-3-10-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-3e-05-1-3-1-1] - As...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-3e-05-1-3-1-37] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-3e-05-1-3-1-10] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-3e-05-1-3-37-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-3e-05-1-3-10-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-3e-05-2-3-1-1] - As...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-3e-05-2-3-1-37] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-3e-05-2-3-1-10] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-3e-05-2-3-37-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-True-3e-05-2-3-10-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-1e-05-1-3-1-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-1e-05-1-3-1-37] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-1e-05-1-3-1-10] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-1e-05-1-3-37-1] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-1e-05-1-3-10-1] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-1e-05-2-3-1-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-1e-05-2-3-1-37] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-1e-05-2-3-1-10] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-1e-05-2-3-37-1] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-1e-05-2-3-10-1] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-3e-05-1-3-1-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-3e-05-1-3-1-37] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-3e-05-1-3-1-10] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-3e-05-1-3-37-1] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-3e-05-1-3-10-1] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-3e-05-2-3-1-1] - A...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-3e-05-2-3-1-37] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-3e-05-2-3-1-10] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-3e-05-2-3-37-1] - ...
FAILED python/test/test_nufft.py::test_nufft3[2-True-False-3e-05-2-3-10-1] - ...
176 failed, 43073 passed, 7745 skipped in 624.99s (0:10:24)

RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.M46GR1 (%check)
    Bad exit status from /var/tmp/rpm-tmp.M46GR1 (%check)
Finish: rpmbuild python-ducc0-0.37.1-1.fc42.src.rpm
Finish: build phase for python-ducc0-0.37.1-1.fc42.src.rpm
INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan
INFO: /var/lib/mock/fedora-42-ppc64le-1742033264.003378/root/var/log/dnf5.log
INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz
/bin/tar: Removing leading `/' from member names
ERROR: Exception(/var/lib/copr-rpmbuild/results/python-ducc0-0.37.1-1.fc42.src.rpm) Config(fedora-42-ppc64le) 15 minutes 17 seconds
INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results
INFO: Cleaning up build root ('cleanup_on_failure=True')
Start: clean chroot
INFO: unmounting tmpfs.
Finish: clean chroot
ERROR: Command failed: 
 # /usr/bin/systemd-nspawn -q -M 681851a3631f47d5afb3b2a3824a5aa3 -D /var/lib/mock/fedora-42-ppc64le-1742033264.003378/root -a -u mockbuild --capability=cap_ipc_lock --rlimit=RLIMIT_NOFILE=10240 --capability=cap_ipc_lock --bind=/tmp/mock-resolv.qex08f3w:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007"' '--setenv=PS1=<mock-chroot> \s-\v\$ ' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c '/usr/bin/rpmbuild -ba --noprep  --target ppc64le /builddir/build/originals/python-ducc0.spec'

Copr build error: Build failed