I: pbuilder: network access will be disabled during build I: Current time: Thu Aug 29 19:18:47 -12 2024 I: pbuilder-time-stamp: 1725002327 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bullseye-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [mecat2_0.0+git20200428.f54c542+ds-3.dsc] I: copying [./mecat2_0.0+git20200428.f54c542+ds.orig.tar.xz] I: copying [./mecat2_0.0+git20200428.f54c542+ds-3.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' gpgv: keyblock resource '/tmp/dpkg-verify-sig.pW_Xb0Cq/trustedkeys.kbx': General error gpgv: Signature made Sat Dec 5 09:18:18 2020 -12 gpgv: using RSA key F1F007320A035541F0A663CA578A0494D1C646D1 gpgv: issuer "tillea@rki.de" gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./mecat2_0.0+git20200428.f54c542+ds-3.dsc dpkg-source: info: extracting mecat2 in mecat2-0.0+git20200428.f54c542+ds dpkg-source: info: unpacking mecat2_0.0+git20200428.f54c542+ds.orig.tar.xz dpkg-source: info: unpacking mecat2_0.0+git20200428.f54c542+ds-3.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying modify_makefiles.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/1997507/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=16 ' DISTRIBUTION='bullseye' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='3e26d37a453a474e92e71c65216f0749' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='1997507' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.5FxOSPz3/pbuilderrc_GZYM --distribution bullseye --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.5FxOSPz3/b1 --logfile b1/build.log mecat2_0.0+git20200428.f54c542+ds-3.dsc' SUDO_GID='110' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://85.184.249.68:3128' I: uname -a Linux ionos5-amd64 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.38-1 (2023-07-14) x86_64 GNU/Linux I: ls -l /bin total 5476 -rwxr-xr-x 1 root root 1234376 Mar 27 2022 bash -rwxr-xr-x 3 root root 38984 Jul 20 2020 bunzip2 -rwxr-xr-x 3 root root 38984 Jul 20 2020 bzcat lrwxrwxrwx 1 root root 6 Jul 20 2020 bzcmp -> bzdiff -rwxr-xr-x 1 root root 2225 Jul 20 2020 bzdiff lrwxrwxrwx 1 root root 6 Jul 20 2020 bzegrep -> bzgrep -rwxr-xr-x 1 root root 4877 Sep 4 2019 bzexe lrwxrwxrwx 1 root root 6 Jul 20 2020 bzfgrep -> bzgrep -rwxr-xr-x 1 root root 3775 Jul 20 2020 bzgrep -rwxr-xr-x 3 root root 38984 Jul 20 2020 bzip2 -rwxr-xr-x 1 root root 18424 Jul 20 2020 bzip2recover lrwxrwxrwx 1 root root 6 Jul 20 2020 bzless -> bzmore -rwxr-xr-x 1 root root 1297 Jul 20 2020 bzmore -rwxr-xr-x 1 root root 43936 Sep 23 2020 cat -rwxr-xr-x 1 root root 72672 Sep 23 2020 chgrp -rwxr-xr-x 1 root root 64448 Sep 23 2020 chmod -rwxr-xr-x 1 root root 72672 Sep 23 2020 chown -rwxr-xr-x 1 root root 151168 Sep 23 2020 cp -rwxr-xr-x 1 root root 125560 Dec 10 2020 dash -rwxr-xr-x 1 root root 113664 Sep 23 2020 date -rwxr-xr-x 1 root root 80968 Sep 23 2020 dd -rwxr-xr-x 1 root root 93936 Sep 23 2020 df -rwxr-xr-x 1 root root 147176 Sep 23 2020 dir -rwxr-xr-x 1 root root 84440 Jan 20 2022 dmesg lrwxrwxrwx 1 root root 8 Nov 6 2019 dnsdomainname -> hostname lrwxrwxrwx 1 root root 8 Nov 6 2019 domainname -> hostname -rwxr-xr-x 1 root root 39712 Sep 23 2020 echo -rwxr-xr-x 1 root root 28 Jan 24 2023 egrep -rwxr-xr-x 1 root root 39680 Sep 23 2020 false -rwxr-xr-x 1 root root 28 Jan 24 2023 fgrep -rwxr-xr-x 1 root root 69032 Jan 20 2022 findmnt -rwsr-xr-x 1 root root 34896 Feb 26 2021 fusermount -rwxr-xr-x 1 root root 203072 Jan 24 2023 grep -rwxr-xr-x 2 root root 2346 Apr 9 2022 gunzip -rwxr-xr-x 1 root root 6447 Apr 9 2022 gzexe -rwxr-xr-x 1 root root 98048 Apr 9 2022 gzip -rwxr-xr-x 1 root root 22600 Nov 6 2019 hostname -rwxr-xr-x 1 root root 72840 Sep 23 2020 ln -rwxr-xr-x 1 root root 56952 Feb 7 2020 login -rwxr-xr-x 1 root root 147176 Sep 23 2020 ls -rwxr-xr-x 1 root root 149736 Jan 20 2022 lsblk -rwxr-xr-x 1 root root 85184 Sep 23 2020 mkdir -rwxr-xr-x 1 root root 76896 Sep 23 2020 mknod -rwxr-xr-x 1 root root 48064 Sep 23 2020 mktemp -rwxr-xr-x 1 root root 59632 Jan 20 2022 more -rwsr-xr-x 1 root root 55528 Jan 20 2022 mount -rwxr-xr-x 1 root root 18664 Jan 20 2022 mountpoint -rwxr-xr-x 1 root root 147080 Sep 23 2020 mv lrwxrwxrwx 1 root root 8 Nov 6 2019 nisdomainname -> hostname lrwxrwxrwx 1 root root 14 Dec 16 2021 pidof -> /sbin/killall5 -rwxr-xr-x 1 root root 43872 Sep 23 2020 pwd lrwxrwxrwx 1 root root 4 Mar 27 2022 rbash -> bash -rwxr-xr-x 1 root root 52032 Sep 23 2020 readlink -rwxr-xr-x 1 root root 72704 Sep 23 2020 rm -rwxr-xr-x 1 root root 52032 Sep 23 2020 rmdir -rwxr-xr-x 1 root root 27472 Sep 27 2020 run-parts -rwxr-xr-x 1 root root 122224 Dec 22 2018 sed lrwxrwxrwx 1 root root 4 Aug 8 03:47 sh -> dash -rwxr-xr-x 1 root root 43808 Sep 23 2020 sleep -rwxr-xr-x 1 root root 84928 Sep 23 2020 stty -rwsr-xr-x 1 root root 71912 Jan 20 2022 su -rwxr-xr-x 1 root root 39744 Sep 23 2020 sync -rwxr-xr-x 1 root root 531928 Feb 16 2021 tar -rwxr-xr-x 1 root root 14456 Sep 27 2020 tempfile -rwxr-xr-x 1 root root 101408 Sep 23 2020 touch -rwxr-xr-x 1 root root 39680 Sep 23 2020 true -rwxr-xr-x 1 root root 14328 Feb 26 2021 ulockmgr_server -rwsr-xr-x 1 root root 35040 Jan 20 2022 umount -rwxr-xr-x 1 root root 39744 Sep 23 2020 uname -rwxr-xr-x 2 root root 2346 Apr 9 2022 uncompress -rwxr-xr-x 1 root root 147176 Sep 23 2020 vdir -rwxr-xr-x 1 root root 63744 Jan 20 2022 wdctl lrwxrwxrwx 1 root root 8 Nov 6 2019 ypdomainname -> hostname -rwxr-xr-x 1 root root 1984 Apr 9 2022 zcat -rwxr-xr-x 1 root root 1678 Apr 9 2022 zcmp -rwxr-xr-x 1 root root 5898 Apr 9 2022 zdiff -rwxr-xr-x 1 root root 29 Apr 9 2022 zegrep -rwxr-xr-x 1 root root 29 Apr 9 2022 zfgrep -rwxr-xr-x 1 root root 2081 Apr 9 2022 zforce -rwxr-xr-x 1 root root 8049 Apr 9 2022 zgrep -rwxr-xr-x 1 root root 2206 Apr 9 2022 zless -rwxr-xr-x 1 root root 1842 Apr 9 2022 zmore -rwxr-xr-x 1 root root 4577 Apr 9 2022 znew I: user script /srv/workspace/pbuilder/1997507/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), zlib1g-dev, perl dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19707 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on zlib1g-dev; however: Package zlib1g-dev is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1{a} libfile-stripnondeterminism-perl{a} libicu67{a} libmagic-mgc{a} libmagic1{a} libpipeline1{a} libsigsegv2{a} libsub-override-perl{a} libtool{a} libuchardet0{a} libxml2{a} m4{a} man-db{a} po-debconf{a} sensible-utils{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx wget 0 packages upgraded, 32 newly installed, 0 to remove and 0 not upgraded. Need to get 18.5 MB of archives. After unpacking 68.3 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian bullseye/main amd64 bsdextrautils amd64 2.36.1-8+deb11u1 [145 kB] Get: 2 http://deb.debian.org/debian bullseye/main amd64 libuchardet0 amd64 0.0.7-1 [67.8 kB] Get: 3 http://deb.debian.org/debian bullseye/main amd64 groff-base amd64 1.22.4-6 [936 kB] Get: 4 http://deb.debian.org/debian bullseye/main amd64 libpipeline1 amd64 1.5.3-1 [34.3 kB] Get: 5 http://deb.debian.org/debian bullseye/main amd64 man-db amd64 2.9.4-2 [1354 kB] Get: 6 http://deb.debian.org/debian bullseye/main amd64 sensible-utils all 0.0.14 [14.8 kB] Get: 7 http://deb.debian.org/debian bullseye/main amd64 libmagic-mgc amd64 1:5.39-3 [273 kB] Get: 8 http://deb.debian.org/debian bullseye/main amd64 libmagic1 amd64 1:5.39-3 [126 kB] Get: 9 http://deb.debian.org/debian bullseye/main amd64 file amd64 1:5.39-3 [69.1 kB] Get: 10 http://deb.debian.org/debian bullseye/main amd64 gettext-base amd64 0.21-4 [175 kB] Get: 11 http://deb.debian.org/debian bullseye/main amd64 libsigsegv2 amd64 2.13-1 [34.8 kB] Get: 12 http://deb.debian.org/debian bullseye/main amd64 m4 amd64 1.4.18-5 [204 kB] Get: 13 http://deb.debian.org/debian bullseye/main amd64 autoconf all 2.69-14 [313 kB] Get: 14 http://deb.debian.org/debian bullseye/main amd64 autotools-dev all 20180224.1+nmu1 [77.1 kB] Get: 15 http://deb.debian.org/debian bullseye/main amd64 automake all 1:1.16.3-2 [814 kB] Get: 16 http://deb.debian.org/debian bullseye/main amd64 autopoint all 0.21-4 [510 kB] Get: 17 http://deb.debian.org/debian bullseye/main amd64 libdebhelper-perl all 13.3.4 [189 kB] Get: 18 http://deb.debian.org/debian bullseye/main amd64 libtool all 2.4.6-15 [513 kB] Get: 19 http://deb.debian.org/debian bullseye/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 20 http://deb.debian.org/debian bullseye/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 21 http://deb.debian.org/debian bullseye/main amd64 libsub-override-perl all 0.09-2 [10.2 kB] Get: 22 http://deb.debian.org/debian bullseye/main amd64 libfile-stripnondeterminism-perl all 1.12.0-1 [26.3 kB] Get: 23 http://deb.debian.org/debian bullseye/main amd64 dh-strip-nondeterminism all 1.12.0-1 [15.4 kB] Get: 24 http://deb.debian.org/debian bullseye/main amd64 libelf1 amd64 0.183-1 [165 kB] Get: 25 http://deb.debian.org/debian bullseye/main amd64 dwz amd64 0.13+20210201-1 [175 kB] Get: 26 http://deb.debian.org/debian bullseye/main amd64 libicu67 amd64 67.1-7 [8622 kB] Get: 27 http://deb.debian.org/debian bullseye/main amd64 libxml2 amd64 2.9.10+dfsg-6.7+deb11u4 [693 kB] Get: 28 http://deb.debian.org/debian bullseye/main amd64 gettext amd64 0.21-4 [1311 kB] Get: 29 http://deb.debian.org/debian bullseye/main amd64 intltool-debian all 0.35.0+20060710.5 [26.8 kB] Get: 30 http://deb.debian.org/debian bullseye/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 31 http://deb.debian.org/debian bullseye/main amd64 debhelper all 13.3.4 [1049 kB] Get: 32 http://deb.debian.org/debian bullseye/main amd64 zlib1g-dev amd64 1:1.2.11.dfsg-2+deb11u2 [191 kB] Fetched 18.5 MB in 0s (80.0 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package bsdextrautils. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19707 files and directories currently installed.) Preparing to unpack .../00-bsdextrautils_2.36.1-8+deb11u1_amd64.deb ... Unpacking bsdextrautils (2.36.1-8+deb11u1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../01-libuchardet0_0.0.7-1_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.7-1) ... Selecting previously unselected package groff-base. Preparing to unpack .../02-groff-base_1.22.4-6_amd64.deb ... Unpacking groff-base (1.22.4-6) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../03-libpipeline1_1.5.3-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.3-1) ... Selecting previously unselected package man-db. Preparing to unpack .../04-man-db_2.9.4-2_amd64.deb ... Unpacking man-db (2.9.4-2) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../05-sensible-utils_0.0.14_all.deb ... Unpacking sensible-utils (0.0.14) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../06-libmagic-mgc_1%3a5.39-3_amd64.deb ... Unpacking libmagic-mgc (1:5.39-3) ... Selecting previously unselected package libmagic1:amd64. Preparing to unpack .../07-libmagic1_1%3a5.39-3_amd64.deb ... Unpacking libmagic1:amd64 (1:5.39-3) ... Selecting previously unselected package file. Preparing to unpack .../08-file_1%3a5.39-3_amd64.deb ... Unpacking file (1:5.39-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../09-gettext-base_0.21-4_amd64.deb ... Unpacking gettext-base (0.21-4) ... Selecting previously unselected package libsigsegv2:amd64. Preparing to unpack .../10-libsigsegv2_2.13-1_amd64.deb ... Unpacking libsigsegv2:amd64 (2.13-1) ... Selecting previously unselected package m4. Preparing to unpack .../11-m4_1.4.18-5_amd64.deb ... Unpacking m4 (1.4.18-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../12-autoconf_2.69-14_all.deb ... Unpacking autoconf (2.69-14) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../13-autotools-dev_20180224.1+nmu1_all.deb ... Unpacking autotools-dev (20180224.1+nmu1) ... Selecting previously unselected package automake. Preparing to unpack .../14-automake_1%3a1.16.3-2_all.deb ... Unpacking automake (1:1.16.3-2) ... Selecting previously unselected package autopoint. Preparing to unpack .../15-autopoint_0.21-4_all.deb ... Unpacking autopoint (0.21-4) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../16-libdebhelper-perl_13.3.4_all.deb ... Unpacking libdebhelper-perl (13.3.4) ... Selecting previously unselected package libtool. Preparing to unpack .../17-libtool_2.4.6-15_all.deb ... Unpacking libtool (2.4.6-15) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../18-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../19-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libsub-override-perl. Preparing to unpack .../20-libsub-override-perl_0.09-2_all.deb ... Unpacking libsub-override-perl (0.09-2) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../21-libfile-stripnondeterminism-perl_1.12.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.12.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../22-dh-strip-nondeterminism_1.12.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.12.0-1) ... Selecting previously unselected package libelf1:amd64. Preparing to unpack .../23-libelf1_0.183-1_amd64.deb ... Unpacking libelf1:amd64 (0.183-1) ... Selecting previously unselected package dwz. Preparing to unpack .../24-dwz_0.13+20210201-1_amd64.deb ... Unpacking dwz (0.13+20210201-1) ... Selecting previously unselected package libicu67:amd64. Preparing to unpack .../25-libicu67_67.1-7_amd64.deb ... Unpacking libicu67:amd64 (67.1-7) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../26-libxml2_2.9.10+dfsg-6.7+deb11u4_amd64.deb ... Unpacking libxml2:amd64 (2.9.10+dfsg-6.7+deb11u4) ... Selecting previously unselected package gettext. Preparing to unpack .../27-gettext_0.21-4_amd64.deb ... Unpacking gettext (0.21-4) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../28-intltool-debian_0.35.0+20060710.5_all.deb ... Unpacking intltool-debian (0.35.0+20060710.5) ... Selecting previously unselected package po-debconf. Preparing to unpack .../29-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../30-debhelper_13.3.4_all.deb ... Unpacking debhelper (13.3.4) ... Selecting previously unselected package zlib1g-dev:amd64. Preparing to unpack .../31-zlib1g-dev_1%3a1.2.11.dfsg-2+deb11u2_amd64.deb ... Unpacking zlib1g-dev:amd64 (1:1.2.11.dfsg-2+deb11u2) ... Setting up libpipeline1:amd64 (1.5.3-1) ... Setting up bsdextrautils (2.36.1-8+deb11u1) ... update-alternatives: using /usr/bin/write.ul to provide /usr/bin/write (write) in auto mode Setting up libicu67:amd64 (67.1-7) ... Setting up libmagic-mgc (1:5.39-3) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.3.4) ... Setting up libmagic1:amd64 (1:5.39-3) ... Setting up gettext-base (0.21-4) ... Setting up file (1:5.39-3) ... Setting up autotools-dev (20180224.1+nmu1) ... Setting up libsigsegv2:amd64 (2.13-1) ... Setting up autopoint (0.21-4) ... Setting up zlib1g-dev:amd64 (1:1.2.11.dfsg-2+deb11u2) ... Setting up sensible-utils (0.0.14) ... Setting up libuchardet0:amd64 (0.0.7-1) ... Setting up libsub-override-perl (0.09-2) ... Setting up libelf1:amd64 (0.183-1) ... Setting up libxml2:amd64 (2.9.10+dfsg-6.7+deb11u4) ... Setting up libfile-stripnondeterminism-perl (1.12.0-1) ... Setting up gettext (0.21-4) ... Setting up libtool (2.4.6-15) ... Setting up m4 (1.4.18-5) ... Setting up intltool-debian (0.35.0+20060710.5) ... Setting up autoconf (2.69-14) ... Setting up dh-strip-nondeterminism (1.12.0-1) ... Setting up dwz (0.13+20210201-1) ... Setting up groff-base (1.22.4-6) ... Setting up automake (1:1.16.3-2) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.9.4-2) ... Not building database; man-db/auto-update is not 'true'. Setting up dh-autoreconf (20) ... Setting up debhelper (13.3.4) ... Processing triggers for libc-bin (2.31-13+deb11u6) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/mecat2-0.0+git20200428.f54c542+ds/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../mecat2_0.0+git20200428.f54c542+ds-3_source.changes dpkg-buildpackage: info: source package mecat2 dpkg-buildpackage: info: source version 0.0+git20200428.f54c542+ds-3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Andreas Tille dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean dh_auto_clean make -j16 clean make[1]: Entering directory '/build/mecat2-0.0+git20200428.f54c542+ds' cd src && make clean make[2]: Entering directory '/build/mecat2-0.0+git20200428.f54c542+ds/src' make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. Building for 'Linux' '6.1.0-10-amd64' as 'amd64' Makefile:401: warning: overriding recipe for target '../Linux-amd64/bin/mecat2cns' Makefile:401: warning: ignoring old recipe for target '../Linux-amd64/bin/mecat2cns' Makefile:418: warning: overriding recipe for target 'clean_mecat2cns' Makefile:418: warning: ignoring old recipe for target 'clean_mecat2cns' rm -f ../Linux-amd64/bin/libhbn.a ../Linux-amd64/obj/libhbn.a/corelib/build_db.[doP] ../Linux-amd64/obj/libhbn.a/corelib/cmd_arg.[doP] ../Linux-amd64/obj/libhbn.a/corelib/cstr_util.[doP] ../Linux-amd64/obj/libhbn.a/corelib/db_format.[doP] ../Linux-amd64/obj/libhbn.a/corelib/fasta.[doP] ../Linux-amd64/obj/libhbn.a/corelib/gapped_candidate.[doP] ../Linux-amd64/obj/libhbn.a/corelib/hbn_aux.[doP] ../Linux-amd64/obj/libhbn.a/corelib/hbn_format.[doP] ../Linux-amd64/obj/libhbn.a/corelib/hbn_hit.[doP] ../Linux-amd64/obj/libhbn.a/corelib/hbn_package_version.[doP] ../Linux-amd64/obj/libhbn.a/corelib/kstring.[doP] ../Linux-amd64/obj/libhbn.a/corelib/line_reader.[doP] ../Linux-amd64/obj/libhbn.a/corelib/m4_record.[doP] ../Linux-amd64/obj/libhbn.a/corelib/name2id_map.[doP] ../Linux-amd64/obj/libhbn.a/corelib/partition_aux.[doP] ../Linux-amd64/obj/libhbn.a/corelib/raw_reads.[doP] ../Linux-amd64/obj/libhbn.a/corelib/seqdb_summary.[doP] ../Linux-amd64/obj/libhbn.a/corelib/seqdb.[doP] ../Linux-amd64/obj/libhbn.a/corelib/seq_tag.[doP] ../Linux-amd64/obj/libhbn.a/corelib/seq_tag_report.[doP] ../Linux-amd64/obj/libhbn.a/corelib/small_object_alloc.[doP] ../Linux-amd64/obj/libhbn.a/corelib/string2hsp.[doP] ../Linux-amd64/obj/libhbn.a/algo/chain_dp.[doP] ../Linux-amd64/obj/libhbn.a/algo/diff_gapalign.[doP] ../Linux-amd64/obj/libhbn.a/algo/hash_list_bucket_sort.[doP] ../Linux-amd64/obj/libhbn.a/algo/kalloc.[doP] ../Linux-amd64/obj/libhbn.a/algo/ksw2_extd2_sse.[doP] ../Linux-amd64/obj/libhbn.a/algo/ksw2_extz2_sse.[doP] ../Linux-amd64/obj/libhbn.a/algo/ksw2_wrapper.[doP] ../Linux-amd64/obj/libhbn.a/algo/hbn_lookup_table.[doP] ../Linux-amd64/obj/libhbn.a/algo/hbn_traceback_aux.[doP] ../Linux-amd64/obj/libhbn.a/algo/word_finder.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/c_ncbi_blast_aux.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/ncbi_blast_aux.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/blast_args.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/cmdline_flags.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/format_flags.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_allow.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_desc.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_types.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr_util.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_cmp.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/numeric_str_interconv.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_util.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_encoding.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_hits.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_message.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_options.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_stat.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_parameters.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_program.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_types.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/boost_erf.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/hsp2string.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/ncbi_math.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_query_info.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_sequence_blk.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/gapinfo.[doP] rm -f ../Linux-amd64/bin/mecat2pcan ../Linux-amd64/obj/mecat2pcan/app/mecat2pcan/pcan.[doP] rm -f ../Linux-amd64/bin/mecat2map ../Linux-amd64/obj/mecat2map/app/map/cmdline_args.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_align_one_volume.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_build_seqdb.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_extend_subseq_hit.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_find_subseq_hit.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_job_control.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_options.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_subseq_hit.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_task_struct.[doP] ../Linux-amd64/obj/mecat2map/app/map/main.[doP] ../Linux-amd64/obj/mecat2map/app/map/mecat_results.[doP] rm -f ../Linux-amd64/bin/mecat2cns ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cmdline_args.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_aux.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_one_part.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_one_read.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_options.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns_align_tag.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns_aux.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/hbn_task_struct.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/main.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/raw_reads_reader.[doP] rm -f ../Linux-amd64/bin/mecat2viewdb ../Linux-amd64/obj/mecat2viewdb/app/hbndb/viewhbndb.[doP] rm -f ../Linux-amd64/bin/mecat2lcr ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/cmdline_args.[doP] ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/largest_cover_range.[doP] ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/main.[doP] ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/common/range_list.[doP] ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/common/m4_aux.[doP] rm -f ../Linux-amd64/bin/mecat2splitreads ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/cmdline_args.[doP] ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/main.[doP] ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/split_reads.[doP] ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/common/range_list.[doP] ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/common/m4_aux.[doP] rm -f ../Linux-amd64/bin/mecat2trimbases ../Linux-amd64/obj/mecat2trimbases/app/mecat2trim/3_trim_bases/main.[doP] rm -f ../Linux-amd64/bin/mecat2pm4 ../Linux-amd64/obj/mecat2pm4/app/mecat2pm4/main.[doP] rm -f ../Linux-amd64/bin/mecat2extseqs ../Linux-amd64/obj/mecat2extseqs/app/mecat2extseqs/main.[doP] rm -f ../Linux-amd64/bin/libfsa.a ../Linux-amd64/obj/libfsa.a/app/fsa/argument_parser.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/getopt.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/logger.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/overlap.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/read_store.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/sequence.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/utility.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/fasta_reader.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/fastq_reader.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_store.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/simple_align.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_filter.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_stat.[doP] rm -f ../Linux-amd64/bin/fsa_ol_filter ../Linux-amd64/obj/fsa_ol_filter/app/fsa/fsa_ol_filter.[doP] rm -f ../Linux-amd64/bin/fsa_assemble ../Linux-amd64/obj/fsa_assemble/app/fsa/fsa_assemble.[doP] ../Linux-amd64/obj/fsa_assemble/app/fsa/assembly.[doP] ../Linux-amd64/obj/fsa_assemble/app/fsa/graph.[doP] ../Linux-amd64/obj/fsa_assemble/app/fsa/string_graph.[doP] ../Linux-amd64/obj/fsa_assemble/app/fsa/path_graph.[doP] rm -f ../Linux-amd64/bin/fsa_ctg_bridge ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/fsa_ctg_bridge.[doP] ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_bridge.[doP] ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_graph.[doP] ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_link.[doP] ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_link_store.[doP] rm -f ../Linux-amd64/bin/fsa_rd_stat ../Linux-amd64/obj/fsa_rd_stat/app/fsa/fsa_rd_stat.[doP] ../Linux-amd64/obj/fsa_rd_stat/app/fsa/read_stat.[doP] rm -f ../Linux-amd64/bin/mecat.pl rm -f ../Linux-amd64/bin/mecat.sh rm -f rm -f ../Linux-amd64/bin/Plgd/Grid.pm ../Linux-amd64/bin/Plgd/GridLsf.pm ../Linux-amd64/bin/Plgd/GridPbs.pm ../Linux-amd64/bin/Plgd/GridSge.pm ../Linux-amd64/bin/Plgd/GridSlurm.pm ../Linux-amd64/bin/Plgd/Project.pm ../Linux-amd64/bin/Plgd/Script.pm ../Linux-amd64/bin/Plgd/Utils.pm rm -rf ../Linux-amd64/bin/Plgd make[2]: Leaving directory '/build/mecat2-0.0+git20200428.f54c542+ds/src' make[1]: Leaving directory '/build/mecat2-0.0+git20200428.f54c542+ds' dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf dh_auto_configure dh_auto_build make -j16 "INSTALL=install --strip-program=true" make[1]: Entering directory '/build/mecat2-0.0+git20200428.f54c542+ds' cd src && make make[2]: Entering directory '/build/mecat2-0.0+git20200428.f54c542+ds/src' make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. Building for 'Linux' '6.1.0-10-amd64' as 'amd64' Makefile:401: warning: overriding recipe for target '../Linux-amd64/bin/mecat2cns' Makefile:401: warning: ignoring old recipe for target '../Linux-amd64/bin/mecat2cns' Makefile:418: warning: overriding recipe for target 'clean_mecat2cns' Makefile:418: warning: ignoring old recipe for target 'clean_mecat2cns' cp -pf pipeline/mecat.pl ../Linux-amd64/bin/mecat.pl chmod +x ../Linux-amd64/bin/mecat.pl cp -pf pipeline/mecat.sh ../Linux-amd64/bin/mecat.sh chmod +x ../Linux-amd64/bin/mecat.sh cp -pf pipeline/Plgd/Grid.pm ../Linux-amd64/bin/Plgd/Grid.pm cp -pf pipeline/Plgd/GridLsf.pm ../Linux-amd64/bin/Plgd/GridLsf.pm cp -pf pipeline/Plgd/GridPbs.pm ../Linux-amd64/bin/Plgd/GridPbs.pm cp -pf pipeline/Plgd/GridSge.pm ../Linux-amd64/bin/Plgd/GridSge.pm cp -pf pipeline/Plgd/GridSlurm.pm ../Linux-amd64/bin/Plgd/GridSlurm.pm cp -pf pipeline/Plgd/Project.pm ../Linux-amd64/bin/Plgd/Project.pm cp -pf pipeline/Plgd/Script.pm ../Linux-amd64/bin/Plgd/Script.pm cp -pf pipeline/Plgd/Utils.pm ../Linux-amd64/bin/Plgd/Utils.pm cc -o ../Linux-amd64/obj/libhbn.a/corelib/build_db.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/build_db.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/cmd_arg.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/cmd_arg.c g++ -o ../Linux-amd64/obj/libhbn.a/corelib/cstr_util.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp corelib/cstr_util.cpp cc -o ../Linux-amd64/obj/libhbn.a/corelib/db_format.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/db_format.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/fasta.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/fasta.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/gapped_candidate.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/gapped_candidate.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/hbn_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/hbn_aux.c corelib/hbn_aux.c: In function ‘hbn_get_cpu_count’: corelib/hbn_aux.c:357:9: warning: unused variable ‘allCPUNum_’ [-Wunused-variable] 357 | int allCPUNum_ = sysconf(_SC_NPROCESSORS_CONF); | ^~~~~~~~~~ cc -o ../Linux-amd64/obj/libhbn.a/corelib/hbn_format.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/hbn_format.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/hbn_hit.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/hbn_hit.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/hbn_package_version.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/hbn_package_version.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/kstring.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/kstring.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/line_reader.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/line_reader.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/m4_record.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/m4_record.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/name2id_map.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/name2id_map.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/partition_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/partition_aux.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/raw_reads.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/raw_reads.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/seqdb_summary.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/seqdb_summary.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/seqdb.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/seqdb.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/seq_tag.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/seq_tag.c corelib/seq_tag.c:480:1: warning: ‘examine_ovlp_quality_perfect’ defined but not used [-Wunused-function] 480 | examine_ovlp_quality_perfect(int qoff, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ corelib/seq_tag.c:9:12: warning: ‘CircularSeq’ defined but not used [-Wunused-variable] 9 | static int CircularSeq = 0; | ^~~~~~~~~~~ corelib/seq_tag.c:7:12: warning: ‘RepeatSeq’ defined but not used [-Wunused-variable] 7 | static int RepeatSeq = 0; | ^~~~~~~~~ g++ -o ../Linux-amd64/obj/libhbn.a/corelib/seq_tag_report.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp corelib/seq_tag_report.cpp cc -o ../Linux-amd64/obj/libhbn.a/corelib/small_object_alloc.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/small_object_alloc.c g++ -o ../Linux-amd64/obj/libhbn.a/corelib/string2hsp.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp corelib/string2hsp.cpp cc -o ../Linux-amd64/obj/libhbn.a/algo/chain_dp.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/chain_dp.c g++ -o ../Linux-amd64/obj/libhbn.a/algo/diff_gapalign.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp algo/diff_gapalign.cpp algo/diff_gapalign.cpp:375:1: warning: ‘void dump_subseq(const u8*, int)’ defined but not used [-Wunused-function] 375 | dump_subseq(const u8* seq, int len) | ^~~~~~~~~~~ cc -o ../Linux-amd64/obj/libhbn.a/algo/hash_list_bucket_sort.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/hash_list_bucket_sort.c cc -o ../Linux-amd64/obj/libhbn.a/algo/kalloc.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/kalloc.c cc -o ../Linux-amd64/obj/libhbn.a/algo/ksw2_extd2_sse.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/ksw2_extd2_sse.c cc -o ../Linux-amd64/obj/libhbn.a/algo/ksw2_extz2_sse.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/ksw2_extz2_sse.c cc -o ../Linux-amd64/obj/libhbn.a/algo/ksw2_wrapper.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/ksw2_wrapper.c cc -o ../Linux-amd64/obj/libhbn.a/algo/hbn_lookup_table.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/hbn_lookup_table.c cc -o ../Linux-amd64/obj/libhbn.a/algo/hbn_traceback_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/hbn_traceback_aux.c cc -o ../Linux-amd64/obj/libhbn.a/algo/word_finder.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/word_finder.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/c_ncbi_blast_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/c_ncbi_blast_aux.c g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/ncbi_blast_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/ncbi_blast_aux.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/blast_args.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/cmdline_args/blast_args.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/cmdline_flags.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/cmdline_args/cmdline_flags.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/format_flags.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/cmdline_args/format_flags.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_allow.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/cmdline_args/ncbiargs_allow.cpp ncbi_blast/cmdline_args/ncbiargs_allow.cpp:85:15: warning: ‘std::string ncbi::s_GetSymbolClass(ncbi::CArgAllow_Symbols::ESymbolClass)’ defined but not used [-Wunused-function] 85 | static string s_GetSymbolClass(CArgAllow_Symbols::ESymbolClass symbol_class) | ^~~~~~~~~~~~~~~~ g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_desc.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/cmdline_args/ncbiargs_desc.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_types.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/cmdline_args/ncbiargs_types.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr_util.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/str_util/ncbistr_util.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/str_util/ncbistr.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_cmp.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/str_util/str_cmp.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/numeric_str_interconv.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/str_util/numeric_str_interconv.cpp ncbi_blast/str_util/numeric_str_interconv.cpp: In function ‘ncbi::SIZE_TYPE ns_hbnstr::DoubleToString_Ecvt(double, unsigned int, char*, ncbi::SIZE_TYPE, int*, int*)’: ncbi_blast/str_util/numeric_str_interconv.cpp:2175:20: warning: ‘char* strncpy(char*, const char*, size_t)’ output may be truncated copying between 0 and 15 bytes from a string of length 31 [-Wstringop-truncation] 2175 | strncpy(buffer,digits,digits_len); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_util.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/str_util/str_util.cpp cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_encoding.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_encoding.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_hits.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_hits.c ncbi_blast/setup/blast_hits.c:3897:1: warning: ‘s_TrimResultsByTotalHSPLimitEx’ defined but not used [-Wunused-function] 3897 | s_TrimResultsByTotalHSPLimitEx(BlastHSPResults* results, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ncbi_blast/setup/blast_hits.c:3815:1: warning: ‘s_TrimResultsByTotalHSPLimit’ defined but not used [-Wunused-function] 3815 | s_TrimResultsByTotalHSPLimit(BlastHSPResults* results, Uint4 total_hsp_limit) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ncbi_blast/setup/blast_hits.c:3580:12: warning: ‘s_SortHspWrapRawScore’ defined but not used [-Wunused-function] 3580 | static int s_SortHspWrapRawScore(const void *x, const void *y) | ^~~~~~~~~~~~~~~~~~~~~ cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_message.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_message.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_options.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_options.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_stat.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_stat.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_parameters.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_parameters.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_program.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_program.c g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_types.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/setup/blast_types.cpp cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/boost_erf.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/boost_erf.c g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/hsp2string.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/setup/hsp2string.cpp cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/ncbi_math.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/ncbi_math.c In file included from ncbi_blast/setup/ncbi_math.c:498: ncbi_blast/setup/ncbi_erf.c: In function ‘s_IEEE754_Exp’: ncbi_blast/setup/ncbi_erf.c:40:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 40 | #define __LO(x) *(int*)&x | ^~~~~~~~ 41 | #define __HIp(x) *(1+(int*)x) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 42 | #define __LOp(x) *(int*)x | ~~~~~~~~~~~~~~~~~~~~~~~~~ 43 | #endif | ~~~~~~ 44 | | 45 | #ifdef NEED_EXP | ~~~~~~~~~~~~~~~ 46 | /* s_IEEE754_Exp(x) | ~~~~~~~~~~~~~~~~~~~ 47 | * Returns the exponential of x. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48 | * | ~ 49 | * Method | ~~~~~~~~ 50 | * 1. Argument reduction: | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 51 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 52 | * Given x, find r and integer k such that | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53 | * | ~ 54 | * x = k*ln2 + r, |r| <= 0.5*ln2. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | * | ~ 56 | * Here r will be represented as r = hi-lo for better | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 57 | * accuracy. | ~~~~~~~~~~~ 58 | * | ~ 59 | * 2. Approximation of exp(r) by a special rational function on | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 60 | * the interval [0,0.34658]: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 61 | * Write | ~~~~~~~ 62 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63 | * We use a special Remes algorithm on [0,0.34658] to generate | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 64 | * a polynomial of degree 5 to approximate R. The maximum error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | * of this polynomial approximation is bounded by 2**-59. In | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 66 | * other words, | ~~~~~~~~~~~~~~ 67 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 68 | * (where z=r*r, and the values of P1 to P5 are listed below) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 69 | * and | ~~~~~ 70 | * | 5 | -59 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 71 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 72 | * | | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73 | * The computation of exp(r) thus becomes | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 74 | * 2*r | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 75 | * exp(r) = 1 + ------- | ~~~~~~~~~~~~~~~~~~~~~~~ 76 | * R - r | ~~~~~~~~~~~~~~~~~~~~~~ 77 | * r*R1(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 78 | * = 1 + r + ----------- (for better accuracy) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79 | * 2 - R1(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80 | * where | ~~~~~~~ 81 | * 2 4 10 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 82 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 83 | * | ~ 84 | * 3. Scale back to obtain exp(x): | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 85 | * From step 1, we have | ~~~~~~~~~~~~~~~~~~~~~~ 86 | * exp(x) = 2^k * exp(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | * | ~ 88 | * Special cases: | ~~~~~~~~~~~~~~~~ 89 | * exp(INF) is INF, exp(NaN) is NaN; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 90 | * exp(-INF) is 0, and | ~~~~~~~~~~~~~~~~~~~~~ 91 | * for finite argument, only exp(0)=1 is exact. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | * | ~ 93 | * Accuracy: | ~~~~~~~~~~~ 94 | * according to an error analysis, the error is always less than | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 95 | * 1 ulp (unit in the last place). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 96 | * | ~ 97 | * Misc. info. | ~~~~~~~~~~~~~ 98 | * For IEEE double | ~~~~~~~~~~~~~~~~~ 99 | * if x > 7.09782712893383973096e+02 then exp(x) overflow | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 100 | * if x < -7.45133219101941108420e+02 then exp(x) underflow | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101 | * | ~ 102 | * Constants: | ~~~~~~~~~~~~ 103 | * The hexadecimal values are the intended ones for the following | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 104 | * constants. The decimal values may be used, provided that the | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 105 | * compiler will convert from decimal to binary accurately enough | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | * to produce the hexadecimal values shown. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 107 | */ | ~~ 108 | | 109 | static const double | ~~~~~~~~~~~~~~~~~~~ 110 | one = 1.0, | ~~~~~~~~~~ 111 | halF[2] = {0.5,-0.5,}, | ~~~~~~~~~~~~~~~~~~~~~~ 112 | huge = 1.0e+300, | ~~~~~~~~~~~~~~~~ 113 | twom1000= 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 114 | o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 115 | u_threshold= -7.45133219101941108420e+02, /* 0xc0874910, 0xD52D3051 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 116 | ln2HI[2] ={ 6.93147180369123816490e-01, /* 0x3fe62e42, 0xfee00000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 117 | -6.93147180369123816490e-01,},/* 0xbfe62e42, 0xfee00000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | ln2LO[2] ={ 1.90821492927058770002e-10, /* 0x3dea39ef, 0x35793c76 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 119 | -1.90821492927058770002e-10,},/* 0xbdea39ef, 0x35793c76 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 120 | invln2 = 1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 121 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 122 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 125 | P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 126 | | 127 | static double s_IEEE754_Exp(double x) /* default IEEE double exp */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 128 | { | ~ 129 | double y,hi,lo,c,t; | ~~~~~~~~~~~~~~~~~~~ 130 | int k = 0,xsb; | ~~~~~~~~~~~~~~ 131 | unsigned hx; | ~~~~~~~~~~~~ 132 | | 133 | hx = __HI(x); /* high word of x */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 134 | xsb = (hx>>31)&1; /* sign bit of x */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 135 | hx &= 0x7fffffff; /* high word of |x| */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 136 | | 137 | /* filter out non-finite argument */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | if(hx >= 0x40862E42) { /* if |x|>=709.78... */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | if(hx>=0x7ff00000) { | ~~~~~~~~~~~~~~~~~~~~ 140 | if(((hx&0xfffff)|__LO(x))!=0) | ~~~~~~~~~~~~~~~~~~~~~~~ ncbi_blast/setup/ncbi_erf.c:140:20: note: in expansion of macro ‘__LO’ 140 | if(((hx&0xfffff)|__LO(x))!=0) | ^~~~ ncbi_blast/setup/ncbi_erf.c: In function ‘BLAST_Erf’: ncbi_blast/setup/ncbi_erf.c:40:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 40 | #define __LO(x) *(int*)&x | ^~~~~~~~ 41 | #define __HIp(x) *(1+(int*)x) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 42 | #define __LOp(x) *(int*)x | ~~~~~~~~~~~~~~~~~~~~~~~~~ 43 | #endif | ~~~~~~ 44 | | 45 | #ifdef NEED_EXP | ~~~~~~~~~~~~~~~ 46 | /* s_IEEE754_Exp(x) | ~~~~~~~~~~~~~~~~~~~ 47 | * Returns the exponential of x. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48 | * | ~ 49 | * Method | ~~~~~~~~ 50 | * 1. Argument reduction: | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 51 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 52 | * Given x, find r and integer k such that | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53 | * | ~ 54 | * x = k*ln2 + r, |r| <= 0.5*ln2. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | * | ~ 56 | * Here r will be represented as r = hi-lo for better | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 57 | * accuracy. | ~~~~~~~~~~~ 58 | * | ~ 59 | * 2. Approximation of exp(r) by a special rational function on | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 60 | * the interval [0,0.34658]: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 61 | * Write | ~~~~~~~ 62 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63 | * We use a special Remes algorithm on [0,0.34658] to generate | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 64 | * a polynomial of degree 5 to approximate R. The maximum error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | * of this polynomial approximation is bounded by 2**-59. In | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 66 | * other words, | ~~~~~~~~~~~~~~ 67 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 68 | * (where z=r*r, and the values of P1 to P5 are listed below) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 69 | * and | ~~~~~ 70 | * | 5 | -59 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 71 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 72 | * | | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73 | * The computation of exp(r) thus becomes | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 74 | * 2*r | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 75 | * exp(r) = 1 + ------- | ~~~~~~~~~~~~~~~~~~~~~~~ 76 | * R - r | ~~~~~~~~~~~~~~~~~~~~~~ 77 | * r*R1(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 78 | * = 1 + r + ----------- (for better accuracy) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79 | * 2 - R1(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80 | * where | ~~~~~~~ 81 | * 2 4 10 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 82 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 83 | * | ~ 84 | * 3. Scale back to obtain exp(x): | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 85 | * From step 1, we have | ~~~~~~~~~~~~~~~~~~~~~~ 86 | * exp(x) = 2^k * exp(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | * | ~ 88 | * Special cases: | ~~~~~~~~~~~~~~~~ 89 | * exp(INF) is INF, exp(NaN) is NaN; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 90 | * exp(-INF) is 0, and | ~~~~~~~~~~~~~~~~~~~~~ 91 | * for finite argument, only exp(0)=1 is exact. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | * | ~ 93 | * Accuracy: | ~~~~~~~~~~~ 94 | * according to an error analysis, the error is always less than | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 95 | * 1 ulp (unit in the last place). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 96 | * | ~ 97 | * Misc. info. | ~~~~~~~~~~~~~ 98 | * For IEEE double | ~~~~~~~~~~~~~~~~~ 99 | * if x > 7.09782712893383973096e+02 then exp(x) overflow | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 100 | * if x < -7.45133219101941108420e+02 then exp(x) underflow | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101 | * | ~ 102 | * Constants: | ~~~~~~~~~~~~ 103 | * The hexadecimal values are the intended ones for the following | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 104 | * constants. The decimal values may be used, provided that the | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 105 | * compiler will convert from decimal to binary accurately enough | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | * to produce the hexadecimal values shown. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 107 | */ | ~~ 108 | | 109 | static const double | ~~~~~~~~~~~~~~~~~~~ 110 | one = 1.0, | ~~~~~~~~~~ 111 | halF[2] = {0.5,-0.5,}, | ~~~~~~~~~~~~~~~~~~~~~~ 112 | huge = 1.0e+300, | ~~~~~~~~~~~~~~~~ 113 | twom1000= 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 114 | o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 115 | u_threshold= -7.45133219101941108420e+02, /* 0xc0874910, 0xD52D3051 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 116 | ln2HI[2] ={ 6.93147180369123816490e-01, /* 0x3fe62e42, 0xfee00000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 117 | -6.93147180369123816490e-01,},/* 0xbfe62e42, 0xfee00000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | ln2LO[2] ={ 1.90821492927058770002e-10, /* 0x3dea39ef, 0x35793c76 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 119 | -1.90821492927058770002e-10,},/* 0xbdea39ef, 0x35793c76 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 120 | invln2 = 1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 121 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 122 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 125 | P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 126 | | 127 | static double s_IEEE754_Exp(double x) /* default IEEE double exp */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 128 | { | ~ 129 | double y,hi,lo,c,t; | ~~~~~~~~~~~~~~~~~~~ 130 | int k = 0,xsb; | ~~~~~~~~~~~~~~ 131 | unsigned hx; | ~~~~~~~~~~~~ 132 | | 133 | hx = __HI(x); /* high word of x */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 134 | xsb = (hx>>31)&1; /* sign bit of x */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 135 | hx &= 0x7fffffff; /* high word of |x| */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 136 | | 137 | /* filter out non-finite argument */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | if(hx >= 0x40862E42) { /* if |x|>=709.78... */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | if(hx>=0x7ff00000) { | ~~~~~~~~~~~~~~~~~~~~ 140 | if(((hx&0xfffff)|__LO(x))!=0) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | return x+x; /* NaN */ | ~~~~~~~~~~~~~~~~~~~~~~~ 142 | else return (xsb==0)? x:0.0; /* exp(+-inf)={inf,0} */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 143 | } | ~ 144 | if(x > o_threshold) | ~~~~~~~~~~~~~~~~~~~ 145 | return huge*huge; /* NCBI_FAKE_WARNING [deliberate overflow] */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 146 | if(x < u_threshold) return twom1000*twom1000; /* underflow */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 147 | } | ~ 148 | | 149 | /* argument reduction */ | ~~~~~~~~~~~~~~~~~~~~~~~~ 150 | if(hx > 0x3fd62e42) { /* if |x| > 0.5 ln2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 151 | if(hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 152 | hi = x-ln2HI[xsb]; lo=ln2LO[xsb]; k = 1-xsb-xsb; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 153 | } else { | ~~~~~~~~ 154 | k = (int)(invln2*x+halF[xsb]); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 155 | t = k; | ~~~~~~~ 156 | hi = x - t*ln2HI[0]; /* t*ln2HI is exact here */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 157 | lo = t*ln2LO[0]; | ~~~~~~~~~~~~~~~~ 158 | } | ~ 159 | x = hi - lo; | ~~~~~~~~~~~~~ 160 | } | ~ 161 | else if(hx < 0x3e300000) { /* when |x|<2**-28 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 162 | if(huge+x>one) return one+x;/* trigger inexact */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 163 | } | ~ 164 | else k = 0; | ~~~~~~~~~~~ 165 | | 166 | /* x is now in primary range */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | t = x*x; | ~~~~~~~~~ 168 | c = x - t*(P1+t*(P2+t*(P3+t*(P4+t*P5)))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 169 | if(k==0) return one-((x*c)/(c-2.0)-x); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 170 | else y = one-((lo-(x*c)/(2.0-c))-hi); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 171 | if(k >= -1021) { | ~~~~~~~~~~~~~~~~ 172 | __HI(y) += (k<<20); /* add k to y's exponent */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 173 | return y; | ~~~~~~~~~ 174 | } else { | ~~~~~~~~ 175 | __HI(y) += ((k+1000)<<20);/* add k to y's exponent */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 176 | return y*twom1000; | ~~~~~~~~~~~~~~~~~~ 177 | } | ~ 178 | } | ~ 179 | #endif | ~~~~~~ 180 | | 181 | /* double erf(double x) | ~~~~~~~~~~~~~~~~~~~~~~~ 182 | * double erfc(double x) | ~~~~~~~~~~~~~~~~~~~~~~~ 183 | * x | ~~~~~~~~~~ 184 | * 2 |\ | ~~~~~~~~~~~~~~~~~~ 185 | * erf(x) = --------- | exp(-t*t)dt | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | * sqrt(pi) \| | ~~~~~~~~~~~~~~~~~~ 187 | * 0 | ~~~~~~~~~~ 188 | * | ~ 189 | * erfc(x) = 1-erf(x) | ~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | * Note that | ~~~~~~~~~~~~ 191 | * erf(-x) = -erf(x) | ~~~~~~~~~~~~~~~~~~~~ 192 | * erfc(-x) = 2 - erfc(x) | ~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | * | ~ 194 | * Method: | ~~~~~~~~~ 195 | * 1. For |x| in [0, 0.84375] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 196 | * erf(x) = x + x*R(x^2) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 197 | * erfc(x) = 1 - erf(x) if x in [-.84375,0.25] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 198 | * = 0.5 + ((0.5-x)-x*R) if x in [0.25,0.84375] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 199 | * where R = P/Q where P is an odd poly of degree 8 and | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 200 | * Q is an odd poly of degree 10. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 201 | * -57.90 | ~~~~~~~~~~~~~~ 202 | * | R - (erf(x)-x)/x | <= 2 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 203 | * | ~ 204 | * | ~ 205 | * Remark. The formula is derived by noting | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | * erf(x) = (2/sqrt(pi))*(x - x^3/3 + x^5/10 - x^7/42 + ....) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 207 | * and that | ~~~~~~~~~~~~~ 208 | * 2/sqrt(pi) = 1.128379167095512573896158903121545171688 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | * is close to one. The interval is chosen because the fix | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | * point of erf(x) is near 0.6174 (i.e., erf(x)=x when x is | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | * near 0.6174), and by some experiment, 0.84375 is chosen to | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 212 | * guarantee the error is less than one ulp for erf. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 213 | * | ~ 214 | * 2. For |x| in [0.84375,1.25], let s = |x| - 1, and | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | * c = 0.84506291151 rounded to single (24 bits) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | * erf(x) = sign(x) * (c + P1(s)/Q1(s)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 217 | * erfc(x) = (1-c) - P1(s)/Q1(s) if x > 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | * 1+(c+P1(s)/Q1(s)) if x < 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 219 | * |P1/Q1 - (erf(|x|)-c)| <= 2**-59.06 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | * Remark: here we use the taylor series expansion at x=1. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | * erf(1+s) = erf(1) + s*Poly(s) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | * = 0.845.. + P1(s)/Q1(s) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 223 | * That is, we use rational approximation to approximate | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | * erf(1+s) - (c = (single)0.84506291151) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 225 | * Note that |P1/Q1|< 0.078 for x in [0.84375,1.25] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 226 | * where | ~~~~~~~~~~ 227 | * P1(s) = degree 6 poly in s | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | * Q1(s) = degree 6 poly in s | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 229 | * | ~ 230 | * 3. For x in [1.25,1/0.35(~2.857143)], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 231 | * erfc(x) = (1/x)*exp(-x*x-0.5625+R1/S1) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 232 | * erf(x) = 1 - erfc(x) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | * where | ~~~~~~~~~~ 234 | * R1(z) = degree 7 poly in z, (z=1/x^2) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | * S1(z) = degree 8 poly in z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | * | ~ 237 | * 4. For x in [1/0.35,28] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | * erfc(x) = (1/x)*exp(-x*x-0.5625+R2/S2) if x > 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 239 | * = 2.0 - (1/x)*exp(-x*x-0.5625+R2/S2) if -6 x >= 28 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | * erf(x) = sign(x) *(1 - tiny) (raise inexact) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | * erfc(x) = tiny*tiny (raise underflow) if x > 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 267 | * = 2 - tiny if x<0 | ~~~~~~~~~~~~~~~~~~~~~ 268 | * | ~ 269 | * 7. Special case: | ~~~~~~~~~~~~~~~~~~~~~~~ 270 | * erf(0) = 0, erf(inf) = 1, erf(-inf) = -1, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | * erfc(0) = 1, erfc(inf) = 0, erfc(-inf) = 2, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | * erfc/erf(NaN) is NaN | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | */ | ~~ 274 | | 275 | #ifndef HAVE_ERF | ~~~~~~~~~~~~~~~~ 276 | static const double | ~~~~~~~~~~~~~~~~~~~ 277 | tiny = 1e-300, | ~~~~~~~~~~~~~~~~~~ 278 | half= 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | /* one = 1.00000000000000000000e+00, */ /* 0x3FF00000, 0x00000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | two = 2.00000000000000000000e+00, /* 0x40000000, 0x00000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | /* c = (float)0.84506291151 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 282 | erx = 8.45062911510467529297e-01, /* 0x3FEB0AC1, 0x60000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | /* | ~~ 284 | * Coefficients for approximation to erf on [0,0.84375] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | */ | ~~ 286 | efx = 1.28379167095512586316e-01, /* 0x3FC06EBA, 0x8214DB69 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | efx8= 1.02703333676410069053e+00, /* 0x3FF06EBA, 0x8214DB69 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | pp0 = 1.28379167095512558561e-01, /* 0x3FC06EBA, 0x8214DB68 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 289 | pp1 = -3.25042107247001499370e-01, /* 0xBFD4CD7D, 0x691CB913 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | pp2 = -2.84817495755985104766e-02, /* 0xBF9D2A51, 0xDBD7194F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | pp3 = -5.77027029648944159157e-03, /* 0xBF77A291, 0x236668E4 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | pp4 = -2.37630166566501626084e-05, /* 0xBEF8EAD6, 0x120016AC */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 293 | qq1 = 3.97917223959155352819e-01, /* 0x3FD97779, 0xCDDADC09 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | qq2 = 6.50222499887672944485e-02, /* 0x3FB0A54C, 0x5536CEBA */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | qq3 = 5.08130628187576562776e-03, /* 0x3F74D022, 0xC4D36B0F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 296 | qq4 = 1.32494738004321644526e-04, /* 0x3F215DC9, 0x221C1A10 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | qq5 = -3.96022827877536812320e-06, /* 0xBED09C43, 0x42A26120 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | /* | ~~ 299 | * Coefficients for approximation to erf in [0.84375,1.25] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 300 | */ | ~~ 301 | pa0 = -2.36211856075265944077e-03, /* 0xBF6359B8, 0xBEF77538 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 302 | pa1 = 4.14856118683748331666e-01, /* 0x3FDA8D00, 0xAD92B34D */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 303 | pa2 = -3.72207876035701323847e-01, /* 0xBFD7D240, 0xFBB8C3F1 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | pa3 = 3.18346619901161753674e-01, /* 0x3FD45FCA, 0x805120E4 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | pa4 = -1.10894694282396677476e-01, /* 0xBFBC6398, 0x3D3E28EC */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | pa5 = 3.54783043256182359371e-02, /* 0x3FA22A36, 0x599795EB */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | pa6 = -2.16637559486879084300e-03, /* 0xBF61BF38, 0x0A96073F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | qa1 = 1.06420880400844228286e-01, /* 0x3FBB3E66, 0x18EEE323 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | qa2 = 5.40397917702171048937e-01, /* 0x3FE14AF0, 0x92EB6F33 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | qa3 = 7.18286544141962662868e-02, /* 0x3FB2635C, 0xD99FE9A7 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | qa4 = 1.26171219808761642112e-01, /* 0x3FC02660, 0xE763351F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | qa5 = 1.36370839120290507362e-02, /* 0x3F8BEDC2, 0x6B51DD1C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 313 | qa6 = 1.19844998467991074170e-02, /* 0x3F888B54, 0x5735151D */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 314 | /* | ~~ 315 | * Coefficients for approximation to erfc in [1.25,1/0.35] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 316 | */ | ~~ 317 | ra0 = -9.86494403484714822705e-03, /* 0xBF843412, 0x600D6435 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 318 | ra1 = -6.93858572707181764372e-01, /* 0xBFE63416, 0xE4BA7360 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 319 | ra2 = -1.05586262253232909814e+01, /* 0xC0251E04, 0x41B0E726 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 320 | ra3 = -6.23753324503260060396e+01, /* 0xC04F300A, 0xE4CBA38D */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 321 | ra4 = -1.62396669462573470355e+02, /* 0xC0644CB1, 0x84282266 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 322 | ra5 = -1.84605092906711035994e+02, /* 0xC067135C, 0xEBCCABB2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 323 | ra6 = -8.12874355063065934246e+01, /* 0xC0545265, 0x57E4D2F2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 324 | ra7 = -9.81432934416914548592e+00, /* 0xC023A0EF, 0xC69AC25C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 325 | sa1 = 1.96512716674392571292e+01, /* 0x4033A6B9, 0xBD707687 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 326 | sa2 = 1.37657754143519042600e+02, /* 0x4061350C, 0x526AE721 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 327 | sa3 = 4.34565877475229228821e+02, /* 0x407B290D, 0xD58A1A71 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 328 | sa4 = 6.45387271733267880336e+02, /* 0x40842B19, 0x21EC2868 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 329 | sa5 = 4.29008140027567833386e+02, /* 0x407AD021, 0x57700314 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 330 | sa6 = 1.08635005541779435134e+02, /* 0x405B28A3, 0xEE48AE2C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 331 | sa7 = 6.57024977031928170135e+00, /* 0x401A47EF, 0x8E484A93 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 332 | sa8 = -6.04244152148580987438e-02, /* 0xBFAEEFF2, 0xEE749A62 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 333 | /* | ~~ 334 | * Coefficients for approximation to erfc in [1/.35,28] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 335 | */ | ~~ 336 | rb0 = -9.86494292470009928597e-03, /* 0xBF843412, 0x39E86F4A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 337 | rb1 = -7.99283237680523006574e-01, /* 0xBFE993BA, 0x70C285DE */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 338 | rb2 = -1.77579549177547519889e+01, /* 0xC031C209, 0x555F995A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 339 | rb3 = -1.60636384855821916062e+02, /* 0xC064145D, 0x43C5ED98 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 340 | rb4 = -6.37566443368389627722e+02, /* 0xC083EC88, 0x1375F228 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 341 | rb5 = -1.02509513161107724954e+03, /* 0xC0900461, 0x6A2E5992 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 342 | rb6 = -4.83519191608651397019e+02, /* 0xC07E384E, 0x9BDC383F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 343 | sb1 = 3.03380607434824582924e+01, /* 0x403E568B, 0x261D5190 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 344 | sb2 = 3.25792512996573918826e+02, /* 0x40745CAE, 0x221B9F0A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 345 | sb3 = 1.53672958608443695994e+03, /* 0x409802EB, 0x189D5118 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 346 | sb4 = 3.19985821950859553908e+03, /* 0x40A8FFB7, 0x688C246A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 347 | sb5 = 2.55305040643316442583e+03, /* 0x40A3F219, 0xCEDF3BE6 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | sb6 = 4.74528541206955367215e+02, /* 0x407DA874, 0xE79FE763 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | sb7 = -2.24409524465858183362e+01; /* 0xC03670E2, 0x42712D62 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | #endif | ~~~~~~ 351 | | 352 | double NCBI_Erf(double x) | ~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | { | ~ 354 | #ifdef HAVE_ERF | ~~~~~~~~~~~~~~~ 355 | return erf(x); | ~~~~~~~~~~~~~~ 356 | #else | ~~~~~ 357 | int hx,ix,i; | ~~~~~~~~~~~~ 358 | double R,S,P,Q,s,y,z,r; | ~~~~~~~~~~~~~~~~~~~~~~~ 359 | hx = __HI(x); | ~~~~~~~~~~~~~ 360 | ix = hx&0x7fffffff; | ~~~~~~~~~~~~~~~~~~~ 361 | if(ix>=0x7ff00000) { /* erf(nan)=nan */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 362 | i = ((unsigned)hx>>31)<<1; | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 363 | return (double)(1-i)+one/x; /* erf(+-inf)=+-1 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 364 | } | ~ 365 | | 366 | if(ix < 0x3feb0000) { /* |x|<0.84375 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 367 | if(ix < 0x3e300000) { /* |x|<2**-28 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 368 | if (ix < 0x00800000) | ~~~~~~~~~~~~~~~~~~~~ 369 | return 0.125*(8.0*x+efx8*x); /*avoid underflow */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 370 | return x + efx*x; | ~~~~~~~~~~~~~~~~~ 371 | } | ~ 372 | z = x*x; | ~~~~~~~~ 373 | r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 374 | s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5)))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 375 | y = r/s; | ~~~~~~~~ 376 | return x + x*y; | ~~~~~~~~~~~~~~~ 377 | } | ~ 378 | if(ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 379 | s = fabs(x)-one; | ~~~~~~~~~~~~~~~~ 380 | P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 381 | Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 382 | if(hx>=0) return erx + P/Q; else return -erx - P/Q; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 383 | } | ~ 384 | if (ix >= 0x40180000) { /* inf>|x|>=6 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 385 | if(hx>=0) return one-tiny; else return tiny-one; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 386 | } | ~ 387 | x = fabs(x); | ~~~~~~~~~~~~ 388 | s = one/(x*x); | ~~~~~~~~~~~~~~ 389 | if(ix< 0x4006DB6E) { /* |x| < 1/0.35 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 390 | R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 391 | ra5+s*(ra6+s*ra7)))))); | ~~~~~~~~~~~~~~~~~~~~~~~ 392 | S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 393 | sa5+s*(sa6+s*(sa7+s*sa8))))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 394 | } else { /* |x| >= 1/0.35 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 395 | R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 396 | rb5+s*rb6))))); | ~~~~~~~~~~~~~~~ 397 | S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 398 | sb5+s*(sb6+s*sb7)))))); | ~~~~~~~~~~~~~~~~~~~~~~~ 399 | } | ~ 400 | z = x; | ~~~~~~~ 401 | __LO(z) = 0; | ~~~~~~ ncbi_blast/setup/ncbi_erf.c:401:2: note: in expansion of macro ‘__LO’ 401 | __LO(z) = 0; | ^~~~ ncbi_blast/setup/ncbi_erf.c: In function ‘BLAST_ErfC’: ncbi_blast/setup/ncbi_erf.c:40:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 40 | #define __LO(x) *(int*)&x | ^~~~~~~~ 41 | #define __HIp(x) *(1+(int*)x) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 42 | #define __LOp(x) *(int*)x | ~~~~~~~~~~~~~~~~~~~~~~~~~ 43 | #endif | ~~~~~~ 44 | | 45 | #ifdef NEED_EXP | ~~~~~~~~~~~~~~~ 46 | /* s_IEEE754_Exp(x) | ~~~~~~~~~~~~~~~~~~~ 47 | * Returns the exponential of x. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48 | * | ~ 49 | * Method | ~~~~~~~~ 50 | * 1. Argument reduction: | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 51 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 52 | * Given x, find r and integer k such that | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53 | * | ~ 54 | * x = k*ln2 + r, |r| <= 0.5*ln2. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | * | ~ 56 | * Here r will be represented as r = hi-lo for better | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 57 | * accuracy. | ~~~~~~~~~~~ 58 | * | ~ 59 | * 2. Approximation of exp(r) by a special rational function on | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 60 | * the interval [0,0.34658]: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 61 | * Write | ~~~~~~~ 62 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63 | * We use a special Remes algorithm on [0,0.34658] to generate | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 64 | * a polynomial of degree 5 to approximate R. The maximum error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | * of this polynomial approximation is bounded by 2**-59. In | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 66 | * other words, | ~~~~~~~~~~~~~~ 67 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 68 | * (where z=r*r, and the values of P1 to P5 are listed below) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 69 | * and | ~~~~~ 70 | * | 5 | -59 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 71 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 72 | * | | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73 | * The computation of exp(r) thus becomes | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 74 | * 2*r | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 75 | * exp(r) = 1 + ------- | ~~~~~~~~~~~~~~~~~~~~~~~ 76 | * R - r | ~~~~~~~~~~~~~~~~~~~~~~ 77 | * r*R1(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 78 | * = 1 + r + ----------- (for better accuracy) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79 | * 2 - R1(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80 | * where | ~~~~~~~ 81 | * 2 4 10 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 82 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 83 | * | ~ 84 | * 3. Scale back to obtain exp(x): | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 85 | * From step 1, we have | ~~~~~~~~~~~~~~~~~~~~~~ 86 | * exp(x) = 2^k * exp(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | * | ~ 88 | * Special cases: | ~~~~~~~~~~~~~~~~ 89 | * exp(INF) is INF, exp(NaN) is NaN; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 90 | * exp(-INF) is 0, and | ~~~~~~~~~~~~~~~~~~~~~ 91 | * for finite argument, only exp(0)=1 is exact. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | * | ~ 93 | * Accuracy: | ~~~~~~~~~~~ 94 | * according to an error analysis, the error is always less than | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 95 | * 1 ulp (unit in the last place). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 96 | * | ~ 97 | * Misc. info. | ~~~~~~~~~~~~~ 98 | * For IEEE double | ~~~~~~~~~~~~~~~~~ 99 | * if x > 7.09782712893383973096e+02 then exp(x) overflow | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 100 | * if x < -7.45133219101941108420e+02 then exp(x) underflow | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101 | * | ~ 102 | * Constants: | ~~~~~~~~~~~~ 103 | * The hexadecimal values are the intended ones for the following | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 104 | * constants. The decimal values may be used, provided that the | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 105 | * compiler will convert from decimal to binary accurately enough | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | * to produce the hexadecimal values shown. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 107 | */ | ~~ 108 | | 109 | static const double | ~~~~~~~~~~~~~~~~~~~ 110 | one = 1.0, | ~~~~~~~~~~ 111 | halF[2] = {0.5,-0.5,}, | ~~~~~~~~~~~~~~~~~~~~~~ 112 | huge = 1.0e+300, | ~~~~~~~~~~~~~~~~ 113 | twom1000= 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 114 | o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 115 | u_threshold= -7.45133219101941108420e+02, /* 0xc0874910, 0xD52D3051 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 116 | ln2HI[2] ={ 6.93147180369123816490e-01, /* 0x3fe62e42, 0xfee00000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 117 | -6.93147180369123816490e-01,},/* 0xbfe62e42, 0xfee00000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | ln2LO[2] ={ 1.90821492927058770002e-10, /* 0x3dea39ef, 0x35793c76 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 119 | -1.90821492927058770002e-10,},/* 0xbdea39ef, 0x35793c76 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 120 | invln2 = 1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 121 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 122 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 125 | P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 126 | | 127 | static double s_IEEE754_Exp(double x) /* default IEEE double exp */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 128 | { | ~ 129 | double y,hi,lo,c,t; | ~~~~~~~~~~~~~~~~~~~ 130 | int k = 0,xsb; | ~~~~~~~~~~~~~~ 131 | unsigned hx; | ~~~~~~~~~~~~ 132 | | 133 | hx = __HI(x); /* high word of x */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 134 | xsb = (hx>>31)&1; /* sign bit of x */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 135 | hx &= 0x7fffffff; /* high word of |x| */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 136 | | 137 | /* filter out non-finite argument */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | if(hx >= 0x40862E42) { /* if |x|>=709.78... */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | if(hx>=0x7ff00000) { | ~~~~~~~~~~~~~~~~~~~~ 140 | if(((hx&0xfffff)|__LO(x))!=0) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | return x+x; /* NaN */ | ~~~~~~~~~~~~~~~~~~~~~~~ 142 | else return (xsb==0)? x:0.0; /* exp(+-inf)={inf,0} */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 143 | } | ~ 144 | if(x > o_threshold) | ~~~~~~~~~~~~~~~~~~~ 145 | return huge*huge; /* NCBI_FAKE_WARNING [deliberate overflow] */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 146 | if(x < u_threshold) return twom1000*twom1000; /* underflow */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 147 | } | ~ 148 | | 149 | /* argument reduction */ | ~~~~~~~~~~~~~~~~~~~~~~~~ 150 | if(hx > 0x3fd62e42) { /* if |x| > 0.5 ln2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 151 | if(hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 152 | hi = x-ln2HI[xsb]; lo=ln2LO[xsb]; k = 1-xsb-xsb; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 153 | } else { | ~~~~~~~~ 154 | k = (int)(invln2*x+halF[xsb]); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 155 | t = k; | ~~~~~~~ 156 | hi = x - t*ln2HI[0]; /* t*ln2HI is exact here */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 157 | lo = t*ln2LO[0]; | ~~~~~~~~~~~~~~~~ 158 | } | ~ 159 | x = hi - lo; | ~~~~~~~~~~~~~ 160 | } | ~ 161 | else if(hx < 0x3e300000) { /* when |x|<2**-28 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 162 | if(huge+x>one) return one+x;/* trigger inexact */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 163 | } | ~ 164 | else k = 0; | ~~~~~~~~~~~ 165 | | 166 | /* x is now in primary range */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | t = x*x; | ~~~~~~~~~ 168 | c = x - t*(P1+t*(P2+t*(P3+t*(P4+t*P5)))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 169 | if(k==0) return one-((x*c)/(c-2.0)-x); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 170 | else y = one-((lo-(x*c)/(2.0-c))-hi); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 171 | if(k >= -1021) { | ~~~~~~~~~~~~~~~~ 172 | __HI(y) += (k<<20); /* add k to y's exponent */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 173 | return y; | ~~~~~~~~~ 174 | } else { | ~~~~~~~~ 175 | __HI(y) += ((k+1000)<<20);/* add k to y's exponent */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 176 | return y*twom1000; | ~~~~~~~~~~~~~~~~~~ 177 | } | ~ 178 | } | ~ 179 | #endif | ~~~~~~ 180 | | 181 | /* double erf(double x) | ~~~~~~~~~~~~~~~~~~~~~~~ 182 | * double erfc(double x) | ~~~~~~~~~~~~~~~~~~~~~~~ 183 | * x | ~~~~~~~~~~ 184 | * 2 |\ | ~~~~~~~~~~~~~~~~~~ 185 | * erf(x) = --------- | exp(-t*t)dt | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | * sqrt(pi) \| | ~~~~~~~~~~~~~~~~~~ 187 | * 0 | ~~~~~~~~~~ 188 | * | ~ 189 | * erfc(x) = 1-erf(x) | ~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | * Note that | ~~~~~~~~~~~~ 191 | * erf(-x) = -erf(x) | ~~~~~~~~~~~~~~~~~~~~ 192 | * erfc(-x) = 2 - erfc(x) | ~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | * | ~ 194 | * Method: | ~~~~~~~~~ 195 | * 1. For |x| in [0, 0.84375] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 196 | * erf(x) = x + x*R(x^2) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 197 | * erfc(x) = 1 - erf(x) if x in [-.84375,0.25] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 198 | * = 0.5 + ((0.5-x)-x*R) if x in [0.25,0.84375] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 199 | * where R = P/Q where P is an odd poly of degree 8 and | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 200 | * Q is an odd poly of degree 10. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 201 | * -57.90 | ~~~~~~~~~~~~~~ 202 | * | R - (erf(x)-x)/x | <= 2 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 203 | * | ~ 204 | * | ~ 205 | * Remark. The formula is derived by noting | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | * erf(x) = (2/sqrt(pi))*(x - x^3/3 + x^5/10 - x^7/42 + ....) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 207 | * and that | ~~~~~~~~~~~~~ 208 | * 2/sqrt(pi) = 1.128379167095512573896158903121545171688 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | * is close to one. The interval is chosen because the fix | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | * point of erf(x) is near 0.6174 (i.e., erf(x)=x when x is | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | * near 0.6174), and by some experiment, 0.84375 is chosen to | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 212 | * guarantee the error is less than one ulp for erf. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 213 | * | ~ 214 | * 2. For |x| in [0.84375,1.25], let s = |x| - 1, and | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | * c = 0.84506291151 rounded to single (24 bits) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | * erf(x) = sign(x) * (c + P1(s)/Q1(s)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 217 | * erfc(x) = (1-c) - P1(s)/Q1(s) if x > 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | * 1+(c+P1(s)/Q1(s)) if x < 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 219 | * |P1/Q1 - (erf(|x|)-c)| <= 2**-59.06 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | * Remark: here we use the taylor series expansion at x=1. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | * erf(1+s) = erf(1) + s*Poly(s) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | * = 0.845.. + P1(s)/Q1(s) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 223 | * That is, we use rational approximation to approximate | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | * erf(1+s) - (c = (single)0.84506291151) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 225 | * Note that |P1/Q1|< 0.078 for x in [0.84375,1.25] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 226 | * where | ~~~~~~~~~~ 227 | * P1(s) = degree 6 poly in s | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | * Q1(s) = degree 6 poly in s | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 229 | * | ~ 230 | * 3. For x in [1.25,1/0.35(~2.857143)], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 231 | * erfc(x) = (1/x)*exp(-x*x-0.5625+R1/S1) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 232 | * erf(x) = 1 - erfc(x) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | * where | ~~~~~~~~~~ 234 | * R1(z) = degree 7 poly in z, (z=1/x^2) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | * S1(z) = degree 8 poly in z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | * | ~ 237 | * 4. For x in [1/0.35,28] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | * erfc(x) = (1/x)*exp(-x*x-0.5625+R2/S2) if x > 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 239 | * = 2.0 - (1/x)*exp(-x*x-0.5625+R2/S2) if -6 x >= 28 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | * erf(x) = sign(x) *(1 - tiny) (raise inexact) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | * erfc(x) = tiny*tiny (raise underflow) if x > 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 267 | * = 2 - tiny if x<0 | ~~~~~~~~~~~~~~~~~~~~~ 268 | * | ~ 269 | * 7. Special case: | ~~~~~~~~~~~~~~~~~~~~~~~ 270 | * erf(0) = 0, erf(inf) = 1, erf(-inf) = -1, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | * erfc(0) = 1, erfc(inf) = 0, erfc(-inf) = 2, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | * erfc/erf(NaN) is NaN | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | */ | ~~ 274 | | 275 | #ifndef HAVE_ERF | ~~~~~~~~~~~~~~~~ 276 | static const double | ~~~~~~~~~~~~~~~~~~~ 277 | tiny = 1e-300, | ~~~~~~~~~~~~~~~~~~ 278 | half= 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | /* one = 1.00000000000000000000e+00, */ /* 0x3FF00000, 0x00000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | two = 2.00000000000000000000e+00, /* 0x40000000, 0x00000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | /* c = (float)0.84506291151 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 282 | erx = 8.45062911510467529297e-01, /* 0x3FEB0AC1, 0x60000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | /* | ~~ 284 | * Coefficients for approximation to erf on [0,0.84375] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | */ | ~~ 286 | efx = 1.28379167095512586316e-01, /* 0x3FC06EBA, 0x8214DB69 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | efx8= 1.02703333676410069053e+00, /* 0x3FF06EBA, 0x8214DB69 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | pp0 = 1.28379167095512558561e-01, /* 0x3FC06EBA, 0x8214DB68 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 289 | pp1 = -3.25042107247001499370e-01, /* 0xBFD4CD7D, 0x691CB913 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | pp2 = -2.84817495755985104766e-02, /* 0xBF9D2A51, 0xDBD7194F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | pp3 = -5.77027029648944159157e-03, /* 0xBF77A291, 0x236668E4 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | pp4 = -2.37630166566501626084e-05, /* 0xBEF8EAD6, 0x120016AC */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 293 | qq1 = 3.97917223959155352819e-01, /* 0x3FD97779, 0xCDDADC09 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | qq2 = 6.50222499887672944485e-02, /* 0x3FB0A54C, 0x5536CEBA */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | qq3 = 5.08130628187576562776e-03, /* 0x3F74D022, 0xC4D36B0F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 296 | qq4 = 1.32494738004321644526e-04, /* 0x3F215DC9, 0x221C1A10 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | qq5 = -3.96022827877536812320e-06, /* 0xBED09C43, 0x42A26120 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | /* | ~~ 299 | * Coefficients for approximation to erf in [0.84375,1.25] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 300 | */ | ~~ 301 | pa0 = -2.36211856075265944077e-03, /* 0xBF6359B8, 0xBEF77538 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 302 | pa1 = 4.14856118683748331666e-01, /* 0x3FDA8D00, 0xAD92B34D */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 303 | pa2 = -3.72207876035701323847e-01, /* 0xBFD7D240, 0xFBB8C3F1 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | pa3 = 3.18346619901161753674e-01, /* 0x3FD45FCA, 0x805120E4 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | pa4 = -1.10894694282396677476e-01, /* 0xBFBC6398, 0x3D3E28EC */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | pa5 = 3.54783043256182359371e-02, /* 0x3FA22A36, 0x599795EB */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | pa6 = -2.16637559486879084300e-03, /* 0xBF61BF38, 0x0A96073F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | qa1 = 1.06420880400844228286e-01, /* 0x3FBB3E66, 0x18EEE323 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | qa2 = 5.40397917702171048937e-01, /* 0x3FE14AF0, 0x92EB6F33 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | qa3 = 7.18286544141962662868e-02, /* 0x3FB2635C, 0xD99FE9A7 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | qa4 = 1.26171219808761642112e-01, /* 0x3FC02660, 0xE763351F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | qa5 = 1.36370839120290507362e-02, /* 0x3F8BEDC2, 0x6B51DD1C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 313 | qa6 = 1.19844998467991074170e-02, /* 0x3F888B54, 0x5735151D */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 314 | /* | ~~ 315 | * Coefficients for approximation to erfc in [1.25,1/0.35] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 316 | */ | ~~ 317 | ra0 = -9.86494403484714822705e-03, /* 0xBF843412, 0x600D6435 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 318 | ra1 = -6.93858572707181764372e-01, /* 0xBFE63416, 0xE4BA7360 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 319 | ra2 = -1.05586262253232909814e+01, /* 0xC0251E04, 0x41B0E726 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 320 | ra3 = -6.23753324503260060396e+01, /* 0xC04F300A, 0xE4CBA38D */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 321 | ra4 = -1.62396669462573470355e+02, /* 0xC0644CB1, 0x84282266 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 322 | ra5 = -1.84605092906711035994e+02, /* 0xC067135C, 0xEBCCABB2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 323 | ra6 = -8.12874355063065934246e+01, /* 0xC0545265, 0x57E4D2F2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 324 | ra7 = -9.81432934416914548592e+00, /* 0xC023A0EF, 0xC69AC25C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 325 | sa1 = 1.96512716674392571292e+01, /* 0x4033A6B9, 0xBD707687 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 326 | sa2 = 1.37657754143519042600e+02, /* 0x4061350C, 0x526AE721 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 327 | sa3 = 4.34565877475229228821e+02, /* 0x407B290D, 0xD58A1A71 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 328 | sa4 = 6.45387271733267880336e+02, /* 0x40842B19, 0x21EC2868 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 329 | sa5 = 4.29008140027567833386e+02, /* 0x407AD021, 0x57700314 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 330 | sa6 = 1.08635005541779435134e+02, /* 0x405B28A3, 0xEE48AE2C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 331 | sa7 = 6.57024977031928170135e+00, /* 0x401A47EF, 0x8E484A93 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 332 | sa8 = -6.04244152148580987438e-02, /* 0xBFAEEFF2, 0xEE749A62 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 333 | /* | ~~ 334 | * Coefficients for approximation to erfc in [1/.35,28] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 335 | */ | ~~ 336 | rb0 = -9.86494292470009928597e-03, /* 0xBF843412, 0x39E86F4A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 337 | rb1 = -7.99283237680523006574e-01, /* 0xBFE993BA, 0x70C285DE */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 338 | rb2 = -1.77579549177547519889e+01, /* 0xC031C209, 0x555F995A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 339 | rb3 = -1.60636384855821916062e+02, /* 0xC064145D, 0x43C5ED98 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 340 | rb4 = -6.37566443368389627722e+02, /* 0xC083EC88, 0x1375F228 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 341 | rb5 = -1.02509513161107724954e+03, /* 0xC0900461, 0x6A2E5992 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 342 | rb6 = -4.83519191608651397019e+02, /* 0xC07E384E, 0x9BDC383F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 343 | sb1 = 3.03380607434824582924e+01, /* 0x403E568B, 0x261D5190 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 344 | sb2 = 3.25792512996573918826e+02, /* 0x40745CAE, 0x221B9F0A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 345 | sb3 = 1.53672958608443695994e+03, /* 0x409802EB, 0x189D5118 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 346 | sb4 = 3.19985821950859553908e+03, /* 0x40A8FFB7, 0x688C246A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 347 | sb5 = 2.55305040643316442583e+03, /* 0x40A3F219, 0xCEDF3BE6 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | sb6 = 4.74528541206955367215e+02, /* 0x407DA874, 0xE79FE763 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | sb7 = -2.24409524465858183362e+01; /* 0xC03670E2, 0x42712D62 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | #endif | ~~~~~~ 351 | | 352 | double NCBI_Erf(double x) | ~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | { | ~ 354 | #ifdef HAVE_ERF | ~~~~~~~~~~~~~~~ 355 | return erf(x); | ~~~~~~~~~~~~~~ 356 | #else | ~~~~~ 357 | int hx,ix,i; | ~~~~~~~~~~~~ 358 | double R,S,P,Q,s,y,z,r; | ~~~~~~~~~~~~~~~~~~~~~~~ 359 | hx = __HI(x); | ~~~~~~~~~~~~~ 360 | ix = hx&0x7fffffff; | ~~~~~~~~~~~~~~~~~~~ 361 | if(ix>=0x7ff00000) { /* erf(nan)=nan */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 362 | i = ((unsigned)hx>>31)<<1; | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 363 | return (double)(1-i)+one/x; /* erf(+-inf)=+-1 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 364 | } | ~ 365 | | 366 | if(ix < 0x3feb0000) { /* |x|<0.84375 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 367 | if(ix < 0x3e300000) { /* |x|<2**-28 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 368 | if (ix < 0x00800000) | ~~~~~~~~~~~~~~~~~~~~ 369 | return 0.125*(8.0*x+efx8*x); /*avoid underflow */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 370 | return x + efx*x; | ~~~~~~~~~~~~~~~~~ 371 | } | ~ 372 | z = x*x; | ~~~~~~~~ 373 | r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 374 | s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5)))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 375 | y = r/s; | ~~~~~~~~ 376 | return x + x*y; | ~~~~~~~~~~~~~~~ 377 | } | ~ 378 | if(ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 379 | s = fabs(x)-one; | ~~~~~~~~~~~~~~~~ 380 | P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 381 | Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 382 | if(hx>=0) return erx + P/Q; else return -erx - P/Q; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 383 | } | ~ 384 | if (ix >= 0x40180000) { /* inf>|x|>=6 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 385 | if(hx>=0) return one-tiny; else return tiny-one; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 386 | } | ~ 387 | x = fabs(x); | ~~~~~~~~~~~~ 388 | s = one/(x*x); | ~~~~~~~~~~~~~~ 389 | if(ix< 0x4006DB6E) { /* |x| < 1/0.35 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 390 | R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 391 | ra5+s*(ra6+s*ra7)))))); | ~~~~~~~~~~~~~~~~~~~~~~~ 392 | S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 393 | sa5+s*(sa6+s*(sa7+s*sa8))))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 394 | } else { /* |x| >= 1/0.35 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 395 | R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 396 | rb5+s*rb6))))); | ~~~~~~~~~~~~~~~ 397 | S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 398 | sb5+s*(sb6+s*sb7)))))); | ~~~~~~~~~~~~~~~~~~~~~~~ 399 | } | ~ 400 | z = x; | ~~~~~~~ 401 | __LO(z) = 0; | ~~~~~~~~~~~~ 402 | r = s_IEEE754_Exp(-z*z-0.5625)*s_IEEE754_Exp((z-x)*(z+x)+R/S); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 403 | if(hx>=0) return one-r/x; else return r/x-one; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 404 | #endif | ~~~~~~ 405 | } | ~ 406 | | 407 | double NCBI_ErfC(double x) | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 408 | { | ~ 409 | #ifdef HAVE_ERF | ~~~~~~~~~~~~~~~ 410 | return erfc(x); | ~~~~~~~~~~~~~~~ 411 | #else | ~~~~~ 412 | int hx,ix; | ~~~~~~~~~~ 413 | double R,S,P,Q,s,y,z,r; | ~~~~~~~~~~~~~~~~~~~~~~~ 414 | hx = __HI(x); | ~~~~~~~~~~~~~ 415 | ix = hx&0x7fffffff; | ~~~~~~~~~~~~~~~~~~~ 416 | if(ix>=0x7ff00000) { /* erfc(nan)=nan */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 417 | /* erfc(+-inf)=0,2 */ | ~~~~~~~~~~~~~~~~~~~~~ 418 | return (double)(((unsigned)hx>>31)<<1)+one/x; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 419 | } | ~ 420 | | 421 | if(ix < 0x3feb0000) { /* |x|<0.84375 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 422 | if(ix < 0x3c700000) /* |x|<2**-56 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 423 | return one-x; | ~~~~~~~~~~~~~ 424 | z = x*x; | ~~~~~~~~ 425 | r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 426 | s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5)))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 427 | y = r/s; | ~~~~~~~~ 428 | if(hx < 0x3fd00000) { /* x<1/4 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 429 | return one-(x+x*y); | ~~~~~~~~~~~~~~~~~~~ 430 | } else { | ~~~~~~~~ 431 | r = x*y; | ~~~~~~~~ 432 | r += (x-half); | ~~~~~~~~~~~~~~ 433 | return half - r ; | ~~~~~~~~~~~~~~~~~ 434 | } | ~ 435 | } | ~ 436 | if(ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 437 | s = fabs(x)-one; | ~~~~~~~~~~~~~~~~ 438 | P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 439 | Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 440 | if(hx>=0) { | ~~~~~~~~~~~ 441 | z = one-erx; return z - P/Q; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 442 | } else { | ~~~~~~~~ 443 | z = erx+P/Q; return one+z; | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 444 | } | ~ 445 | } | ~ 446 | if (ix < 0x403c0000) { /* |x|<28 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 447 | x = fabs(x); | ~~~~~~~~~~~~ 448 | s = one/(x*x); | ~~~~~~~~~~~~~~ 449 | if(ix< 0x4006DB6D) { /* |x| < 1/.35 ~ 2.857143*/ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 450 | R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 451 | ra5+s*(ra6+s*ra7)))))); | ~~~~~~~~~~~~~~~~~~~~~~~ 452 | S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 453 | sa5+s*(sa6+s*(sa7+s*sa8))))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 454 | } else { /* |x| >= 1/.35 ~ 2.857143 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 455 | if(hx<0&&ix>=0x40180000) return two-tiny;/* x < -6 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 456 | R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 457 | rb5+s*rb6))))); | ~~~~~~~~~~~~~~~ 458 | S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 459 | sb5+s*(sb6+s*sb7)))))); | ~~~~~~~~~~~~~~~~~~~~~~~ 460 | } | ~ 461 | z = x; | ~~~~~~~ 462 | __LO(z) = 0; | ~~~~~~ ncbi_blast/setup/ncbi_erf.c:462:6: note: in expansion of macro ‘__LO’ 462 | __LO(z) = 0; | ^~~~ cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_query_info.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_query_info.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_sequence_blk.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_sequence_blk.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/gapinfo.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/gapinfo.c ar rv ../Linux-amd64/bin/libhbn.a ../Linux-amd64/obj/libhbn.a/corelib/build_db.o ../Linux-amd64/obj/libhbn.a/corelib/cmd_arg.o ../Linux-amd64/obj/libhbn.a/corelib/cstr_util.o ../Linux-amd64/obj/libhbn.a/corelib/db_format.o ../Linux-amd64/obj/libhbn.a/corelib/fasta.o ../Linux-amd64/obj/libhbn.a/corelib/gapped_candidate.o ../Linux-amd64/obj/libhbn.a/corelib/hbn_aux.o ../Linux-amd64/obj/libhbn.a/corelib/hbn_format.o ../Linux-amd64/obj/libhbn.a/corelib/hbn_hit.o ../Linux-amd64/obj/libhbn.a/corelib/hbn_package_version.o ../Linux-amd64/obj/libhbn.a/corelib/kstring.o ../Linux-amd64/obj/libhbn.a/corelib/line_reader.o ../Linux-amd64/obj/libhbn.a/corelib/m4_record.o ../Linux-amd64/obj/libhbn.a/corelib/name2id_map.o ../Linux-amd64/obj/libhbn.a/corelib/partition_aux.o ../Linux-amd64/obj/libhbn.a/corelib/raw_reads.o ../Linux-amd64/obj/libhbn.a/corelib/seqdb_summary.o ../Linux-amd64/obj/libhbn.a/corelib/seqdb.o ../Linux-amd64/obj/libhbn.a/corelib/seq_tag.o ../Linux-amd64/obj/libhbn.a/corelib/seq_tag_report.o ../Linux-amd64/obj/libhbn.a/corelib/small_object_alloc.o ../Linux-amd64/obj/libhbn.a/corelib/string2hsp.o ../Linux-amd64/obj/libhbn.a/algo/chain_dp.o ../Linux-amd64/obj/libhbn.a/algo/diff_gapalign.o ../Linux-amd64/obj/libhbn.a/algo/hash_list_bucket_sort.o ../Linux-amd64/obj/libhbn.a/algo/kalloc.o ../Linux-amd64/obj/libhbn.a/algo/ksw2_extd2_sse.o ../Linux-amd64/obj/libhbn.a/algo/ksw2_extz2_sse.o ../Linux-amd64/obj/libhbn.a/algo/ksw2_wrapper.o ../Linux-amd64/obj/libhbn.a/algo/hbn_lookup_table.o ../Linux-amd64/obj/libhbn.a/algo/hbn_traceback_aux.o ../Linux-amd64/obj/libhbn.a/algo/word_finder.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/c_ncbi_blast_aux.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/ncbi_blast_aux.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/blast_args.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/cmdline_flags.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/format_flags.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_allow.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_desc.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_types.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr_util.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_cmp.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/numeric_str_interconv.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_util.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_encoding.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_hits.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_message.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_options.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_stat.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_parameters.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_program.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_types.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/boost_erf.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/hsp2string.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/ncbi_math.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_query_info.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_sequence_blk.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/gapinfo.o ar: creating ../Linux-amd64/bin/libhbn.a a - ../Linux-amd64/obj/libhbn.a/corelib/build_db.o a - ../Linux-amd64/obj/libhbn.a/corelib/cmd_arg.o a - ../Linux-amd64/obj/libhbn.a/corelib/cstr_util.o a - ../Linux-amd64/obj/libhbn.a/corelib/db_format.o a - ../Linux-amd64/obj/libhbn.a/corelib/fasta.o a - ../Linux-amd64/obj/libhbn.a/corelib/gapped_candidate.o a - ../Linux-amd64/obj/libhbn.a/corelib/hbn_aux.o a - ../Linux-amd64/obj/libhbn.a/corelib/hbn_format.o a - ../Linux-amd64/obj/libhbn.a/corelib/hbn_hit.o a - ../Linux-amd64/obj/libhbn.a/corelib/hbn_package_version.o a - ../Linux-amd64/obj/libhbn.a/corelib/kstring.o a - ../Linux-amd64/obj/libhbn.a/corelib/line_reader.o a - ../Linux-amd64/obj/libhbn.a/corelib/m4_record.o a - ../Linux-amd64/obj/libhbn.a/corelib/name2id_map.o a - ../Linux-amd64/obj/libhbn.a/corelib/partition_aux.o a - ../Linux-amd64/obj/libhbn.a/corelib/raw_reads.o a - ../Linux-amd64/obj/libhbn.a/corelib/seqdb_summary.o a - ../Linux-amd64/obj/libhbn.a/corelib/seqdb.o a - ../Linux-amd64/obj/libhbn.a/corelib/seq_tag.o a - ../Linux-amd64/obj/libhbn.a/corelib/seq_tag_report.o a - ../Linux-amd64/obj/libhbn.a/corelib/small_object_alloc.o a - ../Linux-amd64/obj/libhbn.a/corelib/string2hsp.o a - ../Linux-amd64/obj/libhbn.a/algo/chain_dp.o a - ../Linux-amd64/obj/libhbn.a/algo/diff_gapalign.o a - ../Linux-amd64/obj/libhbn.a/algo/hash_list_bucket_sort.o a - ../Linux-amd64/obj/libhbn.a/algo/kalloc.o a - ../Linux-amd64/obj/libhbn.a/algo/ksw2_extd2_sse.o a - ../Linux-amd64/obj/libhbn.a/algo/ksw2_extz2_sse.o a - ../Linux-amd64/obj/libhbn.a/algo/ksw2_wrapper.o a - ../Linux-amd64/obj/libhbn.a/algo/hbn_lookup_table.o a - ../Linux-amd64/obj/libhbn.a/algo/hbn_traceback_aux.o a - ../Linux-amd64/obj/libhbn.a/algo/word_finder.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/c_ncbi_blast_aux.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/ncbi_blast_aux.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/blast_args.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/cmdline_flags.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/format_flags.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_allow.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_desc.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_types.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr_util.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_cmp.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/numeric_str_interconv.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_util.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_encoding.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_hits.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_message.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_options.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_stat.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_parameters.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_program.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_types.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/boost_erf.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/hsp2string.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/ncbi_math.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_query_info.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_sequence_blk.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/gapinfo.o cc -o ../Linux-amd64/obj/mecat2pcan/app/mecat2pcan/pcan.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2pcan app/mecat2pcan/pcan.c cc -o ../Linux-amd64/bin/mecat2pcan -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2pcan/app/mecat2pcan/pcan.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/mecat2map/app/map/cmdline_args.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -Iapp/map app/map/cmdline_args.cpp app/map/cmdline_args.cpp:74:20: warning: ‘ncbi::kGroupExtension’ defined but not used [-Wunused-variable] 74 | static const char* kGroupExtension = "Extension options"; | ^~~~~~~~~~~~~~~ cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_align_one_volume.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_align_one_volume.c cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_build_seqdb.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_build_seqdb.c cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_extend_subseq_hit.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_extend_subseq_hit.c cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_find_subseq_hit.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_find_subseq_hit.c cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_job_control.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_job_control.c cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_options.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_options.c cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_subseq_hit.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_subseq_hit.c cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_task_struct.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_task_struct.c cc -o ../Linux-amd64/obj/mecat2map/app/map/main.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/main.c cc -o ../Linux-amd64/obj/mecat2map/app/map/mecat_results.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/mecat_results.c g++ -o ../Linux-amd64/bin/mecat2map -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2map/app/map/cmdline_args.o ../Linux-amd64/obj/mecat2map/app/map/hbn_align_one_volume.o ../Linux-amd64/obj/mecat2map/app/map/hbn_build_seqdb.o ../Linux-amd64/obj/mecat2map/app/map/hbn_extend_subseq_hit.o ../Linux-amd64/obj/mecat2map/app/map/hbn_find_subseq_hit.o ../Linux-amd64/obj/mecat2map/app/map/hbn_job_control.o ../Linux-amd64/obj/mecat2map/app/map/hbn_options.o ../Linux-amd64/obj/mecat2map/app/map/hbn_subseq_hit.o ../Linux-amd64/obj/mecat2map/app/map/hbn_task_struct.o ../Linux-amd64/obj/mecat2map/app/map/main.o ../Linux-amd64/obj/mecat2map/app/map/mecat_results.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cmdline_args.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/cmdline_args.cpp cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/cns_aux.c cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_one_part.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/cns_one_part.c g++ -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_one_read.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/cns_one_read.cpp app/mecat2cns/cns_one_read.cpp: In function ‘BOOL meap_consensus_one_segment(FCCnsData*, int*, int*, int, int, kstring_t*)’: app/mecat2cns/cns_one_read.cpp:34:27: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 34 | if (ks_size(*cns_seq) < min_size) return FALSE; In file included from app/mecat2cns/cns_one_read.h:4, from app/mecat2cns/cns_one_read.cpp:1: app/mecat2cns/cns_one_read.cpp: In function ‘void consensus_one_read(CnsThreadData*, int)’: app/mecat2cns/cns_one_read.cpp:242:32: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 242 | hbn_assert(read_length == kv_size(*fwd_read_v)); app/mecat2cns/../../corelib/hbn_aux.h:115:15: note: in definition of macro ‘__hbn_assert’ 115 | if (!(expr)) { \ | ^~~~ app/mecat2cns/cns_one_read.cpp:242:9: note: in expansion of macro ‘hbn_assert’ 242 | hbn_assert(read_length == kv_size(*fwd_read_v)); | ^~~~~~~~~~ cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_options.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/cns_options.c cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns_align_tag.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/fccns_align_tag.c cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/fccns_aux.c app/mecat2cns/fccns_aux.c: In function ‘consensus_backbone_segment’: app/mecat2cns/fccns_aux.c:137:9: warning: variable ‘g_best_ck’ set but not used [-Wunused-but-set-variable] 137 | int g_best_ck = 0; | ^~~~~~~~~ cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/fccns.c cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/hbn_task_struct.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/hbn_task_struct.c cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/main.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/main.c cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/raw_reads_reader.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/raw_reads_reader.c g++ -o ../Linux-amd64/bin/mecat2cns -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cmdline_args.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_aux.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_one_part.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_one_read.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_options.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns_align_tag.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns_aux.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/hbn_task_struct.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/main.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/raw_reads_reader.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp cc -o ../Linux-amd64/obj/mecat2viewdb/app/hbndb/viewhbndb.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/hbndb app/hbndb/viewhbndb.c cc -o ../Linux-amd64/bin/mecat2viewdb -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2viewdb/app/hbndb/viewhbndb.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/cmdline_args.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -Iapp/mecat2trim/1_largest_cover_range app/mecat2trim/1_largest_cover_range/cmdline_args.cpp cc -o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/largest_cover_range.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/1_largest_cover_range app/mecat2trim/1_largest_cover_range/largest_cover_range.c cc -o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/main.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/1_largest_cover_range app/mecat2trim/1_largest_cover_range/main.c cc -o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/common/range_list.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/1_largest_cover_range app/mecat2trim/common/range_list.c cc -o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/common/m4_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/1_largest_cover_range app/mecat2trim/common/m4_aux.c g++ -o ../Linux-amd64/bin/mecat2lcr -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/cmdline_args.o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/largest_cover_range.o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/main.o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/common/range_list.o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/common/m4_aux.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/cmdline_args.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -Iapp/mecat2trim/2_split_reads app/mecat2trim/2_split_reads/cmdline_args.cpp cc -o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/main.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/2_split_reads app/mecat2trim/2_split_reads/main.c cc -o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/split_reads.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/2_split_reads app/mecat2trim/2_split_reads/split_reads.c cc -o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/common/range_list.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/2_split_reads app/mecat2trim/common/range_list.c cc -o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/common/m4_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/2_split_reads app/mecat2trim/common/m4_aux.c g++ -o ../Linux-amd64/bin/mecat2splitreads -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/cmdline_args.o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/main.o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/split_reads.o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/common/range_list.o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/common/m4_aux.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp cc -o ../Linux-amd64/obj/mecat2trimbases/app/mecat2trim/3_trim_bases/main.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/3_trim_bases app/mecat2trim/3_trim_bases/main.c cc -o ../Linux-amd64/bin/mecat2trimbases -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2trimbases/app/mecat2trim/3_trim_bases/main.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp cc -o ../Linux-amd64/obj/mecat2pm4/app/mecat2pm4/main.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2pm4 app/mecat2pm4/main.c cc -o ../Linux-amd64/bin/mecat2pm4 -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2pm4/app/mecat2pm4/main.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp cc -o ../Linux-amd64/obj/mecat2extseqs/app/mecat2extseqs/main.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2extseqs -Iapp/mecat2extseqs/libboost app/mecat2extseqs/main.c cc -o ../Linux-amd64/bin/mecat2extseqs -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2extseqs/app/mecat2extseqs/main.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/argument_parser.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/argument_parser.cpp cc -o ../Linux-amd64/obj/libfsa.a/app/fsa/getopt.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/fsa app/fsa/getopt.c g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/logger.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/logger.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/overlap.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/read_store.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/read_store.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/sequence.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/sequence.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/utility.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/utility.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/fasta_reader.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/fasta_reader.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/fastq_reader.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/fastq_reader.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_store.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/overlap_store.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/simple_align.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/simple_align.cpp app/fsa/simple_align.cpp: In member function ‘SimpleAlign::Result SimpleAlign::Align(const string&, const string&, int, bool)’: app/fsa/simple_align.cpp:153:37: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | if ( node.x + node.len >= query.size() || node.y + node.len >= target_.size()) { | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ app/fsa/simple_align.cpp:153:75: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | if ( node.x + node.len >= query.size() || node.y + node.len >= target_.size()) { | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_filter.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/overlap_filter.cpp app/fsa/overlap_filter.cpp: In member function ‘void OverlapFilter::FilterLocalStep(Seq::Id, const std::unordered_map&)’: app/fsa/overlap_filter.cpp:413:18: warning: unused variable ‘loc’ [-Wunused-variable] 413 | auto loc = o.Location(max_overhang_); | ^~~ app/fsa/overlap_filter.cpp:447:22: warning: unused variable ‘loc’ [-Wunused-variable] 447 | auto loc = o.Location(max_overhang_); | ^~~ g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_stat.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/overlap_stat.cpp ar rv ../Linux-amd64/bin/libfsa.a ../Linux-amd64/obj/libfsa.a/app/fsa/argument_parser.o ../Linux-amd64/obj/libfsa.a/app/fsa/getopt.o ../Linux-amd64/obj/libfsa.a/app/fsa/logger.o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap.o ../Linux-amd64/obj/libfsa.a/app/fsa/read_store.o ../Linux-amd64/obj/libfsa.a/app/fsa/sequence.o ../Linux-amd64/obj/libfsa.a/app/fsa/utility.o ../Linux-amd64/obj/libfsa.a/app/fsa/fasta_reader.o ../Linux-amd64/obj/libfsa.a/app/fsa/fastq_reader.o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_store.o ../Linux-amd64/obj/libfsa.a/app/fsa/simple_align.o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_filter.o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_stat.o ar: creating ../Linux-amd64/bin/libfsa.a a - ../Linux-amd64/obj/libfsa.a/app/fsa/argument_parser.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/getopt.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/logger.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/overlap.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/read_store.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/sequence.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/utility.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/fasta_reader.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/fastq_reader.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_store.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/simple_align.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_filter.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_stat.o g++ -o ../Linux-amd64/obj/fsa_ol_filter/app/fsa/fsa_ol_filter.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/fsa_ol_filter.cpp g++ -o ../Linux-amd64/bin/fsa_ol_filter -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/fsa_ol_filter/app/fsa/fsa_ol_filter.o -lfsa -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/fsa_assemble/app/fsa/fsa_assemble.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/fsa_assemble.cpp g++ -o ../Linux-amd64/obj/fsa_assemble/app/fsa/assembly.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/assembly.cpp g++ -o ../Linux-amd64/obj/fsa_assemble/app/fsa/graph.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/graph.cpp g++ -o ../Linux-amd64/obj/fsa_assemble/app/fsa/string_graph.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/string_graph.cpp app/fsa/string_graph.cpp: In member function ‘std::vector StringNode::GetAllOutNodes()’: app/fsa/string_graph.cpp:39:21: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move] 39 | return std::move(nodes); | ~~~~~~~~~^~~~~~~ app/fsa/string_graph.cpp:39:21: note: remove ‘std::move’ call app/fsa/string_graph.cpp: In member function ‘std::vector StringNode::GetAllInNodes()’: app/fsa/string_graph.cpp:49:21: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move] 49 | return std::move(nodes); | ~~~~~~~~~^~~~~~~ app/fsa/string_graph.cpp:49:21: note: remove ‘std::move’ call g++ -o ../Linux-amd64/obj/fsa_assemble/app/fsa/path_graph.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/path_graph.cpp g++ -o ../Linux-amd64/bin/fsa_assemble -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/fsa_assemble/app/fsa/fsa_assemble.o ../Linux-amd64/obj/fsa_assemble/app/fsa/assembly.o ../Linux-amd64/obj/fsa_assemble/app/fsa/graph.o ../Linux-amd64/obj/fsa_assemble/app/fsa/string_graph.o ../Linux-amd64/obj/fsa_assemble/app/fsa/path_graph.o -lfsa -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/fsa_ctg_bridge.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/fsa_ctg_bridge.cpp g++ -o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_bridge.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/contig_bridge.cpp g++ -o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_graph.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/contig_graph.cpp g++ -o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_link.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/contig_link.cpp g++ -o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_link_store.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/contig_link_store.cpp g++ -o ../Linux-amd64/bin/fsa_ctg_bridge -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/fsa_ctg_bridge.o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_bridge.o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_graph.o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_link.o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_link_store.o -lfsa -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/fsa_rd_stat/app/fsa/fsa_rd_stat.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/fsa_rd_stat.cpp g++ -o ../Linux-amd64/obj/fsa_rd_stat/app/fsa/read_stat.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/read_stat.cpp g++ -o ../Linux-amd64/bin/fsa_rd_stat -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/fsa_rd_stat/app/fsa/fsa_rd_stat.o ../Linux-amd64/obj/fsa_rd_stat/app/fsa/read_stat.o -lfsa -pthread -lm -lz -lstdc++ -fopenmp make[2]: Leaving directory '/build/mecat2-0.0+git20200428.f54c542+ds/src' make[1]: Leaving directory '/build/mecat2-0.0+git20200428.f54c542+ds' dh_auto_test create-stamp debian/debhelper-build-stamp dh_prep dh_auto_install debian/rules override_dh_install make[1]: Entering directory '/build/mecat2-0.0+git20200428.f54c542+ds' dh_install sed 's/\#\!\/usr\/bin\/env perl/\#\!\/usr\/bin\/perl/' \ debian/mecat2/usr/bin/mecat.pl > debian/mecat2/usr/bin/mecat rm -f debian/mecat2/usr/bin/mecat.pl make[1]: Leaving directory '/build/mecat2-0.0+git20200428.f54c542+ds' dh_installdocs dh_installchangelogs dh_installman dh_lintian dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_dwz -a dwz: debian/mecat2/usr/bin/fsa_assemble: .debug_info section not present dwz: debian/mecat2/usr/bin/fsa_ctg_bridge: .debug_info section not present dwz: debian/mecat2/usr/bin/fsa_ol_filter: .debug_info section not present dwz: debian/mecat2/usr/bin/fsa_rd_stat: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2cns: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2extseqs: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2lcr: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2map: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2pcan: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2pm4: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2splitreads: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2trimbases: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2viewdb: .debug_info section not present dwz: Too few files for multifile optimization dh_dwz: warning: No dwz multifile created, but not explicitly requested either so ignoring it. dh_dwz: warning: Common issues include no debug information at all (missing -g) and dh_dwz: warning: compressed debug information (#931891). dh_strip -a dh_makeshlibs -a dh_shlibdeps -a dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'mecat2' in '../mecat2_0.0+git20200428.f54c542+ds-3_amd64.deb'. dpkg-deb: building package 'mecat2-dbgsym' in '../mecat2-dbgsym_0.0+git20200428.f54c542+ds-3_amd64.deb'. dpkg-genbuildinfo --build=binary dpkg-genchanges --build=binary >../mecat2_0.0+git20200428.f54c542+ds-3_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/1997507 and its subdirectories I: Current time: Thu Aug 29 19:22:50 -12 2024 I: pbuilder-time-stamp: 1725002570