Diff of the two buildlogs:

--
--- b1/build.log	2021-07-19 05:58:31.214789407 +0000
+++ b2/build.log	2021-07-19 06:03:28.171713831 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Sun Jul 18 17:54:03 -12 2021
-I: pbuilder-time-stamp: 1626674043
+I: Current time: Mon Aug 22 02:21:35 +14 2022
+I: pbuilder-time-stamp: 1661084495
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/bullseye-reproducible-base.tgz]
 I: copying local configuration
@@ -16,8 +16,8 @@
 I: copying [./genius_1.0.25-2.debian.tar.xz]
 I: Extracting source
 gpgv: unknown type of key resource 'trustedkeys.kbx'
-gpgv: keyblock resource '/tmp/dpkg-verify-sig.p83_2mY3/trustedkeys.kbx': General error
-gpgv: Signature made Sat Mar 21 02:48:56 2020 -12
+gpgv: keyblock resource '/tmp/dpkg-verify-sig.gNwwnEsl/trustedkeys.kbx': General error
+gpgv: Signature made Sun Mar 22 04:48:56 2020 +14
 gpgv:                using RSA key 218EE0362033C87B6C135FA4A3BABAE2408DD6CF
 gpgv:                issuer "fsateler@debian.org"
 gpgv: Can't check signature: No public key
@@ -29,135 +29,169 @@
 dpkg-source: info: applying Clean-up-vte-configure.ac-handling.patch
 I: using fakeroot in build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/6334/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/28485/tmp/hooks/D01_modify_environment starting
+debug: Running on codethink13-arm64.
+I: Changing host+domainname to test build reproducibility
+I: Adding a custom variable just for the fun of it...
+I: Changing /bin/sh to bash
+Removing 'diversion of /bin/sh to /bin/sh.distrib by dash'
+Adding 'diversion of /bin/sh to /bin/sh.distrib by bash'
+Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash'
+Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash'
+I: Setting pbuilder2's login shell to /bin/bash
+I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
+I: user script /srv/workspace/pbuilder/28485/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/28485/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='arm64'
-  DEBIAN_FRONTEND='noninteractive'
+  BASH=/bin/sh
+  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
+  BASH_ALIASES=()
+  BASH_ARGC=()
+  BASH_ARGV=()
+  BASH_CMDS=()
+  BASH_LINENO=([0]="12" [1]="0")
+  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
+  BASH_VERSINFO=([0]="5" [1]="1" [2]="4" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu")
+  BASH_VERSION='5.1.4(1)-release'
+  BUILDDIR=/build
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=arm64
+  DEBIAN_FRONTEND=noninteractive
   DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=8'
-  DISTRIBUTION=''
-  HOME='/var/lib/jenkins'
-  HOST_ARCH='arm64'
+  DIRSTACK=()
+  DISTRIBUTION=
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/var/lib/jenkins
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=aarch64
+  HOST_ARCH=arm64
   IFS=' 	
   '
-  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='6334'
-  PS1='# '
-  PS2='> '
+  LANG=C
+  LANGUAGE=nl_BE:nl
+  LC_ALL=C
+  MACHTYPE=aarch64-unknown-linux-gnu
+  MAIL=/var/mail/root
+  OPTERR=1
+  OPTIND=1
+  OSTYPE=linux-gnu
+  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
+  PBCURRENTCOMMANDLINEOPERATION=build
+  PBUILDER_OPERATION=build
+  PBUILDER_PKGDATADIR=/usr/share/pbuilder
+  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
+  PBUILDER_SYSCONFDIR=/etc
+  PIPESTATUS=([0]="0")
+  POSIXLY_CORRECT=y
+  PPID=28485
   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/tmp.Wnp3GZREGz/pbuilderrc_brg4 --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.Wnp3GZREGz/b1 --logfile b1/build.log genius_1.0.25-2.dsc'
-  SUDO_GID='117'
-  SUDO_UID='110'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  USERNAME='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://192.168.101.16:3128'
+  PWD=/
+  SHELL=/bin/bash
+  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
+  SHLVL=3
+  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/tmp.Wnp3GZREGz/pbuilderrc_InnD --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.Wnp3GZREGz/b2 --logfile b2/build.log --extrapackages usrmerge genius_1.0.25-2.dsc'
+  SUDO_GID=117
+  SUDO_UID=110
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  USERNAME=root
+  _='I: set'
+  http_proxy=http://192.168.101.16:3128
 I: uname -a
-  Linux codethink16-arm64 4.15.0-147-generic #151-Ubuntu SMP Fri Jun 18 19:18:37 UTC 2021 aarch64 GNU/Linux
+  Linux i-capture-the-hostname 4.15.0-147-generic #151-Ubuntu SMP Fri Jun 18 19:18:37 UTC 2021 aarch64 GNU/Linux
 I: ls -l /bin
   total 5252
-  -rwxr-xr-x 1 root root 1282512 Jun 21 14:26 bash
-  -rwxr-xr-x 3 root root   34808 Jul 20  2020 bunzip2
-  -rwxr-xr-x 3 root root   34808 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   34808 Jul 20  2020 bzip2
-  -rwxr-xr-x 1 root root   14264 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   39832 Sep 22  2020 cat
-  -rwxr-xr-x 1 root root   64512 Sep 22  2020 chgrp
-  -rwxr-xr-x 1 root root   60368 Sep 22  2020 chmod
-  -rwxr-xr-x 1 root root   64528 Sep 22  2020 chown
-  -rwxr-xr-x 1 root root  138896 Sep 22  2020 cp
-  -rwxr-xr-x 1 root root  129544 Dec 10  2020 dash
-  -rwxr-xr-x 1 root root  101384 Sep 22  2020 date
-  -rwxr-xr-x 1 root root   80984 Sep 22  2020 dd
-  -rwxr-xr-x 1 root root   89824 Sep 22  2020 df
-  -rwxr-xr-x 1 root root  143088 Sep 22  2020 dir
-  -rwxr-xr-x 1 root root   76152 Feb  7 02:38 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   35632 Sep 22  2020 echo
-  -rwxr-xr-x 1 root root      28 Nov  9  2020 egrep
-  -rwxr-xr-x 1 root root   31512 Sep 22  2020 false
-  -rwxr-xr-x 1 root root      28 Nov  9  2020 fgrep
-  -rwxr-xr-x 1 root root   64856 Feb  7 02:38 findmnt
-  -rwsr-xr-x 1 root root   34824 Feb 26 04:12 fusermount
-  -rwxr-xr-x 1 root root  178400 Nov  9  2020 grep
-  -rwxr-xr-x 2 root root    2346 Mar  2 11:30 gunzip
-  -rwxr-xr-x 1 root root    6376 Mar  2 11:30 gzexe
-  -rwxr-xr-x 1 root root   93744 Mar  2 11:30 gzip
-  -rwxr-xr-x 1 root root   18440 Nov  6  2019 hostname
-  -rwxr-xr-x 1 root root   68720 Sep 22  2020 ln
-  -rwxr-xr-x 1 root root   52720 Feb  7  2020 login
-  -rwxr-xr-x 1 root root  143088 Sep 22  2020 ls
-  -rwxr-xr-x 1 root root  161960 Feb  7 02:38 lsblk
-  -rwxr-xr-x 1 root root   85200 Sep 22  2020 mkdir
-  -rwxr-xr-x 1 root root   68744 Sep 22  2020 mknod
-  -rwxr-xr-x 1 root root   43976 Sep 22  2020 mktemp
-  -rwxr-xr-x 1 root root   51368 Feb  7 02:38 more
-  -rwsr-xr-x 1 root root   51360 Feb  7 02:38 mount
-  -rwxr-xr-x 1 root root   14496 Feb  7 02:38 mountpoint
-  -rwxr-xr-x 1 root root  134808 Sep 22  2020 mv
-  lrwxrwxrwx 1 root root       8 Nov  6  2019 nisdomainname -> hostname
-  lrwxrwxrwx 1 root root      14 Apr 18 03:38 pidof -> /sbin/killall5
-  -rwxr-xr-x 1 root root   35720 Sep 22  2020 pwd
-  lrwxrwxrwx 1 root root       4 Jun 21 14:26 rbash -> bash
-  -rwxr-xr-x 1 root root   43872 Sep 22  2020 readlink
-  -rwxr-xr-x 1 root root   68592 Sep 22  2020 rm
-  -rwxr-xr-x 1 root root   43880 Sep 22  2020 rmdir
-  -rwxr-xr-x 1 root root   19208 Sep 27  2020 run-parts
-  -rwxr-xr-x 1 root root  114016 Dec 22  2018 sed
-  lrwxrwxrwx 1 root root       4 Jul 17 21:24 sh -> dash
-  -rwxr-xr-x 1 root root   35656 Sep 22  2020 sleep
-  -rwxr-xr-x 1 root root   72640 Sep 22  2020 stty
-  -rwsr-xr-x 1 root root   67776 Feb  7 02:38 su
-  -rwxr-xr-x 1 root root   35672 Sep 22  2020 sync
-  -rwxr-xr-x 1 root root  535768 Feb 16 21:55 tar
-  -rwxr-xr-x 1 root root   10568 Sep 27  2020 tempfile
-  -rwxr-xr-x 1 root root   89120 Sep 22  2020 touch
-  -rwxr-xr-x 1 root root   31512 Sep 22  2020 true
-  -rwxr-xr-x 1 root root   14264 Feb 26 04:12 ulockmgr_server
-  -rwsr-xr-x 1 root root   30880 Feb  7 02:38 umount
-  -rwxr-xr-x 1 root root   35640 Sep 22  2020 uname
-  -rwxr-xr-x 2 root root    2346 Mar  2 11:30 uncompress
-  -rwxr-xr-x 1 root root  143088 Sep 22  2020 vdir
-  -rwxr-xr-x 1 root root   59584 Feb  7 02:38 wdctl
-  lrwxrwxrwx 1 root root       8 Nov  6  2019 ypdomainname -> hostname
-  -rwxr-xr-x 1 root root    1984 Mar  2 11:30 zcat
-  -rwxr-xr-x 1 root root    1678 Mar  2 11:30 zcmp
-  -rwxr-xr-x 1 root root    5880 Mar  2 11:30 zdiff
-  -rwxr-xr-x 1 root root      29 Mar  2 11:30 zegrep
-  -rwxr-xr-x 1 root root      29 Mar  2 11:30 zfgrep
-  -rwxr-xr-x 1 root root    2081 Mar  2 11:30 zforce
-  -rwxr-xr-x 1 root root    7585 Mar  2 11:30 zgrep
-  -rwxr-xr-x 1 root root    2206 Mar  2 11:30 zless
-  -rwxr-xr-x 1 root root    1842 Mar  2 11:30 zmore
-  -rwxr-xr-x 1 root root    4553 Mar  2 11:30 znew
-I: user script /srv/workspace/pbuilder/6334/tmp/hooks/D02_print_environment finished
+  -rwxr-xr-x 1 root root 1282512 Jun 22  2021 bash
+  -rwxr-xr-x 3 root root   34808 Jul 21  2020 bunzip2
+  -rwxr-xr-x 3 root root   34808 Jul 21  2020 bzcat
+  lrwxrwxrwx 1 root root       6 Jul 21  2020 bzcmp -> bzdiff
+  -rwxr-xr-x 1 root root    2225 Jul 21  2020 bzdiff
+  lrwxrwxrwx 1 root root       6 Jul 21  2020 bzegrep -> bzgrep
+  -rwxr-xr-x 1 root root    4877 Sep  5  2019 bzexe
+  lrwxrwxrwx 1 root root       6 Jul 21  2020 bzfgrep -> bzgrep
+  -rwxr-xr-x 1 root root    3775 Jul 21  2020 bzgrep
+  -rwxr-xr-x 3 root root   34808 Jul 21  2020 bzip2
+  -rwxr-xr-x 1 root root   14264 Jul 21  2020 bzip2recover
+  lrwxrwxrwx 1 root root       6 Jul 21  2020 bzless -> bzmore
+  -rwxr-xr-x 1 root root    1297 Jul 21  2020 bzmore
+  -rwxr-xr-x 1 root root   39832 Sep 23  2020 cat
+  -rwxr-xr-x 1 root root   64512 Sep 23  2020 chgrp
+  -rwxr-xr-x 1 root root   60368 Sep 23  2020 chmod
+  -rwxr-xr-x 1 root root   64528 Sep 23  2020 chown
+  -rwxr-xr-x 1 root root  138896 Sep 23  2020 cp
+  -rwxr-xr-x 1 root root  129544 Dec 11  2020 dash
+  -rwxr-xr-x 1 root root  101384 Sep 23  2020 date
+  -rwxr-xr-x 1 root root   80984 Sep 23  2020 dd
+  -rwxr-xr-x 1 root root   89824 Sep 23  2020 df
+  -rwxr-xr-x 1 root root  143088 Sep 23  2020 dir
+  -rwxr-xr-x 1 root root   76152 Feb  8  2021 dmesg
+  lrwxrwxrwx 1 root root       8 Nov  8  2019 dnsdomainname -> hostname
+  lrwxrwxrwx 1 root root       8 Nov  8  2019 domainname -> hostname
+  -rwxr-xr-x 1 root root   35632 Sep 23  2020 echo
+  -rwxr-xr-x 1 root root      28 Nov 10  2020 egrep
+  -rwxr-xr-x 1 root root   31512 Sep 23  2020 false
+  -rwxr-xr-x 1 root root      28 Nov 10  2020 fgrep
+  -rwxr-xr-x 1 root root   64856 Feb  8  2021 findmnt
+  -rwsr-xr-x 1 root root   34824 Feb 27  2021 fusermount
+  -rwxr-xr-x 1 root root  178400 Nov 10  2020 grep
+  -rwxr-xr-x 2 root root    2346 Mar  3  2021 gunzip
+  -rwxr-xr-x 1 root root    6376 Mar  3  2021 gzexe
+  -rwxr-xr-x 1 root root   93744 Mar  3  2021 gzip
+  -rwxr-xr-x 1 root root   18440 Nov  8  2019 hostname
+  -rwxr-xr-x 1 root root   68720 Sep 23  2020 ln
+  -rwxr-xr-x 1 root root   52720 Feb  8  2020 login
+  -rwxr-xr-x 1 root root  143088 Sep 23  2020 ls
+  -rwxr-xr-x 1 root root  161960 Feb  8  2021 lsblk
+  -rwxr-xr-x 1 root root   85200 Sep 23  2020 mkdir
+  -rwxr-xr-x 1 root root   68744 Sep 23  2020 mknod
+  -rwxr-xr-x 1 root root   43976 Sep 23  2020 mktemp
+  -rwxr-xr-x 1 root root   51368 Feb  8  2021 more
+  -rwsr-xr-x 1 root root   51360 Feb  8  2021 mount
+  -rwxr-xr-x 1 root root   14496 Feb  8  2021 mountpoint
+  -rwxr-xr-x 1 root root  134808 Sep 23  2020 mv
+  lrwxrwxrwx 1 root root       8 Nov  8  2019 nisdomainname -> hostname
+  lrwxrwxrwx 1 root root      14 Apr 19  2021 pidof -> /sbin/killall5
+  -rwxr-xr-x 1 root root   35720 Sep 23  2020 pwd
+  lrwxrwxrwx 1 root root       4 Jun 22  2021 rbash -> bash
+  -rwxr-xr-x 1 root root   43872 Sep 23  2020 readlink
+  -rwxr-xr-x 1 root root   68592 Sep 23  2020 rm
+  -rwxr-xr-x 1 root root   43880 Sep 23  2020 rmdir
+  -rwxr-xr-x 1 root root   19208 Sep 28  2020 run-parts
+  -rwxr-xr-x 1 root root  114016 Dec 23  2018 sed
+  lrwxrwxrwx 1 root root       4 Aug 22 02:21 sh -> bash
+  lrwxrwxrwx 1 root root       4 Aug 20 05:48 sh.distrib -> dash
+  -rwxr-xr-x 1 root root   35656 Sep 23  2020 sleep
+  -rwxr-xr-x 1 root root   72640 Sep 23  2020 stty
+  -rwsr-xr-x 1 root root   67776 Feb  8  2021 su
+  -rwxr-xr-x 1 root root   35672 Sep 23  2020 sync
+  -rwxr-xr-x 1 root root  535768 Feb 17  2021 tar
+  -rwxr-xr-x 1 root root   10568 Sep 28  2020 tempfile
+  -rwxr-xr-x 1 root root   89120 Sep 23  2020 touch
+  -rwxr-xr-x 1 root root   31512 Sep 23  2020 true
+  -rwxr-xr-x 1 root root   14264 Feb 27  2021 ulockmgr_server
+  -rwsr-xr-x 1 root root   30880 Feb  8  2021 umount
+  -rwxr-xr-x 1 root root   35640 Sep 23  2020 uname
+  -rwxr-xr-x 2 root root    2346 Mar  3  2021 uncompress
+  -rwxr-xr-x 1 root root  143088 Sep 23  2020 vdir
+  -rwxr-xr-x 1 root root   59584 Feb  8  2021 wdctl
+  lrwxrwxrwx 1 root root       8 Nov  8  2019 ypdomainname -> hostname
+  -rwxr-xr-x 1 root root    1984 Mar  3  2021 zcat
+  -rwxr-xr-x 1 root root    1678 Mar  3  2021 zcmp
+  -rwxr-xr-x 1 root root    5880 Mar  3  2021 zdiff
+  -rwxr-xr-x 1 root root      29 Mar  3  2021 zegrep
+  -rwxr-xr-x 1 root root      29 Mar  3  2021 zfgrep
+  -rwxr-xr-x 1 root root    2081 Mar  3  2021 zforce
+  -rwxr-xr-x 1 root root    7585 Mar  3  2021 zgrep
+  -rwxr-xr-x 1 root root    2206 Mar  3  2021 zless
+  -rwxr-xr-x 1 root root    1842 Mar  3  2021 zmore
+  -rwxr-xr-x 1 root root    4553 Mar  3  2021 znew
+I: user script /srv/workspace/pbuilder/28485/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -562,7 +596,7 @@
 Get: 339 http://deb.debian.org/debian bullseye/main arm64 libncurses5-dev arm64 6.2+20201114-2 [936 B]
 Get: 340 http://deb.debian.org/debian bullseye/main arm64 libreadline-dev arm64 8.1-1 [153 kB]
 Get: 341 http://deb.debian.org/debian bullseye/main arm64 libvte-2.91-dev arm64 0.62.3-1 [55.8 kB]
-Fetched 135 MB in 3s (45.2 MB/s)
+Fetched 135 MB in 3s (43.8 MB/s)
 debconf: delaying package configuration, since apt-utils is not installed
 Selecting previously unselected package libapparmor1:arm64.
 (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 ... 19646 files and directories currently installed.)
@@ -1970,9 +2004,42 @@
 Building dependency tree...
 Reading state information...
 fakeroot is already the newest version (1.25.3-1.1).
-0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
+The following additional packages will be installed:
+  libfile-find-rule-perl libnumber-compare-perl libtext-glob-perl
+The following NEW packages will be installed:
+  libfile-find-rule-perl libnumber-compare-perl libtext-glob-perl usrmerge
+0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
+Need to get 59.5 kB of archives.
+After this operation, 157 kB of additional disk space will be used.
+Get:1 http://deb.debian.org/debian bullseye/main arm64 libnumber-compare-perl all 0.03-1.1 [6956 B]
+Get:2 http://deb.debian.org/debian bullseye/main arm64 libtext-glob-perl all 0.11-1 [8888 B]
+Get:3 http://deb.debian.org/debian bullseye/main arm64 libfile-find-rule-perl all 0.34-1 [30.6 kB]
+Get:4 http://deb.debian.org/debian bullseye/main arm64 usrmerge all 25 [13.0 kB]
+debconf: delaying package configuration, since apt-utils is not installed
+Fetched 59.5 kB in 0s (1559 kB/s)
+Selecting previously unselected package libnumber-compare-perl.
+(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 ... 38135 files and directories currently installed.)
+Preparing to unpack .../libnumber-compare-perl_0.03-1.1_all.deb ...
+Unpacking libnumber-compare-perl (0.03-1.1) ...
+Selecting previously unselected package libtext-glob-perl.
+Preparing to unpack .../libtext-glob-perl_0.11-1_all.deb ...
+Unpacking libtext-glob-perl (0.11-1) ...
+Selecting previously unselected package libfile-find-rule-perl.
+Preparing to unpack .../libfile-find-rule-perl_0.34-1_all.deb ...
+Unpacking libfile-find-rule-perl (0.34-1) ...
+Selecting previously unselected package usrmerge.
+Preparing to unpack .../archives/usrmerge_25_all.deb ...
+Unpacking usrmerge (25) ...
+Setting up libtext-glob-perl (0.11-1) ...
+Setting up libnumber-compare-perl (0.03-1.1) ...
+Setting up libfile-find-rule-perl (0.34-1) ...
+Setting up usrmerge (25) ...
+The system has been successfully converted.
+Processing triggers for man-db (2.9.4-2) ...
+Not building database; man-db/auto-update is not 'true'.
 I: Building the package
-I: Running cd /build/genius-1.0.25/ && 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  > ../genius_1.0.25-2_source.changes
+hostname: Temporary failure in name resolution
+I: Running cd /build/genius-1.0.25/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../genius_1.0.25-2_source.changes
 dpkg-buildpackage: info: source package genius
 dpkg-buildpackage: info: source version 1.0.25-2
 dpkg-buildpackage: info: source distribution unstable
@@ -2015,7 +2082,7 @@
 	./configure --build=aarch64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/aarch64-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking --disable-update-mimedb --disable-static --libexecdir=/usr/lib/aarch64-linux-gnu/genius
 checking for a BSD-compatible install... /usr/bin/install -c
 checking whether build environment is sane... yes
-checking for a thread-safe mkdir -p... /bin/mkdir -p
+checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
 checking for gawk... no
 checking for mawk... mawk
 checking whether make sets $(MAKE)... yes
@@ -2050,8 +2117,8 @@
 Turning on extra gcc flags -finline-functions -frename-registers
 checking for library containing strerror... none required
 checking how to run the C preprocessor... gcc -E
-checking for grep that handles long lines and -e... /bin/grep
-checking for egrep... /bin/grep -E
+checking for grep that handles long lines and -e... /usr/bin/grep
+checking for egrep... /usr/bin/grep -E
 checking for ANSI C header files... yes
 checking for flex... flex
 checking lex output file root... lex.yy
@@ -2060,8 +2127,8 @@
 checking build system type... aarch64-unknown-linux-gnu
 checking host system type... aarch64-unknown-linux-gnu
 checking how to print strings... printf
-checking for a sed that does not truncate output... /bin/sed
-checking for fgrep... /bin/grep -F
+checking for a sed that does not truncate output... /usr/bin/sed
+checking for fgrep... /usr/bin/grep -F
 checking for ld used by gcc... /usr/bin/ld
 checking if the linker (/usr/bin/ld) is GNU ld... yes
 checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
@@ -2081,8 +2148,8 @@
 checking for ranlib... ranlib
 checking command to parse /usr/bin/nm -B output from gcc object... ok
 checking for sysroot... no
-checking for a working dd... /bin/dd
-checking how to truncate binary pipes... /bin/dd bs=4096 count=1
+checking for a working dd... /usr/bin/dd
+checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
 checking for mt... no
 checking if : is a manifest tool... no
 checking for sys/types.h... yes
@@ -2279,7 +2346,7 @@
 ar cru libvicious.a ve-misc.o ve-config.o ve-nongnome.o 
 ar: `u' modifier ignored since `D' is the default (see `U')
 ranlib libvicious.a
-/bin/bash ../libtool  --tag=CC   --mode=link gcc  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o test-ve-config test-ve-config.o libvicious.a -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0  -lglib-2.0 -lmpfr 
+/bin/sh ../libtool  --tag=CC   --mode=link gcc  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o test-ve-config test-ve-config.o libvicious.a -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0  -lglib-2.0 -lmpfr 
 rm -f libviciousui.a
 ar cru libviciousui.a ve-misc.o ve-config.o ve-nongnome.o ve-miscui.o 
 ar: `u' modifier ignored since `D' is the default (see `U')
@@ -2300,50 +2367,6 @@
 gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotarray.o gtkplotarray.c
 gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotbar.o gtkplotbar.c
 gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotbox.o gtkplotbox.c
-gtkplot3d.c: In function 'gtk_plot3d_get_type':
-gtkplot3d.c:157:3: warning: cast between incompatible function types from 'void (*)(GtkPlot3DClass *)' {aka 'void (*)(struct _GtkPlot3DClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
-  157 |   (GClassInitFunc) gtk_plot3d_class_init,
-      |   ^
-gtkplot3d.c:159:3: warning: cast between incompatible function types from 'void (*)(GtkPlot3D *)' {aka 'void (*)(struct _GtkPlot3D *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
-  159 |   (GInstanceInitFunc) gtk_plot3d_init,
-      |   ^
-gtkextra.c: In function '_gtkextra_signal_emit':
-gtkextra.c:101:17: warning: comparison of integer expressions of different signedness: 'int' and 'guint' {aka 'unsigned int'} [-Wsign-compare]
-  101 |   for (i = 0; i < query.n_params; i++)
-      |                 ^
-gtkextra.c:133:17: warning: comparison of integer expressions of different signedness: 'int' and 'guint' {aka 'unsigned int'} [-Wsign-compare]
-  133 |   for (i = 0; i < query.n_params; i++)
-      |                 ^
-gtkplot3d.c: In function 'gtk_plot3d_real_paint':
-gtkplot3d.c:1698:21: warning: declaration of 'pz' shadows a previous local [-Wshadow]
- 1698 |     gdouble px, py, pz;
-      |                     ^~
-gtkplot3d.c:1439:11: note: shadowed declaration is here
- 1439 |   gdouble pz;
-      |           ^~
-gtkplot3d.c: In function 'gtk_plot3d_draw_grids':
-gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcandle.o gtkplotcandle.c
-gtkplot3d.c:1883:3: warning: switch missing default case [-Wswitch-default]
- 1883 |   switch(axis->orientation){
-      |   ^~~~~~
-gtkplot3d.c: In function 'gtk_plot3d_draw_labels':
-gtkplot3d.c:2052:3: warning: switch missing default case [-Wswitch-default]
- 2052 |   switch(axis->labels_attr.angle){
-      |   ^~~~~~
-gtkplot.c: In function 'gtk_plot_get_type':
-gtkplot.c:256:3: warning: cast between incompatible function types from 'void (*)(GtkPlotClass *)' {aka 'void (*)(struct _GtkPlotClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
-  256 |   (GClassInitFunc) gtk_plot_class_init,
-      |   ^
-gtkplot.c:258:3: warning: cast between incompatible function types from 'void (*)(GtkPlot *)' {aka 'void (*)(struct _GtkPlot *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
-  258 |   (GInstanceInitFunc) gtk_plot_init,
-      |   ^
-gtkplot.c: In function 'gtk_plot_axis_get_type':
-gtkplot.c:1008:3: warning: cast between incompatible function types from 'void (*)(GtkPlotAxisClass *)' {aka 'void (*)(struct _GtkPlotAxisClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
- 1008 |   (GClassInitFunc) gtk_plot_axis_class_init,
-      |   ^
-gtkplot.c:1010:3: warning: cast between incompatible function types from 'void (*)(GtkPlotAxis *)' {aka 'void (*)(struct _GtkPlotAxis *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
- 1010 |   (GInstanceInitFunc) gtk_plot_axis_init,
-      |   ^
 gtkpsfont.c:50:5: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    50 |   { "Times-Roman",
       |     ^~~~~~~~~~~~~
@@ -2608,6 +2631,7 @@
 gtkpsfont.c:200:5: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   200 |     "Sans, Regular Condensed Italic",
       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+gtkextra.c: In function '_gtkextra_signal_emit':
 gtkpsfont.c:204:5: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   204 |   { "Helvetica-Narrow-Bold",
       |     ^~~~~~~~~~~~~~~~~~~~~~~
@@ -2689,6 +2713,9 @@
 gtkpsfont.c:248:5: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   248 |     "Palatino",
       |     ^~~~~~~~~~
+gtkextra.c:101:17: warning: comparison of integer expressions of different signedness: 'int' and 'guint' {aka 'unsigned int'} [-Wsign-compare]
+  101 |   for (i = 0; i < query.n_params; i++)
+      |                 ^
 gtkpsfont.c:249:5: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   249 |     "URW Palladio L, Roman",
       |     ^~~~~~~~~~~~~~~~~~~~~~~
@@ -2743,6 +2770,9 @@
 gtkpsfont.c:281:5: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   281 |   { "ZapfChancery-MediumItalic",
       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+gtkextra.c:133:17: warning: comparison of integer expressions of different signedness: 'int' and 'guint' {aka 'unsigned int'} [-Wsign-compare]
+  133 |   for (i = 0; i < query.n_params; i++)
+      |                 ^
 gtkpsfont.c:282:5: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   282 |     "ZapfChancery-MediumItalic",
       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -2764,18 +2794,17 @@
 gtkpsfont.c:291:5: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   291 |     "Dingbats, Regular",
       |     ^~~~~~~~~~~~~~~~~~~
-gtkplot.c: In function 'gtk_plot_set_property':
-gtkplot.c:1874:3: warning: switch missing default case [-Wswitch-default]
- 1874 |   switch(prop_id){
-      |   ^~~~~~
 gtkpsfont.c: In function 'gtk_psfont_init':
 gtkpsfont.c:335:16: warning: comparison of integer expressions of different signedness: 'gint' {aka 'int'} and 'long unsigned int' [-Wsign-compare]
   335 |   for(i = 0; i < NUM_FONTS; i++){
       |                ^
-gtkplot.c: In function 'gtk_plot_axis_set_property':
-gtkplot.c:2146:3: warning: switch missing default case [-Wswitch-default]
- 2146 |   switch(prop_id){
-      |   ^~~~~~
+gtkplot.c: In function 'gtk_plot_get_type':
+gtkplot.c:256:3: warning: cast between incompatible function types from 'void (*)(GtkPlotClass *)' {aka 'void (*)(struct _GtkPlotClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
+  256 |   (GClassInitFunc) gtk_plot_class_init,
+      |   ^
+gtkplot.c:258:3: warning: cast between incompatible function types from 'void (*)(GtkPlot *)' {aka 'void (*)(struct _GtkPlot *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
+  258 |   (GInstanceInitFunc) gtk_plot_init,
+      |   ^
 gtkpsfont.c: In function 'find_psfont':
 gtkpsfont.c:669:18: warning: comparison of integer expressions of different signedness: 'gint' {aka 'int'} and 'long unsigned int' [-Wsign-compare]
   669 |     for(i = 0; i < NUM_FONTS; i++){
@@ -2784,24 +2813,21 @@
 gtkpsfont.c:722:18: warning: comparison of integer expressions of different signedness: 'gint' {aka 'int'} and 'long unsigned int' [-Wsign-compare]
   722 |     for(i = 0; i < NUM_FONTS; i++){
       |                  ^
-gtkplotarray.c: In function 'gtk_plot_array_get_type':
-gtkplotarray.c:77:9: warning: cast between incompatible function types from 'void (*)(GtkPlotArrayClass *)' {aka 'void (*)(struct _GtkPlotArrayClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
-   77 |         (GClassInitFunc) gtk_plot_array_class_init,
-      |         ^
-gtkplotarray.c:82:9: warning: cast between incompatible function types from 'void (*)(GtkPlotArray *)' {aka 'void (*)(struct _GtkPlotArray *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
-   82 |         (GInstanceInitFunc) gtk_plot_array_init,
-      |         ^
-gtkplotarray.c: In function 'gtk_plot_array_set_property':
-gtkplotarray.c:187:3: warning: switch missing default case [-Wswitch-default]
-  187 |   switch (prop_id)
+gtkplot.c: In function 'gtk_plot_axis_get_type':
+gtkplot.c:1008:3: warning: cast between incompatible function types from 'void (*)(GtkPlotAxisClass *)' {aka 'void (*)(struct _GtkPlotAxisClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
+ 1008 |   (GClassInitFunc) gtk_plot_axis_class_init,
+      |   ^
+gtkplot.c:1010:3: warning: cast between incompatible function types from 'void (*)(GtkPlotAxis *)' {aka 'void (*)(struct _GtkPlotAxis *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
+ 1010 |   (GInstanceInitFunc) gtk_plot_axis_init,
+      |   ^
+gtkplot.c: In function 'gtk_plot_set_property':
+gtkplot.c:1874:3: warning: switch missing default case [-Wswitch-default]
+ 1874 |   switch(prop_id){
+      |   ^~~~~~
+gtkplot.c: In function 'gtk_plot_axis_set_property':
+gtkplot.c:2146:3: warning: switch missing default case [-Wswitch-default]
+ 2146 |   switch(prop_id){
       |   ^~~~~~
-gtkplotarray.c: In function 'gtk_plot_array_list_get_type':
-gtkplotarray.c:527:9: warning: cast between incompatible function types from 'void (*)(GtkPlotArrayListClass *)' {aka 'void (*)(struct _GtkPlotArrayListClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
-  527 |         (GClassInitFunc) gtk_plot_array_list_class_init,
-      |         ^
-gtkplotarray.c:532:9: warning: cast between incompatible function types from 'void (*)(GtkPlotArrayList *)' {aka 'void (*)(struct _GtkPlotArrayList *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
-  532 |         (GInstanceInitFunc) gtk_plot_array_list_init,
-      |         ^
 gtkplot.c: In function 'gtk_plot_axis_construct':
 gtkplot.c:2791:3: warning: switch missing default case [-Wswitch-default]
  2791 |   switch(orientation){
@@ -2810,30 +2836,10 @@
 gtkplot.c:3233:3: warning: switch missing default case [-Wswitch-default]
  3233 |   switch(axis->labels_attr.angle){
       |   ^~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcanvas.o gtkplotcanvas.c
 gtkplot.c: In function 'gtk_plot_ticks_inverse':
 gtkplot.c:3664:5: warning: switch missing default case [-Wswitch-default]
  3664 |     switch(ticks.scale){
       |     ^~~~~~
-gtkplotbar.c: In function 'gtk_plot_bar_get_type':
-gtkplotbar.c:87:3: warning: cast between incompatible function types from 'void (*)(GtkPlotBarClass *)' {aka 'void (*)(struct _GtkPlotBarClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
-   87 |   (GClassInitFunc) gtk_plot_bar_class_init,
-      |   ^
-gtkplotbar.c:89:3: warning: cast between incompatible function types from 'void (*)(GtkPlotBar *)' {aka 'void (*)(struct _GtkPlotBar *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
-   89 |   (GInstanceInitFunc) gtk_plot_bar_init,
-      |   ^
-gtkplotbar.c: In function 'gtk_plot_bar_set_property':
-gtkplotbar.c:140:3: warning: switch missing default case [-Wswitch-default]
-  140 |   switch (prop_id)
-      |   ^~~~~~
-gtkplotbar.c: In function 'gtk_plot_bar_draw_symbol':
-gtkplotbar.c:270:5: warning: switch missing default case [-Wswitch-default]
-  270 |     switch(bar->orientation){
-      |     ^~~~~~
-gtkplotbar.c: In function 'gtk_plot_bar_draw_legend':
-gtkplotbar.c:361:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-  361 |     legend.text = "";
-      |                 ^
 gtkplot.c: In function 'gtk_plot_text_get_size':
 gtkplot.c:4021:19: warning: declaration of 'i' shadows a previous local [-Wshadow]
  4021 |              gint i = g_utf8_next_char(aux) - aux2;
@@ -2883,8 +2889,70 @@
 gtkplot.c:6593:6: warning: switch missing default case [-Wswitch-default]
  6593 |      switch(scale){
       |      ^~~~~~
+gtkplot3d.c: In function 'gtk_plot3d_get_type':
+gtkplot3d.c:157:3: warning: cast between incompatible function types from 'void (*)(GtkPlot3DClass *)' {aka 'void (*)(struct _GtkPlot3DClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
+  157 |   (GClassInitFunc) gtk_plot3d_class_init,
+      |   ^
+gtkplot3d.c:159:3: warning: cast between incompatible function types from 'void (*)(GtkPlot3D *)' {aka 'void (*)(struct _GtkPlot3D *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
+  159 |   (GInstanceInitFunc) gtk_plot3d_init,
+      |   ^
+gtkplot3d.c: In function 'gtk_plot3d_real_paint':
+gtkplot3d.c:1698:21: warning: declaration of 'pz' shadows a previous local [-Wshadow]
+ 1698 |     gdouble px, py, pz;
+      |                     ^~
+gtkplot3d.c:1439:11: note: shadowed declaration is here
+ 1439 |   gdouble pz;
+      |           ^~
+gtkplot3d.c: In function 'gtk_plot3d_draw_grids':
+gtkplot3d.c:1883:3: warning: switch missing default case [-Wswitch-default]
+ 1883 |   switch(axis->orientation){
+      |   ^~~~~~
+gtkplot3d.c: In function 'gtk_plot3d_draw_labels':
+gtkplot3d.c:2052:3: warning: switch missing default case [-Wswitch-default]
+ 2052 |   switch(axis->labels_attr.angle){
+      |   ^~~~~~
+gtkplotbar.c: In function 'gtk_plot_bar_get_type':
+gtkplotbar.c:87:3: warning: cast between incompatible function types from 'void (*)(GtkPlotBarClass *)' {aka 'void (*)(struct _GtkPlotBarClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
+   87 |   (GClassInitFunc) gtk_plot_bar_class_init,
+      |   ^
+gtkplotbar.c:89:3: warning: cast between incompatible function types from 'void (*)(GtkPlotBar *)' {aka 'void (*)(struct _GtkPlotBar *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
+   89 |   (GInstanceInitFunc) gtk_plot_bar_init,
+      |   ^
+gtkplotbar.c: In function 'gtk_plot_bar_set_property':
+gtkplotbar.c:140:3: warning: switch missing default case [-Wswitch-default]
+  140 |   switch (prop_id)
+      |   ^~~~~~
+gtkplotbar.c: In function 'gtk_plot_bar_draw_symbol':
+gtkplotbar.c:270:5: warning: switch missing default case [-Wswitch-default]
+  270 |     switch(bar->orientation){
+      |     ^~~~~~
+gtkplotbar.c: In function 'gtk_plot_bar_draw_legend':
+gtkplotbar.c:361:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
+  361 |     legend.text = "";
+      |                 ^
+gtkplotarray.c: In function 'gtk_plot_array_get_type':
+gtkplotarray.c:77:9: warning: cast between incompatible function types from 'void (*)(GtkPlotArrayClass *)' {aka 'void (*)(struct _GtkPlotArrayClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
+   77 |         (GClassInitFunc) gtk_plot_array_class_init,
+      |         ^
+gtkplotarray.c:82:9: warning: cast between incompatible function types from 'void (*)(GtkPlotArray *)' {aka 'void (*)(struct _GtkPlotArray *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
+   82 |         (GInstanceInitFunc) gtk_plot_array_init,
+      |         ^
+gtkplotarray.c: In function 'gtk_plot_array_set_property':
+gtkplotarray.c:187:3: warning: switch missing default case [-Wswitch-default]
+  187 |   switch (prop_id)
+      |   ^~~~~~
+gtkplotarray.c: In function 'gtk_plot_array_list_get_type':
+gtkplotarray.c:527:9: warning: cast between incompatible function types from 'void (*)(GtkPlotArrayListClass *)' {aka 'void (*)(struct _GtkPlotArrayListClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
+  527 |         (GClassInitFunc) gtk_plot_array_list_class_init,
+      |         ^
+gtkplotarray.c:532:9: warning: cast between incompatible function types from 'void (*)(GtkPlotArrayList *)' {aka 'void (*)(struct _GtkPlotArrayList *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
+  532 |         (GInstanceInitFunc) gtk_plot_array_list_init,
+      |         ^
+gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcandle.o gtkplotcandle.c
+gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcanvas.o gtkplotcanvas.c
 gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcanvasellipse.o gtkplotcanvasellipse.c
 gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcanvasline.o gtkplotcanvasline.c
+gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcanvaspixmap.o gtkplotcanvaspixmap.c
 gtkplotbox.c: In function 'gtk_plot_box_get_type':
 gtkplotbox.c:85:3: warning: cast between incompatible function types from 'void (*)(GtkPlotBoxClass *)' {aka 'void (*)(struct _GtkPlotBoxClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
    85 |   (GClassInitFunc) gtk_plot_box_class_init,
@@ -2913,23 +2981,6 @@
 gtkplotbox.c:412:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   412 |     legend.text = "";
       |                 ^
-gtkplotcandle.c: In function 'gtk_plot_candle_get_type':
-gtkplotcandle.c:62:2: warning: cast between incompatible function types from 'void (*)(GtkPlotCandleClass *)' {aka 'void (*)(struct _GtkPlotCandleClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
-   62 |  (GClassInitFunc) gtk_plot_candle_class_init,
-      |  ^
-gtkplotcandle.c:67:2: warning: cast between incompatible function types from 'void (*)(GtkPlotCandle *)' {aka 'void (*)(struct _GtkPlotCandle *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
-   67 |  (GInstanceInitFunc) gtk_plot_candle_init,
-      |  ^
-gtkplotcandle.c: In function 'gtk_plot_candle_draw_symbol':
-gtkplotcandle.c:171:17: warning: using integer absolute value function 'abs' when argument is of floating-point type 'gdouble' {aka 'double'} [-Wabsolute-value]
-  171 |        height = abs(py - pz);
-      |                 ^~~
-gtkplotcandle.c: In function 'gtk_plot_candle_draw_legend':
-gtkplotcandle.c:245:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-  245 |     legend.text = "";
-      |                 ^
-gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcanvaspixmap.o gtkplotcanvaspixmap.c
-gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcanvasplot.o gtkplotcanvasplot.c
 gtkplotcanvas.c:147:13: warning: redundant redeclaration of 'gtk_plot_canvas_child_draw' [-Wredundant-decls]
   147 | static void gtk_plot_canvas_child_draw  (GtkPlotCanvas *canvas,
       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -2987,28 +3038,6 @@
 gtkplotcanvas.c:1528:11: warning: enumeration value 'GTK_PLOT_CANVAS_TOP_RIGHT' not handled in switch [-Wswitch-enum]
 gtkplotcanvas.c:1528:11: warning: enumeration value 'GTK_PLOT_CANVAS_BOTTOM_LEFT' not handled in switch [-Wswitch-enum]
 gtkplotcanvas.c:1528:11: warning: enumeration value 'GTK_PLOT_CANVAS_BOTTOM_RIGHT' not handled in switch [-Wswitch-enum]
-gtkplotcanvasline.c: In function 'gtk_plot_canvas_line_get_type':
-gtkplotcanvasline.c:102:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCanvasChildClass *)' {aka 'void (*)(struct _GtkPlotCanvasChildClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
-  102 |   (GClassInitFunc) gtk_plot_canvas_line_class_init,
-      |   ^
-gtkplotcanvasline.c:104:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCanvasLine *)' {aka 'void (*)(struct _GtkPlotCanvasLine *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
-  104 |   (GInstanceInitFunc) gtk_plot_canvas_line_init,
-      |   ^
-gtkplotcanvasline.c: In function 'gtk_plot_canvas_line_set_property':
-gtkplotcanvasline.c:299:3: warning: switch missing default case [-Wswitch-default]
-  299 |   switch(prop_id){
-      |   ^~~~~~
-gtkplotcanvasline.c: In function 'gtk_plot_canvas_line_get_property':
-gtkplotcanvasline.c:341:3: warning: switch missing default case [-Wswitch-default]
-  341 |   switch(prop_id){
-      |   ^~~~~~
-gtkplotcanvasline.c: In function 'gtk_plot_canvas_line_draw':
-gtkplotcanvasline.c:410:6: warning: switch missing default case [-Wswitch-default]
-  410 |      switch(line->arrow_style){
-      |      ^~~~~~
-gtkplotcanvasline.c:433:6: warning: switch missing default case [-Wswitch-default]
-  433 |      switch(line->arrow_style){
-      |      ^~~~~~
 gtkplotcanvas.c: In function 'gtk_plot_canvas_motion':
 gtkplotcanvas.c:1344:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
  1344 |                if(canvas->active_item && canvas->active_item->flags & GTK_PLOT_CANVAS_CAN_RESIZE){
@@ -3022,7 +3051,6 @@
 gtkplotcanvas.c:1365:13: note: here
  1365 |             case GTK_PLOT_CANVAS_BOTTOM:
       |             ^~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcanvasrectangle.o gtkplotcanvasrectangle.c
 gtkplotcanvas.c: In function 'gtk_plot_canvas_set_line_attributes':
 gtkplotcanvas.c:2510:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
  2510 |         gtk_plot_pc_set_dash(canvas->pc, 0, dash, 2);
@@ -3030,6 +3058,22 @@
 gtkplotcanvas.c:2511:4: note: here
  2511 |    case GTK_PLOT_LINE_DOT_DASH:
       |    ^~~~
+gtkplotcandle.c: In function 'gtk_plot_candle_get_type':
+gtkplotcandle.c:62:2: warning: cast between incompatible function types from 'void (*)(GtkPlotCandleClass *)' {aka 'void (*)(struct _GtkPlotCandleClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
+   62 |  (GClassInitFunc) gtk_plot_candle_class_init,
+      |  ^
+gtkplotcandle.c:67:2: warning: cast between incompatible function types from 'void (*)(GtkPlotCandle *)' {aka 'void (*)(struct _GtkPlotCandle *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
+   67 |  (GInstanceInitFunc) gtk_plot_candle_init,
+      |  ^
+gtkplotcandle.c: In function 'gtk_plot_candle_draw_symbol':
+gtkplotcandle.c:171:17: warning: using integer absolute value function 'abs' when argument is of floating-point type 'gdouble' {aka 'double'} [-Wabsolute-value]
+  171 |        height = abs(py - pz);
+      |                 ^~~
+gtkplotcandle.c: In function 'gtk_plot_candle_draw_legend':
+gtkplotcandle.c:245:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
+  245 |     legend.text = "";
+      |                 ^
+gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcanvasplot.o gtkplotcanvasplot.c
 gtkplotcanvasellipse.c: In function 'gtk_plot_canvas_ellipse_get_type':
 gtkplotcanvasellipse.c:88:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCanvasChildClass *)' {aka 'void (*)(struct _GtkPlotCanvasChildClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
    88 |   (GClassInitFunc) gtk_plot_canvas_ellipse_class_init,
@@ -3045,6 +3089,45 @@
 gtkplotcanvasellipse.c:210:3: warning: switch missing default case [-Wswitch-default]
   210 |   switch(prop_id){
       |   ^~~~~~
+gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcanvasrectangle.o gtkplotcanvasrectangle.c
+gtkplotcanvasline.c: In function 'gtk_plot_canvas_line_get_type':
+gtkplotcanvasline.c:102:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCanvasChildClass *)' {aka 'void (*)(struct _GtkPlotCanvasChildClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
+  102 |   (GClassInitFunc) gtk_plot_canvas_line_class_init,
+      |   ^
+gtkplotcanvasline.c:104:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCanvasLine *)' {aka 'void (*)(struct _GtkPlotCanvasLine *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
+  104 |   (GInstanceInitFunc) gtk_plot_canvas_line_init,
+      |   ^
+gtkplotcanvasline.c: In function 'gtk_plot_canvas_line_set_property':
+gtkplotcanvasline.c:299:3: warning: switch missing default case [-Wswitch-default]
+  299 |   switch(prop_id){
+      |   ^~~~~~
+gtkplotcanvasline.c: In function 'gtk_plot_canvas_line_get_property':
+gtkplotcanvasline.c:341:3: warning: switch missing default case [-Wswitch-default]
+  341 |   switch(prop_id){
+      |   ^~~~~~
+gtkplotcanvasline.c: In function 'gtk_plot_canvas_line_draw':
+gtkplotcanvasline.c:410:6: warning: switch missing default case [-Wswitch-default]
+  410 |      switch(line->arrow_style){
+      |      ^~~~~~
+gtkplotcanvasline.c:433:6: warning: switch missing default case [-Wswitch-default]
+  433 |      switch(line->arrow_style){
+      |      ^~~~~~
+gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcanvastext.o gtkplotcanvastext.c
+gtkplotcanvaspixmap.c: In function 'gtk_plot_canvas_pixmap_get_type':
+gtkplotcanvaspixmap.c:80:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCanvasChildClass *)' {aka 'void (*)(struct _GtkPlotCanvasChildClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
+   80 |   (GClassInitFunc) gtk_plot_canvas_pixmap_class_init,
+      |   ^
+gtkplotcanvaspixmap.c:82:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCanvasPixmap *)' {aka 'void (*)(struct _GtkPlotCanvasPixmap *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
+   82 |   (GInstanceInitFunc) gtk_plot_canvas_pixmap_init,
+      |   ^
+gtkplotcanvaspixmap.c: In function 'gtk_plot_canvas_pixmap_get_property':
+gtkplotcanvaspixmap.c:170:3: warning: switch missing default case [-Wswitch-default]
+  170 |   switch(prop_id){
+      |   ^~~~~~
+gtkplotcanvaspixmap.c: In function 'gtk_plot_canvas_pixmap_set_property':
+gtkplotcanvaspixmap.c:188:3: warning: switch missing default case [-Wswitch-default]
+  188 |   switch(prop_id){
+      |   ^~~~~~
 gtkplot3d.c: In function 'gtk_plot3d_show_labels':
 gtkplot3d.c:2897:20: warning: potential null pointer dereference [-Wnull-dereference]
  2897 |   axis->label_mask = label_mask;
@@ -3079,6 +3162,7 @@
  3038 |   axis->ticks.nminor = nminor;
       |   ~~~~~~~~~~~~~~~~~~~^~~~~~~~
 gtkplot3d.c: In function 'gtk_plot3d_set_ticks_length':
+gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcsurface.o gtkplotcsurface.c
 gtkplot3d.c:3058:22: warning: potential null pointer dereference [-Wnull-dereference]
  3058 |   axis->ticks_length = length;
       |   ~~~~~~~~~~~~~~~~~~~^~~~~~~~
@@ -3086,30 +3170,13 @@
 gtkplot3d.c:3078:21: warning: potential null pointer dereference [-Wnull-dereference]
  3078 |   axis->ticks_width = width;
       |   ~~~~~~~~~~~~~~~~~~^~~~~~~
-gtkplotcanvaspixmap.c: In function 'gtk_plot_canvas_pixmap_get_type':
-gtkplotcanvaspixmap.c:80:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCanvasChildClass *)' {aka 'void (*)(struct _GtkPlotCanvasChildClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
-   80 |   (GClassInitFunc) gtk_plot_canvas_pixmap_class_init,
-      |   ^
-gtkplotcanvaspixmap.c:82:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCanvasPixmap *)' {aka 'void (*)(struct _GtkPlotCanvasPixmap *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
-   82 |   (GInstanceInitFunc) gtk_plot_canvas_pixmap_init,
-      |   ^
-gtkplotcanvaspixmap.c: In function 'gtk_plot_canvas_pixmap_get_property':
-gtkplotcanvaspixmap.c:170:3: warning: switch missing default case [-Wswitch-default]
-  170 |   switch(prop_id){
-      |   ^~~~~~
 gtkplot3d.c: In function 'gtk_plot3d_show_ticks':
-gtkplotcanvaspixmap.c: In function 'gtk_plot_canvas_pixmap_set_property':
-gtkplotcanvaspixmap.c:188:3: warning: switch missing default case [-Wswitch-default]
-  188 |   switch(prop_id){
-      |   ^~~~~~
 gtkplot3d.c:3101:20: warning: potential null pointer dereference [-Wnull-dereference]
  3101 |   axis->minor_mask = minor_mask;
       |   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
 gtkplot3d.c:3100:20: warning: potential null pointer dereference [-Wnull-dereference]
  3100 |   axis->major_mask = major_mask;
       |   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcanvastext.o gtkplotcanvastext.c
-gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcsurface.o gtkplotcsurface.c
 gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotdata.o gtkplotdata.c
 gtkplotcanvasplot.c: In function 'gtk_plot_canvas_plot_get_type':
 gtkplotcanvasplot.c:86:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCanvasChildClass *)' {aka 'void (*)(struct _GtkPlotCanvasChildClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
@@ -3155,6 +3222,40 @@
 gtkplot3d.c:3558:19: warning: potential null pointer dereference [-Wnull-dereference]
  3558 |   return(ax->ticks.scale);
       |         ~~~~~~~~~~^~~~~~~
+gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotdt.o gtkplotdt.c
+gtkplotcsurface.c: In function 'gtk_plot_csurface_get_type':
+gtkplotcsurface.c:137:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCSurfaceClass *)' {aka 'void (*)(struct _GtkPlotCSurfaceClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
+  137 |   (GClassInitFunc) gtk_plot_csurface_class_init,
+      |   ^
+gtkplotcsurface.c:139:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCSurface *)' {aka 'void (*)(struct _GtkPlotCSurface *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
+  139 |   (GInstanceInitFunc) gtk_plot_csurface_init,
+      |   ^
+gtkplotcsurface.c: In function 'gtk_plot_csurface_set_property':
+gtkplotcsurface.c:291:3: warning: switch missing default case [-Wswitch-default]
+  291 |   switch (prop_id)
+      |   ^~~~~~
+gtkplotcanvastext.c: In function 'gtk_plot_canvas_text_get_type':
+gtkplotcanvastext.c:77:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCanvasChildClass *)' {aka 'void (*)(struct _GtkPlotCanvasChildClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
+   77 |   (GClassInitFunc) gtk_plot_canvas_text_class_init,
+      |   ^
+gtkplotcanvastext.c:79:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCanvasText *)' {aka 'void (*)(struct _GtkPlotCanvasText *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
+   79 |   (GInstanceInitFunc) gtk_plot_canvas_text_init,
+      |   ^
+gtkplotcanvastext.c: In function 'gtk_plot_canvas_text_get_property':
+gtkplotcanvastext.c:196:3: warning: switch missing default case [-Wswitch-default]
+  196 |   switch(prop_id){
+      |   ^~~~~~
+gtkplotcanvastext.c: In function 'gtk_plot_canvas_text_set_property':
+gtkplotcanvastext.c:212:3: warning: switch missing default case [-Wswitch-default]
+  212 |   switch(prop_id){
+      |   ^~~~~~
+gtkplotcsurface.c: In function 'gtk_plot_csurface_draw_lines':
+gtkplotcsurface.c:903:29: warning: declaration of 'aux' shadows a previous local [-Wshadow]
+  903 |             GtkPlotContourX aux = xp[j];
+      |                             ^~~
+gtkplotcsurface.c:871:16: note: shadowed declaration is here
+  871 |         GList *aux;
+      |                ^~~
 gtkplotcanvasrectangle.c: In function 'gtk_plot_canvas_rectangle_get_type':
 gtkplotcanvasrectangle.c:84:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCanvasChildClass *)' {aka 'void (*)(struct _GtkPlotCanvasChildClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
    84 |   (GClassInitFunc) gtk_plot_canvas_rectangle_class_init,
@@ -3170,7 +3271,61 @@
 gtkplotcanvasrectangle.c:127:3: warning: switch missing default case [-Wswitch-default]
   127 |   switch(prop_id){
       |   ^~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotdt.o gtkplotdt.c
+gtkplotcsurface.c: In function 'gtk_plot_csurface_get_legend_size':
+gtkplotcsurface.c:1620:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
+ 1620 |     legend.text = "X";
+      |                 ^
+gtkplotcsurface.c: In function 'gtk_plot_csurface_draw_legend':
+gtkplotcsurface.c:1662:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
+ 1662 |     legend.text = "X";
+      |                 ^
+gtkplotcsurface.c: In function 'hsv_to_rgb':
+gtkplotcsurface.c:1740:7: warning: switch missing default case [-Wswitch-default]
+ 1740 |       switch (i)
+      |       ^~~~~~
+gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotflux.o gtkplotflux.c
+gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcairo.o gtkplotcairo.c
+gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotpc.o gtkplotpc.c
+gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotpixmap.o gtkplotpixmap.c
+gtkplotdt.c: In function 'gtk_plot_dt_get_type':
+gtkplotdt.c:69:3: warning: cast between incompatible function types from 'void (*)(GtkPlotDTClass *)' {aka 'void (*)(struct _GtkPlotDTClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
+   69 |   (GClassInitFunc) gtk_plot_dt_class_init,
+      |   ^
+gtkplotdt.c:71:3: warning: cast between incompatible function types from 'void (*)(GtkPlotDT *)' {aka 'void (*)(struct _GtkPlotDT *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
+   71 |   (GInstanceInitFunc) gtk_plot_dt_init,
+      |   ^
+gtkplotdt.c: In function 'gtk_plot_dt_triangulate_insert_node':
+gtkplotdt.c:678:28: warning: declaration of 't' shadows a previous local [-Wshadow]
+  678 |         GtkPlotDTtriangle *t;
+      |                            ^
+gtkplotdt.c:575:22: note: shadowed declaration is here
+  575 |   GtkPlotDTtriangle *t = NULL;
+      |                      ^
+gtkplotdt.c:689:26: warning: declaration of 't' shadows a previous local [-Wshadow]
+  689 |       GtkPlotDTtriangle *t = (GtkPlotDTtriangle *)list->data;
+      |                          ^
+gtkplotdt.c:575:22: note: shadowed declaration is here
+  575 |   GtkPlotDTtriangle *t = NULL;
+      |                      ^
+gtkplotdt.c:691:12: warning: declaration of 'l' shadows a previous local [-Wshadow]
+  691 |       gint l, m, n;
+      |            ^
+gtkplotdt.c:574:12: note: shadowed declaration is here
+  574 |   gint j,k,l, delinquentes;
+      |            ^
+gtkplotdt.c:774:26: warning: declaration of 't' shadows a previous local [-Wshadow]
+  774 |       GtkPlotDTtriangle *t = (GtkPlotDTtriangle *)list->data;
+      |                          ^
+gtkplotdt.c:575:22: note: shadowed declaration is here
+  575 |   GtkPlotDTtriangle *t = NULL;
+      |                      ^
+gtkplotdt.c: In function 'gtk_plot_dt_compare_nodes_xy_wise':
+gtkplotdt.c:1045:5: warning: switch missing default case [-Wswitch-default]
+ 1045 |     switch(gtk_plot_dt_compare_nodes_y_wise(a,b)) {
+      |     ^~~~~~
+gtkplotdt.c:1039:3: warning: switch missing default case [-Wswitch-default]
+ 1039 |   switch(gtk_plot_dt_compare_nodes_x_wise(a,b)) {
+      |   ^~~~~~
 gtkplotdata.c: In function 'gtk_plot_data_get_type':
 gtkplotdata.c:296:3: warning: cast between incompatible function types from 'void (*)(GtkPlotDataClass *)' {aka 'void (*)(struct _GtkPlotDataClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
   296 |   (GClassInitFunc) gtk_plot_data_class_init,
@@ -3178,7 +3333,6 @@
 gtkplotdata.c:298:3: warning: cast between incompatible function types from 'void (*)(GtkPlotData *)' {aka 'void (*)(struct _GtkPlotData *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
   298 |   (GInstanceInitFunc) gtk_plot_data_init,
       |   ^
-gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotflux.o gtkplotflux.c
 gtkplotdata.c: In function 'gtk_plot_data_init':
 gtkplotdata.c:1541:34: warning: implicit conversion from 'enum <anonymous>' to 'GtkPlotOrientation' [-Wenum-conversion]
  1541 |   dataset->gradient->orientation = GTK_ORIENTATION_VERTICAL;
@@ -3237,7 +3391,6 @@
 gtkplotdata.c:4021:3: warning: switch missing default case [-Wswitch-default]
  4021 |   switch(symbol.symbol_type) {
       |   ^~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotcairo.o gtkplotcairo.c
 gtkplotdata.c: In function 'gtk_plot_data_get_gradient_colors':
 gtkplotdata.c:6416:45: warning: parameter 'min' set but not used [-Wunused-but-set-parameter]
  6416 |                                    GdkRGBA *min,
@@ -3268,59 +3421,12 @@
 gtkplotdata.c:6941:12: warning: comparison of integer expressions of different signedness: 'guint' {aka 'unsigned int'} and 'gint' {aka 'int'} [-Wsign-compare]
  6941 |   if(point >= data->num_points) return FALSE;
       |            ^~
-gtkplotcsurface.c: In function 'gtk_plot_csurface_get_type':
-gtkplotcsurface.c:137:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCSurfaceClass *)' {aka 'void (*)(struct _GtkPlotCSurfaceClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
-  137 |   (GClassInitFunc) gtk_plot_csurface_class_init,
-      |   ^
-gtkplotcsurface.c:139:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCSurface *)' {aka 'void (*)(struct _GtkPlotCSurface *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
-  139 |   (GInstanceInitFunc) gtk_plot_csurface_init,
-      |   ^
-gtkplotcsurface.c: In function 'gtk_plot_csurface_set_property':
-gtkplotcsurface.c:291:3: warning: switch missing default case [-Wswitch-default]
-  291 |   switch (prop_id)
-      |   ^~~~~~
-gtkplotcsurface.c: In function 'gtk_plot_csurface_draw_lines':
-gtkplotcsurface.c:903:29: warning: declaration of 'aux' shadows a previous local [-Wshadow]
-  903 |             GtkPlotContourX aux = xp[j];
-      |                             ^~~
-gtkplotcsurface.c:871:16: note: shadowed declaration is here
-  871 |         GList *aux;
-      |                ^~~
-gtkplotcsurface.c: In function 'gtk_plot_csurface_get_legend_size':
-gtkplotcsurface.c:1620:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
- 1620 |     legend.text = "X";
-      |                 ^
-gtkplotcsurface.c: In function 'gtk_plot_csurface_draw_legend':
-gtkplotcsurface.c:1662:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
- 1662 |     legend.text = "X";
-      |                 ^
-gtkplotcsurface.c: In function 'hsv_to_rgb':
-gtkplotcsurface.c:1740:7: warning: switch missing default case [-Wswitch-default]
- 1740 |       switch (i)
-      |       ^~~~~~
-gtkplotcanvastext.c: In function 'gtk_plot_canvas_text_get_type':
-gtkplotcanvastext.c:77:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCanvasChildClass *)' {aka 'void (*)(struct _GtkPlotCanvasChildClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
-   77 |   (GClassInitFunc) gtk_plot_canvas_text_class_init,
-      |   ^
-gtkplotcanvastext.c:79:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCanvasText *)' {aka 'void (*)(struct _GtkPlotCanvasText *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
-   79 |   (GInstanceInitFunc) gtk_plot_canvas_text_init,
-      |   ^
-gtkplotcanvastext.c: In function 'gtk_plot_canvas_text_get_property':
-gtkplotcanvastext.c:196:3: warning: switch missing default case [-Wswitch-default]
-  196 |   switch(prop_id){
-      |   ^~~~~~
-gtkplotcanvastext.c: In function 'gtk_plot_canvas_text_set_property':
-gtkplotcanvastext.c:212:3: warning: switch missing default case [-Wswitch-default]
-  212 |   switch(prop_id){
-      |   ^~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotpc.o gtkplotpc.c
-gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotpixmap.o gtkplotpixmap.c
-gtkplotdt.c: In function 'gtk_plot_dt_get_type':
-gtkplotdt.c:69:3: warning: cast between incompatible function types from 'void (*)(GtkPlotDTClass *)' {aka 'void (*)(struct _GtkPlotDTClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
-   69 |   (GClassInitFunc) gtk_plot_dt_class_init,
+gtkplotpc.c: In function 'gtk_plot_pc_get_type':
+gtkplotpc.c:57:3: warning: cast between incompatible function types from 'void (*)(GtkPlotPCClass *)' {aka 'void (*)(struct _GtkPlotPCClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
+   57 |   (GClassInitFunc) gtk_plot_pc_class_init,
       |   ^
-gtkplotdt.c:71:3: warning: cast between incompatible function types from 'void (*)(GtkPlotDT *)' {aka 'void (*)(struct _GtkPlotDT *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
-   71 |   (GInstanceInitFunc) gtk_plot_dt_init,
+gtkplotpc.c:59:3: warning: cast between incompatible function types from 'void (*)(GtkPlotPC *)' {aka 'void (*)(struct _GtkPlotPC *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
+   59 |   (GInstanceInitFunc) gtk_plot_pc_real_init,
       |   ^
 gtkplotcairo.c: In function 'gtk_plot_cairo_get_type':
 gtkplotcairo.c:137:3: warning: cast between incompatible function types from 'void (*)(GtkPlotCairoClass *)' {aka 'void (*)(struct _GtkPlotCairoClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
@@ -3356,31 +3462,6 @@
 gtkplotcairo.c:1102:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  1102 |   cairo_surface_t *image_surface = NULL;
       |   ^~~~~~~~~~~~~~~
-gtkplotdt.c: In function 'gtk_plot_dt_triangulate_insert_node':
-gtkplotdt.c:678:28: warning: declaration of 't' shadows a previous local [-Wshadow]
-  678 |         GtkPlotDTtriangle *t;
-      |                            ^
-gtkplotdt.c:575:22: note: shadowed declaration is here
-  575 |   GtkPlotDTtriangle *t = NULL;
-      |                      ^
-gtkplotdt.c:689:26: warning: declaration of 't' shadows a previous local [-Wshadow]
-  689 |       GtkPlotDTtriangle *t = (GtkPlotDTtriangle *)list->data;
-      |                          ^
-gtkplotdt.c:575:22: note: shadowed declaration is here
-  575 |   GtkPlotDTtriangle *t = NULL;
-      |                      ^
-gtkplotdt.c:691:12: warning: declaration of 'l' shadows a previous local [-Wshadow]
-  691 |       gint l, m, n;
-      |            ^
-gtkplotdt.c:574:12: note: shadowed declaration is here
-  574 |   gint j,k,l, delinquentes;
-      |            ^
-gtkplotdt.c:774:26: warning: declaration of 't' shadows a previous local [-Wshadow]
-  774 |       GtkPlotDTtriangle *t = (GtkPlotDTtriangle *)list->data;
-      |                          ^
-gtkplotdt.c:575:22: note: shadowed declaration is here
-  575 |   GtkPlotDTtriangle *t = NULL;
-      |                      ^
 gtkplotcairo.c: In function 'gtk_plot_cairo_draw_string':
 gtkplotcairo.c:1071:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  1071 |       gtk_plot_pc_draw_rectangle(pc,
@@ -3396,13 +3477,6 @@
 gtkplotcairo.c:1076:5: note: here
  1076 |     case GTK_PLOT_BORDER_LINE:
       |     ^~~~
-gtkplotdt.c: In function 'gtk_plot_dt_compare_nodes_xy_wise':
-gtkplotdt.c:1045:5: warning: switch missing default case [-Wswitch-default]
- 1045 |     switch(gtk_plot_dt_compare_nodes_y_wise(a,b)) {
-      |     ^~~~~~
-gtkplotdt.c:1039:3: warning: switch missing default case [-Wswitch-default]
- 1039 |   switch(gtk_plot_dt_compare_nodes_x_wise(a,b)) {
-      |   ^~~~~~
 gtkplotflux.c: In function 'gtk_plot_flux_get_type':
 gtkplotflux.c:100:3: warning: cast between incompatible function types from 'void (*)(GtkPlotFluxClass *)' {aka 'void (*)(struct _GtkPlotFluxClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
   100 |   (GClassInitFunc) gtk_plot_flux_class_init,
@@ -3430,13 +3504,7 @@
 gtkplotflux.c:731:3: warning: switch missing default case [-Wswitch-default]
   731 |   switch(flux->arrow_style){
       |   ^~~~~~
-gtkplotpc.c: In function 'gtk_plot_pc_get_type':
-gtkplotpc.c:57:3: warning: cast between incompatible function types from 'void (*)(GtkPlotPCClass *)' {aka 'void (*)(struct _GtkPlotPCClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
-   57 |   (GClassInitFunc) gtk_plot_pc_class_init,
-      |   ^
-gtkplotpc.c:59:3: warning: cast between incompatible function types from 'void (*)(GtkPlotPC *)' {aka 'void (*)(struct _GtkPlotPC *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
-   59 |   (GInstanceInitFunc) gtk_plot_pc_real_init,
-      |   ^
+gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotpolar.o gtkplotpolar.c
 gtkplotcsurface.c: In function 'gtk_plot_csurface_draw_lines':
 gtkplotcsurface.c:703:12: warning: null pointer dereference [-Wnull-dereference]
   703 |       last = aux->next;
@@ -3471,7 +3539,6 @@
 gtkplotpixmap.c:389:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   389 |     legend.text = "";
       |                 ^
-gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotpolar.o gtkplotpolar.c
 gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotprint.o gtkplotprint.c
 gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotps.o gtkplotps.c
 gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -DGNOMELOCALEDIR=\""/usr/share/locale"\" -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o gtkplotsurface.o gtkplotsurface.c
@@ -3490,6 +3557,38 @@
 gtkplotpolar.c:663:3: warning: switch missing default case [-Wswitch-default]
   663 |   switch(axis->labels_attr.angle){
       |   ^~~~~~
+gtkplotsurface.c: In function 'gtk_plot_surface_get_type':
+gtkplotsurface.c:134:3: warning: cast between incompatible function types from 'void (*)(GtkPlotSurfaceClass *)' {aka 'void (*)(struct _GtkPlotSurfaceClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
+  134 |   (GClassInitFunc) gtk_plot_surface_class_init,
+      |   ^
+gtkplotsurface.c:136:3: warning: cast between incompatible function types from 'void (*)(GtkPlotSurface *)' {aka 'void (*)(struct _GtkPlotSurface *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
+  136 |   (GInstanceInitFunc) gtk_plot_surface_init,
+      |   ^
+gtkplotsurface.c: In function 'gtk_plot_surface_set_property':
+gtkplotsurface.c:363:3: warning: switch missing default case [-Wswitch-default]
+  363 |   switch (prop_id)
+      |   ^~~~~~
+gtkplotsurface.c: In function 'gtk_plot_surface_get_legend_size':
+gtkplotsurface.c:941:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
+  941 |     legend.text = "X";
+      |                 ^
+gtkplotsurface.c: In function 'gtk_plot_surface_draw_legend':
+gtkplotsurface.c:990:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
+  990 |     legend.text = "X";
+      |                 ^
+gtkplotsurface.c:1027:37: warning: comparison between pointer and zero character constant [-Wpointer-compare]
+ 1027 |     if(data->legend && data->legend != '\0') gtk_plot_draw_text(plot, legend);
+      |                                     ^~
+gtkplotsurface.c:1027:24: note: did you mean to dereference the pointer?
+ 1027 |     if(data->legend && data->legend != '\0') gtk_plot_draw_text(plot, legend);
+      |                        ^
+gtkplotsurface.c:1027:21: warning: logical 'and' of equal expressions [-Wlogical-op]
+ 1027 |     if(data->legend && data->legend != '\0') gtk_plot_draw_text(plot, legend);
+      |                     ^~
+gtkplotsurface.c: In function 'hsv_to_rgb':
+gtkplotsurface.c:1094:7: warning: switch missing default case [-Wswitch-default]
+ 1094 |       switch (i)
+      |       ^~~~~~
 gtkplotps.c: In function 'gtk_plot_ps_get_type':
 gtkplotps.c:147:3: warning: cast between incompatible function types from 'void (*)(GtkPlotPSClass *)' {aka 'void (*)(struct _GtkPlotPSClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
   147 |   (GClassInitFunc) gtk_plot_ps_class_init,
@@ -3723,13 +3822,6 @@
 gtkplotps.c:1036:5: warning: enumeration value 'GTK_JUSTIFY_FILL' not handled in switch [-Wswitch-enum]
  1036 |     switch (justification) {
       |     ^~~~~~
-gtkplotsurface.c: In function 'gtk_plot_surface_get_type':
-gtkplotsurface.c:134:3: warning: cast between incompatible function types from 'void (*)(GtkPlotSurfaceClass *)' {aka 'void (*)(struct _GtkPlotSurfaceClass *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
-  134 |   (GClassInitFunc) gtk_plot_surface_class_init,
-      |   ^
-gtkplotsurface.c:136:3: warning: cast between incompatible function types from 'void (*)(GtkPlotSurface *)' {aka 'void (*)(struct _GtkPlotSurface *)'} to 'void (*)(GTypeInstance *, void *)' {aka 'void (*)(struct _GTypeInstance *, void *)'} [-Wcast-function-type]
-  136 |   (GInstanceInitFunc) gtk_plot_surface_init,
-      |   ^
 gtkplotps.c:965:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
   965 |       psdrawrectangle(pc,
       |       ^~~~~~~~~~~~~~~~~~~
@@ -3744,31 +3836,6 @@
 gtkplotps.c:970:5: note: here
   970 |     case GTK_PLOT_BORDER_LINE:
       |     ^~~~
-gtkplotsurface.c: In function 'gtk_plot_surface_set_property':
-gtkplotsurface.c:363:3: warning: switch missing default case [-Wswitch-default]
-  363 |   switch (prop_id)
-      |   ^~~~~~
-gtkplotsurface.c: In function 'gtk_plot_surface_get_legend_size':
-gtkplotsurface.c:941:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-  941 |     legend.text = "X";
-      |                 ^
-gtkplotsurface.c: In function 'gtk_plot_surface_draw_legend':
-gtkplotsurface.c:990:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-  990 |     legend.text = "X";
-      |                 ^
-gtkplotsurface.c:1027:37: warning: comparison between pointer and zero character constant [-Wpointer-compare]
- 1027 |     if(data->legend && data->legend != '\0') gtk_plot_draw_text(plot, legend);
-      |                                     ^~
-gtkplotsurface.c:1027:24: note: did you mean to dereference the pointer?
- 1027 |     if(data->legend && data->legend != '\0') gtk_plot_draw_text(plot, legend);
-      |                        ^
-gtkplotsurface.c:1027:21: warning: logical 'and' of equal expressions [-Wlogical-op]
- 1027 |     if(data->legend && data->legend != '\0') gtk_plot_draw_text(plot, legend);
-      |                     ^~
-gtkplotsurface.c: In function 'hsv_to_rgb':
-gtkplotsurface.c:1094:7: warning: switch missing default case [-Wswitch-default]
- 1094 |       switch (i)
-      |       ^~~~~~
 rm -f libgtkextra-genius.a
 ar cru libgtkextra-genius.a  gtkextra-marshal.o gtkextratypebuiltins.o gtkextra.o gtkpsfont.o gtkplot.o gtkplot3d.o gtkplotarray.o gtkplotbar.o gtkplotbox.o gtkplotcandle.o gtkplotcanvas.o gtkplotcanvasellipse.o gtkplotcanvasline.o gtkplotcanvaspixmap.o gtkplotcanvasplot.o gtkplotcanvasrectangle.o gtkplotcanvastext.o gtkplotcsurface.o gtkplotdata.o gtkplotdt.o gtkplotflux.o gtkplotcairo.o gtkplotpc.o gtkplotpixmap.o gtkplotpolar.o gtkplotprint.o gtkplotps.o gtkplotsurface.o 
 ar: `u' modifier ignored since `D' is the default (see `U')
@@ -3787,6 +3854,35 @@
 gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o dict.o dict.c
 gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o funclib.o funclib.c
 gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o symbolic.o symbolic.c
+In file included from funclib.c:37:
+matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
+  137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:140:13: warning: Deprecated pre-processor symbol, replace with 
+  140 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+matrixw.h:148:13: warning: Deprecated pre-processor symbol, replace with 
+  148 | G_INLINE_FUNC GelETree *gel_matrixw_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:151:13: warning: Deprecated pre-processor symbol, replace with 
+  151 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+matrixw.h:167:13: warning: Deprecated pre-processor symbol, replace with 
+  167 | G_INLINE_FUNC GelETree *gel_matrixw_get_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:170:13: warning: Deprecated pre-processor symbol, replace with 
+  170 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+In file included from symbolic.c:36:
+matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
+  137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:140:13: warning: Deprecated pre-processor symbol, replace with 
+  140 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+matrixw.h:148:13: warning: Deprecated pre-processor symbol, replace with 
+  148 | G_INLINE_FUNC GelETree *gel_matrixw_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 In file included from eval.c:33:
 matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
   137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
@@ -3800,6 +3896,15 @@
 matrixw.h:151:13: warning: Deprecated pre-processor symbol, replace with 
   151 | G_INLINE_FUNC GelETree *
       |             ^~~~~~~~~~~~                                    
+matrixw.h:151:13: warning: Deprecated pre-processor symbol, replace with 
+  151 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+matrixw.h:167:13: warning: Deprecated pre-processor symbol, replace with 
+  167 | G_INLINE_FUNC GelETree *gel_matrixw_get_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:170:13: warning: Deprecated pre-processor symbol, replace with 
+  170 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
 matrixw.h:167:13: warning: Deprecated pre-processor symbol, replace with 
   167 | G_INLINE_FUNC GelETree *gel_matrixw_get_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -3868,8 +3973,40 @@
 eval.c:1294:5: note: in expansion of macro 'gel_matrixw_set_index'
  1294 |     gel_matrixw_set_index (nm, 0, 0) = NULL;
       |     ^~~~~~~~~~~~~~~~~~~~~
+In file included from calc.c:48:
+matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
+  137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:140:13: warning: Deprecated pre-processor symbol, replace with 
+  140 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+matrixw.h:148:13: warning: Deprecated pre-processor symbol, replace with 
+  148 | G_INLINE_FUNC GelETree *gel_matrixw_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:151:13: warning: Deprecated pre-processor symbol, replace with 
+  151 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+matrixw.h:167:13: warning: Deprecated pre-processor symbol, replace with 
+  167 | G_INLINE_FUNC GelETree *gel_matrixw_get_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:170:13: warning: Deprecated pre-processor symbol, replace with 
+  170 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
 In file included from eval.c:33:
 eval.c: In function 'matrix_addsub_scalar_matrix_op':
+In file included from calc.c:58:
+y.tab.h:213:5: warning: redundant redeclaration of 'yyparse' [-Wredundant-decls]
+In file included from calc.c:43:
+calc.h:76:5: note: previous declaration of 'yyparse' was here
+   76 | int yyparse(void);
+      |     ^~~~~~~
+calc.c:65:12: warning: redundant redeclaration of 'yydebug' [-Wredundant-decls]
+   65 | extern int yydebug;
+      |            ^~~~~~~
+In file included from calc.c:58:
+parse.h:44:12: note: previous declaration of 'yydebug' was here
+   44 | extern int yydebug;
+      |            ^~~~~~~
 matrixw.h:127:39: warning: this condition has identical branches [-Wduplicated-branches]
   127 |      (a)->regy ? (a)->regy[i] : (i))) : \
       |                                       ^
@@ -3950,6 +4087,10 @@
 eval.c:2181:4: note: in expansion of macro 'gel_matrixw_set_index'
  2181 |    gel_matrixw_set_index(mi,i,i) =
       |    ^~~~~~~~~~~~~~~~~~~~~
+calc.c: In function 'appendmatrix_mathml':
+calc.c:1160:5: warning: this condition has identical branches [-Wduplicated-branches]
+ 1160 |  if (nice)
+      |     ^
 eval.c: In function 'pure_matrix_div_op':
 matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
   120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
@@ -4024,98 +4165,7 @@
 eval.c:2369:3: note: in expansion of macro 'gel_matrixw_set_index'
  2369 |   gel_matrixw_set_index(mi,i,i) =
       |   ^~~~~~~~~~~~~~~~~~~~~
-eval.c: In function 'polynomial_add_sub_op':
-eval.c:2414:12: warning: this condition has identical branches [-Wduplicated-branches]
- 2414 |  } else if (r->type == GEL_VALUE_NODE) {
-      |            ^
-eval.c: In function 'gel_isnodetrue':
-eval.c:2478:2: warning: enumeration value 'GEL_MATRIX_NODE' not handled in switch [-Wswitch-enum]
- 2478 |  switch (n->type) {
-      |  ^~~~~~
-eval.c:2478:2: warning: enumeration value 'GEL_SET_NODE' not handled in switch [-Wswitch-enum]
-eval.c:2478:2: warning: enumeration value 'GEL_POLYNOMIAL_NODE' not handled in switch [-Wswitch-enum]
-eval.c:2478:2: warning: enumeration value 'GEL_OPERATOR_NODE' not handled in switch [-Wswitch-enum]
-eval.c:2478:2: warning: enumeration value 'GEL_IDENTIFIER_NODE' not handled in switch [-Wswitch-enum]
-eval.c:2478:2: warning: enumeration value 'GEL_FUNCTION_NODE' not handled in switch [-Wswitch-enum]
-eval.c:2478:2: warning: enumeration value 'GEL_COMPARISON_NODE' not handled in switch [-Wswitch-enum]
-eval.c:2478:2: warning: enumeration value 'GEL_USERTYPE_NODE' not handled in switch [-Wswitch-enum]
-eval.c:2478:2: warning: enumeration value 'GEL_MATRIX_ROW_NODE' not handled in switch [-Wswitch-enum]
-eval.c:2478:2: warning: enumeration value 'GEL_MATRIX_START_NODE' not handled in switch [-Wswitch-enum]
-eval.c:2478:2: warning: enumeration value 'GEL_EXPRLIST_START_NODE' not handled in switch [-Wswitch-enum]
-eval.c:2478:2: warning: enumeration value 'GEL_SPACER_NODE' not handled in switch [-Wswitch-enum]
-eval.c:2478:2: warning: enumeration value 'GEL_LOCAL_NODE' not handled in switch [-Wswitch-enum]
-In file included from calc.c:48:
-matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
-  137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:140:13: warning: Deprecated pre-processor symbol, replace with 
-  140 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-matrixw.h:148:13: warning: Deprecated pre-processor symbol, replace with 
-  148 | G_INLINE_FUNC GelETree *gel_matrixw_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:151:13: warning: Deprecated pre-processor symbol, replace with 
-  151 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-matrixw.h:167:13: warning: Deprecated pre-processor symbol, replace with 
-  167 | G_INLINE_FUNC GelETree *gel_matrixw_get_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:170:13: warning: Deprecated pre-processor symbol, replace with 
-  170 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-In file included from calc.c:58:
-y.tab.h:213:5: warning: redundant redeclaration of 'yyparse' [-Wredundant-decls]
-In file included from calc.c:43:
-calc.h:76:5: note: previous declaration of 'yyparse' was here
-   76 | int yyparse(void);
-      |     ^~~~~~~
-calc.c:65:12: warning: redundant redeclaration of 'yydebug' [-Wredundant-decls]
-   65 | extern int yydebug;
-      |            ^~~~~~~
-In file included from calc.c:58:
-parse.h:44:12: note: previous declaration of 'yydebug' was here
-   44 | extern int yydebug;
-      |            ^~~~~~~
-In file included from symbolic.c:36:
-matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
-  137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:140:13: warning: Deprecated pre-processor symbol, replace with 
-  140 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-matrixw.h:148:13: warning: Deprecated pre-processor symbol, replace with 
-  148 | G_INLINE_FUNC GelETree *gel_matrixw_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:151:13: warning: Deprecated pre-processor symbol, replace with 
-  151 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-matrixw.h:167:13: warning: Deprecated pre-processor symbol, replace with 
-  167 | G_INLINE_FUNC GelETree *gel_matrixw_get_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:170:13: warning: Deprecated pre-processor symbol, replace with 
-  170 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-calc.c: In function 'appendmatrix_mathml':
-calc.c:1160:5: warning: this condition has identical branches [-Wduplicated-branches]
- 1160 |  if (nice)
-      |     ^
 calc.c: In function 'gel_print_etree':
-In file included from funclib.c:37:
-matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
-  137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:140:13: warning: Deprecated pre-processor symbol, replace with 
-  140 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-matrixw.h:148:13: warning: Deprecated pre-processor symbol, replace with 
-  148 | G_INLINE_FUNC GelETree *gel_matrixw_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:151:13: warning: Deprecated pre-processor symbol, replace with 
-  151 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-matrixw.h:167:13: warning: Deprecated pre-processor symbol, replace with 
-  167 | G_INLINE_FUNC GelETree *gel_matrixw_get_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 calc.c:1434:2: warning: enumeration value 'GEL_USERTYPE_NODE' not handled in switch [-Wswitch-enum]
  1434 |  switch(n->type) {
       |  ^~~~~~
@@ -4124,44 +4174,10 @@
 calc.c:1434:2: warning: enumeration value 'GEL_EXPRLIST_START_NODE' not handled in switch [-Wswitch-enum]
 calc.c:1434:2: warning: enumeration value 'GEL_SPACER_NODE' not handled in switch [-Wswitch-enum]
 calc.c:1434:2: warning: enumeration value 'GEL_LOCAL_NODE' not handled in switch [-Wswitch-enum]
-matrixw.h:170:13: warning: Deprecated pre-processor symbol, replace with 
-  170 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-eval.c: In function 'iter_get_arg':
-eval.c:6667:2: warning: enumeration value 'GEL_NULL_NODE' not handled in switch [-Wswitch-enum]
- 6667 |  switch(n->type) {
-      |  ^~~~~~
-eval.c:6667:2: warning: enumeration value 'GEL_SET_NODE' not handled in switch [-Wswitch-enum]
-eval.c:6667:2: warning: enumeration value 'GEL_OPERATOR_NODE' not handled in switch [-Wswitch-enum]
-eval.c:6667:2: warning: enumeration value 'GEL_COMPARISON_NODE' not handled in switch [-Wswitch-enum]
-eval.c:6667:2: warning: enumeration value 'GEL_USERTYPE_NODE' not handled in switch [-Wswitch-enum]
-eval.c:6667:2: warning: enumeration value 'GEL_MATRIX_ROW_NODE' not handled in switch [-Wswitch-enum]
-eval.c:6667:2: warning: enumeration value 'GEL_MATRIX_START_NODE' not handled in switch [-Wswitch-enum]
-eval.c:6667:2: warning: enumeration value 'GEL_EXPRLIST_START_NODE' not handled in switch [-Wswitch-enum]
-eval.c:6667:2: warning: enumeration value 'GEL_SPACER_NODE' not handled in switch [-Wswitch-enum]
-eval.c:6667:2: warning: enumeration value 'GEL_LOCAL_NODE' not handled in switch [-Wswitch-enum]
-calc.c: In function 'do_exec_commands':
-calc.c:3155:26: warning: cast between incompatible function types from 'void (*)(void *)' to 'void (*)(void *, void *)' [-Wcast-function-type]
- 3155 |   g_slist_foreach (list, (GFunc)g_free, NULL);
-      |                          ^
-eval.c: In function 'iter_eval_etree':
-calc.c:3166:26: warning: cast between incompatible function types from 'void (*)(void *)' to 'void (*)(void *, void *)' [-Wcast-function-type]
- 3166 |   g_slist_foreach (list, (GFunc)g_free, NULL);
-      |                          ^
-eval.c:7593:3: warning: enumeration value 'GEL_SET_NODE' not handled in switch [-Wswitch-enum]
- 7593 |   switch(n->type) {
-      |   ^~~~~~
-eval.c:7593:3: warning: enumeration value 'GEL_POLYNOMIAL_NODE' not handled in switch [-Wswitch-enum]
-eval.c:7593:3: warning: enumeration value 'GEL_MATRIX_ROW_NODE' not handled in switch [-Wswitch-enum]
-eval.c:7593:3: warning: enumeration value 'GEL_MATRIX_START_NODE' not handled in switch [-Wswitch-enum]
-eval.c:7593:3: warning: enumeration value 'GEL_EXPRLIST_START_NODE' not handled in switch [-Wswitch-enum]
-eval.c:7593:3: warning: enumeration value 'GEL_SPACER_NODE' not handled in switch [-Wswitch-enum]
-eval.c:7593:3: warning: enumeration value 'GEL_LOCAL_NODE' not handled in switch [-Wswitch-enum]
-calc.c:3264:26: warning: cast between incompatible function types from 'void (*)(void *)' to 'void (*)(void *, void *)' [-Wcast-function-type]
- 3264 |   g_slist_foreach (list, (GFunc)g_free, NULL);
-      |                          ^
-gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o mpwrap.o mpwrap.c
-gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o mpzextra.o mpzextra.c
+eval.c: In function 'polynomial_add_sub_op':
+eval.c:2414:12: warning: this condition has identical branches [-Wduplicated-branches]
+ 2414 |  } else if (r->type == GEL_VALUE_NODE) {
+      |            ^
 In file included from funclib.c:36:
 funclib.c: In function 'I_op':
 matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
@@ -4191,6 +4207,22 @@
 funclib.c:3401:4: note: in expansion of macro 'gel_matrixw_set_index'
  3401 |    gel_matrixw_set_index (m, i, i) =
       |    ^~~~~~~~~~~~~~~~~~~~~
+eval.c: In function 'gel_isnodetrue':
+eval.c:2478:2: warning: enumeration value 'GEL_MATRIX_NODE' not handled in switch [-Wswitch-enum]
+ 2478 |  switch (n->type) {
+      |  ^~~~~~
+eval.c:2478:2: warning: enumeration value 'GEL_SET_NODE' not handled in switch [-Wswitch-enum]
+eval.c:2478:2: warning: enumeration value 'GEL_POLYNOMIAL_NODE' not handled in switch [-Wswitch-enum]
+eval.c:2478:2: warning: enumeration value 'GEL_OPERATOR_NODE' not handled in switch [-Wswitch-enum]
+eval.c:2478:2: warning: enumeration value 'GEL_IDENTIFIER_NODE' not handled in switch [-Wswitch-enum]
+eval.c:2478:2: warning: enumeration value 'GEL_FUNCTION_NODE' not handled in switch [-Wswitch-enum]
+eval.c:2478:2: warning: enumeration value 'GEL_COMPARISON_NODE' not handled in switch [-Wswitch-enum]
+eval.c:2478:2: warning: enumeration value 'GEL_USERTYPE_NODE' not handled in switch [-Wswitch-enum]
+eval.c:2478:2: warning: enumeration value 'GEL_MATRIX_ROW_NODE' not handled in switch [-Wswitch-enum]
+eval.c:2478:2: warning: enumeration value 'GEL_MATRIX_START_NODE' not handled in switch [-Wswitch-enum]
+eval.c:2478:2: warning: enumeration value 'GEL_EXPRLIST_START_NODE' not handled in switch [-Wswitch-enum]
+eval.c:2478:2: warning: enumeration value 'GEL_SPACER_NODE' not handled in switch [-Wswitch-enum]
+eval.c:2478:2: warning: enumeration value 'GEL_LOCAL_NODE' not handled in switch [-Wswitch-enum]
 matrixw.h:121:59: warning: this condition has identical branches [-Wduplicated-branches]
   121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
       |                                                           ^
@@ -4200,6 +4232,16 @@
 funclib.c:3401:4: note: in expansion of macro 'gel_matrixw_set_index'
  3401 |    gel_matrixw_set_index (m, i, i) =
       |    ^~~~~~~~~~~~~~~~~~~~~
+calc.c: In function 'do_exec_commands':
+calc.c:3155:26: warning: cast between incompatible function types from 'void (*)(void *)' to 'void (*)(void *, void *)' [-Wcast-function-type]
+ 3155 |   g_slist_foreach (list, (GFunc)g_free, NULL);
+      |                          ^
+calc.c:3166:26: warning: cast between incompatible function types from 'void (*)(void *)' to 'void (*)(void *, void *)' [-Wcast-function-type]
+ 3166 |   g_slist_foreach (list, (GFunc)g_free, NULL);
+      |                          ^
+calc.c:3264:26: warning: cast between incompatible function types from 'void (*)(void *)' to 'void (*)(void *, void *)' [-Wcast-function-type]
+ 3264 |   g_slist_foreach (list, (GFunc)g_free, NULL);
+      |                          ^
 funclib.c: In function 'Factorize_op':
 matrixw.h:120:18: warning: operand of '?:' changes signedness from 'int' to 'guint' {aka 'unsigned int'} due to unsignedness of other operand [-Wsign-compare]
   120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
@@ -4237,6 +4279,20 @@
 funclib.c:4764:3: note: in expansion of macro 'gel_matrixw_set_index'
  4764 |   gel_matrixw_set_index (mn, i, 1) = gel_makenum_ui (f.exp);
       |   ^~~~~~~~~~~~~~~~~~~~~
+gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o mpwrap.o mpwrap.c
+eval.c: In function 'iter_get_arg':
+eval.c:6667:2: warning: enumeration value 'GEL_NULL_NODE' not handled in switch [-Wswitch-enum]
+ 6667 |  switch(n->type) {
+      |  ^~~~~~
+eval.c:6667:2: warning: enumeration value 'GEL_SET_NODE' not handled in switch [-Wswitch-enum]
+eval.c:6667:2: warning: enumeration value 'GEL_OPERATOR_NODE' not handled in switch [-Wswitch-enum]
+eval.c:6667:2: warning: enumeration value 'GEL_COMPARISON_NODE' not handled in switch [-Wswitch-enum]
+eval.c:6667:2: warning: enumeration value 'GEL_USERTYPE_NODE' not handled in switch [-Wswitch-enum]
+eval.c:6667:2: warning: enumeration value 'GEL_MATRIX_ROW_NODE' not handled in switch [-Wswitch-enum]
+eval.c:6667:2: warning: enumeration value 'GEL_MATRIX_START_NODE' not handled in switch [-Wswitch-enum]
+eval.c:6667:2: warning: enumeration value 'GEL_EXPRLIST_START_NODE' not handled in switch [-Wswitch-enum]
+eval.c:6667:2: warning: enumeration value 'GEL_SPACER_NODE' not handled in switch [-Wswitch-enum]
+eval.c:6667:2: warning: enumeration value 'GEL_LOCAL_NODE' not handled in switch [-Wswitch-enum]
 funclib.c: In function 'AskButtons_op':
 funclib.c:6630:30: warning: cast between incompatible function types from 'void (*)(void *)' to 'void (*)(void *, void *)' [-Wcast-function-type]
  6630 |    g_slist_foreach (buttons, (GFunc)g_free, NULL);
@@ -4244,6 +4300,17 @@
 funclib.c:6640:28: warning: cast between incompatible function types from 'void (*)(void *)' to 'void (*)(void *, void *)' [-Wcast-function-type]
  6640 |  g_slist_foreach (buttons, (GFunc)g_free, NULL);
       |                            ^
+eval.c: In function 'iter_eval_etree':
+eval.c:7593:3: warning: enumeration value 'GEL_SET_NODE' not handled in switch [-Wswitch-enum]
+ 7593 |   switch(n->type) {
+      |   ^~~~~~
+eval.c:7593:3: warning: enumeration value 'GEL_POLYNOMIAL_NODE' not handled in switch [-Wswitch-enum]
+eval.c:7593:3: warning: enumeration value 'GEL_MATRIX_ROW_NODE' not handled in switch [-Wswitch-enum]
+eval.c:7593:3: warning: enumeration value 'GEL_MATRIX_START_NODE' not handled in switch [-Wswitch-enum]
+eval.c:7593:3: warning: enumeration value 'GEL_EXPRLIST_START_NODE' not handled in switch [-Wswitch-enum]
+eval.c:7593:3: warning: enumeration value 'GEL_SPACER_NODE' not handled in switch [-Wswitch-enum]
+eval.c:7593:3: warning: enumeration value 'GEL_LOCAL_NODE' not handled in switch [-Wswitch-enum]
+gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o mpzextra.o mpzextra.c
 mpwrap.c: In function 'str_format_float':
 mpwrap.c:2891:40: warning: absolute value function 'abs' given an argument of type 'long int' but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
  2891 |    p = g_realloc (p, len+2+((int)log10(abs(e))+2)+1);
@@ -4279,6 +4346,7 @@
 gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o matrix.o matrix.c
 gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o matrixw.o matrixw.c
 gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o matop.o matop.c
+gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o compil.o compil.c
 In file included from matrixw.c:36:
 matrixw.c: In function 'gel_matrixw_diagonalof':
 matrixw.h:127:39: warning: this condition has identical branches [-Wduplicated-branches]
@@ -4326,6 +4394,36 @@
 matop.c:734:18: note: in expansion of macro 'gel_matrixw_get_index'
   734 |    GelETree *t = gel_matrixw_get_index(mm,i,i);
       |                  ^~~~~~~~~~~~~~~~~~~~~
+In file included from compil.c:33:
+matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
+  137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:140:13: warning: Deprecated pre-processor symbol, replace with 
+  140 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+matrixw.h:148:13: warning: Deprecated pre-processor symbol, replace with 
+  148 | G_INLINE_FUNC GelETree *gel_matrixw_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:151:13: warning: Deprecated pre-processor symbol, replace with 
+  151 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+matrixw.h:167:13: warning: Deprecated pre-processor symbol, replace with 
+  167 | G_INLINE_FUNC GelETree *gel_matrixw_get_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:170:13: warning: Deprecated pre-processor symbol, replace with 
+  170 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+compil.c: In function 'gel_compile_node':
+compil.c:99:2: warning: enumeration value 'GEL_SET_NODE' not handled in switch [-Wswitch-enum]
+   99 |  switch(t->type) {
+      |  ^~~~~~
+compil.c:99:2: warning: enumeration value 'GEL_POLYNOMIAL_NODE' not handled in switch [-Wswitch-enum]
+compil.c:99:2: warning: enumeration value 'GEL_USERTYPE_NODE' not handled in switch [-Wswitch-enum]
+compil.c:99:2: warning: enumeration value 'GEL_MATRIX_ROW_NODE' not handled in switch [-Wswitch-enum]
+compil.c:99:2: warning: enumeration value 'GEL_MATRIX_START_NODE' not handled in switch [-Wswitch-enum]
+compil.c:99:2: warning: enumeration value 'GEL_EXPRLIST_START_NODE' not handled in switch [-Wswitch-enum]
+compil.c:99:2: warning: enumeration value 'GEL_SPACER_NODE' not handled in switch [-Wswitch-enum]
+compil.c:99:2: warning: enumeration value 'GEL_LOCAL_NODE' not handled in switch [-Wswitch-enum]
 eval.c: In function 'string_concat':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
@@ -4403,7 +4501,6 @@
 eval.c:2607:1: note: in expansion of macro 'PRIM_NUM_FUNC_2'
  2607 | PRIM_NUM_FUNC_2(numerical_mod,mpw_mod)
       | ^~~~~~~~~~~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o compil.o compil.c
 eval.c: In function 'numerical_back_div':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
@@ -4556,6 +4653,38 @@
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c: In function 'mpwl_cos':
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:2353:4: note: called from here
+ 2353 |    mpwl_clear(rop);   \
+      |    ^~~~~~~~~~~~~~~
+mpwrap.c:2369:1: note: in expansion of macro 'DEFINE_SIMPLE_MPWL_MPFR'
+ 2369 | DEFINE_SIMPLE_MPWL_MPFR (mpwl_cos, mpfr_cos)
+      | ^~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:892:2: note: called from here
+  892 |  mpwl_clear (rop);
+      |  ^~~~~~~~~~~~~~~~
+mpwrap.c: In function 'mpwl_sinh':
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:2353:4: note: called from here
+ 2353 |    mpwl_clear(rop);   \
+      |    ^~~~~~~~~~~~~~~
+mpwrap.c:2372:1: note: in expansion of macro 'DEFINE_SIMPLE_MPWL_MPFR'
+ 2372 | DEFINE_SIMPLE_MPWL_MPFR (mpwl_sinh, mpfr_sinh)
+      | ^~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:892:2: note: called from here
+  892 |  mpwl_clear (rop);
+      |  ^~~~~~~~~~~~~~~~
 eval.c: In function 'iter_get_region':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
@@ -4569,6 +4698,23 @@
 eval.c:6657:3: note: called from here
  6657 |   freetree_full (n, TRUE, FALSE);
       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o lexer.o lexer.c
+mpwrap.c: In function 'mpwl_cosh':
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:2353:4: note: called from here
+ 2353 |    mpwl_clear(rop);   \
+      |    ^~~~~~~~~~~~~~~
+mpwrap.c:2371:1: note: in expansion of macro 'DEFINE_SIMPLE_MPWL_MPFR'
+ 2371 | DEFINE_SIMPLE_MPWL_MPFR (mpwl_cosh, mpfr_cosh)
+      | ^~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:892:2: note: called from here
+  892 |  mpwl_clear (rop);
+      |  ^~~~~~~~~~~~~~~~
 eval.c: In function 'logicalnotop':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
@@ -4638,36 +4784,38 @@
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from compil.c:33:
-matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
-  137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:140:13: warning: Deprecated pre-processor symbol, replace with 
-  140 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-matrixw.h:148:13: warning: Deprecated pre-processor symbol, replace with 
-  148 | G_INLINE_FUNC GelETree *gel_matrixw_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:151:13: warning: Deprecated pre-processor symbol, replace with 
-  151 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-matrixw.h:167:13: warning: Deprecated pre-processor symbol, replace with 
-  167 | G_INLINE_FUNC GelETree *gel_matrixw_get_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:170:13: warning: Deprecated pre-processor symbol, replace with 
-  170 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-compil.c: In function 'gel_compile_node':
-compil.c:99:2: warning: enumeration value 'GEL_SET_NODE' not handled in switch [-Wswitch-enum]
-   99 |  switch(t->type) {
-      |  ^~~~~~
-compil.c:99:2: warning: enumeration value 'GEL_POLYNOMIAL_NODE' not handled in switch [-Wswitch-enum]
-compil.c:99:2: warning: enumeration value 'GEL_USERTYPE_NODE' not handled in switch [-Wswitch-enum]
-compil.c:99:2: warning: enumeration value 'GEL_MATRIX_ROW_NODE' not handled in switch [-Wswitch-enum]
-compil.c:99:2: warning: enumeration value 'GEL_MATRIX_START_NODE' not handled in switch [-Wswitch-enum]
-compil.c:99:2: warning: enumeration value 'GEL_EXPRLIST_START_NODE' not handled in switch [-Wswitch-enum]
-compil.c:99:2: warning: enumeration value 'GEL_SPACER_NODE' not handled in switch [-Wswitch-enum]
-compil.c:99:2: warning: enumeration value 'GEL_LOCAL_NODE' not handled in switch [-Wswitch-enum]
+mpwrap.c: In function 'mpwl_exp':
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:2353:4: note: called from here
+ 2353 |    mpwl_clear(rop);   \
+      |    ^~~~~~~~~~~~~~~
+mpwrap.c:2368:1: note: in expansion of macro 'DEFINE_SIMPLE_MPWL_MPFR'
+ 2368 | DEFINE_SIMPLE_MPWL_MPFR (mpwl_exp, mpfr_exp)
+      | ^~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:892:2: note: called from here
+  892 |  mpwl_clear (rop);
+      |  ^~~~~~~~~~~~~~~~
+mpwrap.c: In function 'mpwl_arctan':
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:2353:4: note: called from here
+ 2353 |    mpwl_clear(rop);   \
+      |    ^~~~~~~~~~~~~~~
+mpwrap.c:2373:1: note: in expansion of macro 'DEFINE_SIMPLE_MPWL_MPFR'
+ 2373 | DEFINE_SIMPLE_MPWL_MPFR (mpwl_arctan, mpfr_atan)
+      | ^~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:892:2: note: called from here
+  892 |  mpwl_clear (rop);
+      |  ^~~~~~~~~~~~~~~~
 eval.c: In function 'try_to_precalc_op':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
@@ -4675,6 +4823,59 @@
 eval.c:8297:2: note: called from here
  8297 |  freetree_full(n,TRUE,FALSE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c: In function 'mpwl_sin':
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:2353:4: note: called from here
+ 2353 |    mpwl_clear(rop);   \
+      |    ^~~~~~~~~~~~~~~
+mpwrap.c:2370:1: note: in expansion of macro 'DEFINE_SIMPLE_MPWL_MPFR'
+ 2370 | DEFINE_SIMPLE_MPWL_MPFR (mpwl_sin, mpfr_sin)
+      | ^~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:892:2: note: called from here
+  892 |  mpwl_clear (rop);
+      |  ^~~~~~~~~~~~~~~~
+In file included from lexer.l:33:
+y.tab.h:213:5: warning: redundant redeclaration of 'yyparse' [-Wredundant-decls]
+In file included from lexer.l:32:
+calc.h:76:5: note: previous declaration of 'yyparse' was here
+   76 | int yyparse(void);
+      |     ^~~~~~~
+lexer.c:999:12: warning: redundant redeclaration of 'yylex' [-Wredundant-decls]
+  999 | extern int yylex (void);
+      |            ^~~~~
+lexer.l:50:5: note: previous declaration of 'yylex' was here
+   50 | int yylex(void);
+      |     ^~~~~
+lexer.c: In function 'yylex':
+lexer.c:1893:8: warning: switch missing default case [-Wswitch-default]
+ 1893 |   else switch ( yy_get_next_buffer(  ) )
+      |        ^~~~~~
+lexer.c: In function 'input':
+lexer.c:2189:4: warning: switch missing default case [-Wswitch-default]
+ 2189 |    switch ( yy_get_next_buffer(  ) )
+      |    ^~~~~~
+mpwrap.c: In function 'mpwl_sub_ui':
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:1144:4: note: called from here
+ 1144 |    mpwl_clear(rop);
+      |    ^~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:1154:5: note: called from here
+ 1154 |     mpwl_clear(rop);
+      |     ^~~~~~~~~~~~~~~
+At top level:
+lexer.c:2123:17: warning: 'yyunput' defined but not used [-Wunused-function]
+ 2123 |     static void yyunput (int c, char * yy_bp )
+      |                 ^~~~~~~
 eval.c: In function 'gel_freetree':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
@@ -4706,6 +4907,37 @@
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c: In function 'mpwl_div':
+mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
+  640 | mpwl_init_type(MpwRealNum *op,int type)
+      | ^~~~~~~~~~~~~~
+mpwrap.c:1335:4: note: called from here
+ 1335 |    mpwl_init_type(rop,op1->type);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:1334:4: note: called from here
+ 1334 |    mpwl_clear(rop);
+      |    ^~~~~~~~~~~~~~~
+mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
+  640 | mpwl_init_type(MpwRealNum *op,int type)
+      | ^~~~~~~~~~~~~~
+mpwrap.c:1356:3: note: called from here
+ 1356 |   mpwl_init_type (&r, t);
+      |   ^~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
+  640 | mpwl_init_type(MpwRealNum *op,int type)
+      | ^~~~~~~~~~~~~~
+mpwrap.c:1368:3: note: called from here
+ 1368 |   mpwl_init_type (&r, t);
+      |   ^~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:892:2: note: called from here
+  892 |  mpwl_clear (rop);
+      |  ^~~~~~~~~~~~~~~~
 eval.c: In function 'gel_emptytree':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
@@ -4737,6 +4969,25 @@
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c: In function 'mpwl_div_ui':
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:1404:4: note: called from here
+ 1404 |    mpwl_clear(rop);
+      |    ^~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:1412:4: note: called from here
+ 1412 |    mpwl_clear(rop);
+      |    ^~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:892:2: note: called from here
+  892 |  mpwl_clear (rop);
+      |  ^~~~~~~~~~~~~~~~
 eval.c: In function 'logicalxorop':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
@@ -4765,6 +5016,46 @@
 eval.c:2637:2: note: called from here
  2637 |  freetree_full (n, TRUE, FALSE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c: In function 'mpwl_mul':
+mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
+  640 | mpwl_init_type(MpwRealNum *op,int type)
+      | ^~~~~~~~~~~~~~
+mpwrap.c:1217:4: note: called from here
+ 1217 |    mpwl_init_type (rop, op1->type);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:1216:4: note: called from here
+ 1216 |    mpwl_clear (rop);
+      |    ^~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:892:2: note: called from here
+  892 |  mpwl_clear (rop);
+      |  ^~~~~~~~~~~~~~~~
+gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o parseutil.o parseutil.c
+gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o inter.o inter.c
+mpwrap.c: In function 'mpwl_add':
+mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
+  640 | mpwl_init_type(MpwRealNum *op,int type)
+      | ^~~~~~~~~~~~~~
+mpwrap.c:934:4: note: called from here
+  934 |    mpwl_init_type (rop, op1->type);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:933:4: note: called from here
+  933 |    mpwl_clear (rop);
+      |    ^~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:892:2: note: called from here
+  892 |  mpwl_clear (rop);
+      |  ^~~~~~~~~~~~~~~~
 eval.c: In function 'evalcomp':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
@@ -4901,6 +5192,48 @@
 eval.c:3781:2: note: in expansion of macro 'RET_RES'
  3781 |  RET_RES(1)
       |  ^~~~~~~
+In file included from parseutil.c:33:
+matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
+  137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:140:13: warning: Deprecated pre-processor symbol, replace with 
+  140 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+matrixw.h:148:13: warning: Deprecated pre-processor symbol, replace with 
+  148 | G_INLINE_FUNC GelETree *gel_matrixw_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:151:13: warning: Deprecated pre-processor symbol, replace with 
+  151 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+matrixw.h:167:13: warning: Deprecated pre-processor symbol, replace with 
+  167 | G_INLINE_FUNC GelETree *gel_matrixw_get_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:170:13: warning: Deprecated pre-processor symbol, replace with 
+  170 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+mpwrap.c: In function 'mpwl_sub':
+mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
+  640 | mpwl_init_type(MpwRealNum *op,int type)
+      | ^~~~~~~~~~~~~~
+mpwrap.c:1057:4: note: called from here
+ 1057 |    mpwl_init_type (rop, op1->type);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:1056:4: note: called from here
+ 1056 |    mpwl_clear (rop);
+      |    ^~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:892:2: note: called from here
+  892 |  mpwl_clear (rop);
+      |  ^~~~~~~~~~~~~~~~
+calc.c: In function 'gel_evalexp_parsed.part.0':
+calc.c:3515:19: warning: null pointer dereference [-Wnull-dereference]
+ 3515 |    GelEFunc *rf = d_lookup_global(t->id.id);
+      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
 eval.c: In function 'gel_get_local_node':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
@@ -4926,6 +5259,7 @@
 eval.c:560:4: warning: null pointer dereference [-Wnull-dereference]
   560 |    g_slist_free(n->id.id->refs);
       |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o examples.o examples.c
 eval.c: In function 'gel_fixup_num_neg':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
@@ -4940,88 +5274,28 @@
 eval.c:817:2: note: called from here
   817 |  freetree_full(to,TRUE,FALSE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c: In function 'mpwl_cos':
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o lexer.o lexer.c
-mpwrap.c:2353:4: note: called from here
- 2353 |    mpwl_clear(rop);   \
-      |    ^~~~~~~~~~~~~~~
-mpwrap.c:2369:1: note: in expansion of macro 'DEFINE_SIMPLE_MPWL_MPFR'
- 2369 | DEFINE_SIMPLE_MPWL_MPFR (mpwl_cos, mpfr_cos)
-      | ^~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:892:2: note: called from here
-  892 |  mpwl_clear (rop);
-      |  ^~~~~~~~~~~~~~~~
-mpwrap.c: In function 'mpwl_sinh':
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:2353:4: note: called from here
- 2353 |    mpwl_clear(rop);   \
-      |    ^~~~~~~~~~~~~~~
-mpwrap.c:2372:1: note: in expansion of macro 'DEFINE_SIMPLE_MPWL_MPFR'
- 2372 | DEFINE_SIMPLE_MPWL_MPFR (mpwl_sinh, mpfr_sinh)
-      | ^~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:892:2: note: called from here
-  892 |  mpwl_clear (rop);
-      |  ^~~~~~~~~~~~~~~~
-mpwrap.c: In function 'mpwl_cosh':
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:2353:4: note: called from here
- 2353 |    mpwl_clear(rop);   \
-      |    ^~~~~~~~~~~~~~~
-mpwrap.c:2371:1: note: in expansion of macro 'DEFINE_SIMPLE_MPWL_MPFR'
- 2371 | DEFINE_SIMPLE_MPWL_MPFR (mpwl_cosh, mpfr_cosh)
-      | ^~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:892:2: note: called from here
-  892 |  mpwl_clear (rop);
-      |  ^~~~~~~~~~~~~~~~
-mpwrap.c: In function 'mpwl_exp':
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:2353:4: note: called from here
- 2353 |    mpwl_clear(rop);   \
-      |    ^~~~~~~~~~~~~~~
-mpwrap.c:2368:1: note: in expansion of macro 'DEFINE_SIMPLE_MPWL_MPFR'
- 2368 | DEFINE_SIMPLE_MPWL_MPFR (mpwl_exp, mpfr_exp)
-      | ^~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c: In function 'mpwl_numerator':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
       | ^~~~~~~~~~
-mpwrap.c:892:2: note: called from here
-  892 |  mpwl_clear (rop);
-      |  ^~~~~~~~~~~~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o parseutil.o parseutil.c
-mpwrap.c: In function 'mpwl_arctan':
+mpwrap.c:2684:5: note: called from here
+ 2684 |     mpwl_clear(rop);
+      |     ^~~~~~~~~~~~~~~
+mpwrap.c: In function 'mpwl_set_si':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
       | ^~~~~~~~~~
-mpwrap.c:2353:4: note: called from here
- 2353 |    mpwl_clear(rop);   \
-      |    ^~~~~~~~~~~~~~~
-mpwrap.c:2373:1: note: in expansion of macro 'DEFINE_SIMPLE_MPWL_MPFR'
- 2373 | DEFINE_SIMPLE_MPWL_MPFR (mpwl_arctan, mpfr_atan)
-      | ^~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:855:3: note: called from here
+  855 |   mpwl_clear(rop);
+      |   ^~~~~~~~~~~~~~~
+mpwrap.c: In function 'mpwl_denominator':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
       | ^~~~~~~~~~
-mpwrap.c:892:2: note: called from here
-  892 |  mpwl_clear (rop);
-      |  ^~~~~~~~~~~~~~~~
+gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o plugin.o plugin.c
+mpwrap.c:2712:5: note: called from here
+ 2712 |     mpwl_clear(rop);
+      |     ^~~~~~~~~~~~~~~
 eval.c: In function 'gel_makeoperator':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
@@ -5047,65 +5321,12 @@
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from lexer.l:33:
+In file included from examples.c:48:
 y.tab.h:213:5: warning: redundant redeclaration of 'yyparse' [-Wredundant-decls]
-In file included from lexer.l:32:
+In file included from examples.c:40:
 calc.h:76:5: note: previous declaration of 'yyparse' was here
    76 | int yyparse(void);
       |     ^~~~~~~
-lexer.c:999:12: warning: redundant redeclaration of 'yylex' [-Wredundant-decls]
-  999 | extern int yylex (void);
-      |            ^~~~~
-lexer.l:50:5: note: previous declaration of 'yylex' was here
-   50 | int yylex(void);
-      |     ^~~~~
-lexer.c: In function 'yylex':
-lexer.c:1893:8: warning: switch missing default case [-Wswitch-default]
- 1893 |   else switch ( yy_get_next_buffer(  ) )
-      |        ^~~~~~
-lexer.c: In function 'input':
-lexer.c:2189:4: warning: switch missing default case [-Wswitch-default]
- 2189 |    switch ( yy_get_next_buffer(  ) )
-      |    ^~~~~~
-mpwrap.c: In function 'mpwl_sin':
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:2353:4: note: called from here
- 2353 |    mpwl_clear(rop);   \
-      |    ^~~~~~~~~~~~~~~
-mpwrap.c:2370:1: note: in expansion of macro 'DEFINE_SIMPLE_MPWL_MPFR'
- 2370 | DEFINE_SIMPLE_MPWL_MPFR (mpwl_sin, mpfr_sin)
-      | ^~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:892:2: note: called from here
-  892 |  mpwl_clear (rop);
-      |  ^~~~~~~~~~~~~~~~
-At top level:
-lexer.c:2123:17: warning: 'yyunput' defined but not used [-Wunused-function]
- 2123 |     static void yyunput (int c, char * yy_bp )
-      |                 ^~~~~~~
-In file included from parseutil.c:33:
-matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
-  137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:140:13: warning: Deprecated pre-processor symbol, replace with 
-  140 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-matrixw.h:148:13: warning: Deprecated pre-processor symbol, replace with 
-  148 | G_INLINE_FUNC GelETree *gel_matrixw_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:151:13: warning: Deprecated pre-processor symbol, replace with 
-  151 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-matrixw.h:167:13: warning: Deprecated pre-processor symbol, replace with 
-  167 | G_INLINE_FUNC GelETree *gel_matrixw_get_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:170:13: warning: Deprecated pre-processor symbol, replace with 
-  170 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
 eval.c: In function 'matrix_absnegfac_op':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
@@ -5113,24 +5334,6 @@
 eval.c:817:2: note: called from here
   817 |  freetree_full(to,TRUE,FALSE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o inter.o inter.c
-mpwrap.c: In function 'mpwl_sub_ui':
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:1144:4: note: called from here
- 1144 |    mpwl_clear(rop);
-      |    ^~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:1154:5: note: called from here
- 1154 |     mpwl_clear(rop);
-      |     ^~~~~~~~~~~~~~~
-calc.c: In function 'gel_evalexp_parsed.part.0':
-calc.c:3515:19: warning: null pointer dereference [-Wnull-dereference]
- 3515 |    GelEFunc *rf = d_lookup_global(t->id.id);
-      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
 eval.c: In function 'oper_reshufle.part.0':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
@@ -5229,6 +5432,7 @@
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o plugread.o plugread.c
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
@@ -5238,6 +5442,13 @@
 eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
   814 | replacenode(GelETree *to, GelETree *from)
       | ^~~~~~~~~~~
+mpwrap.c: In function 'mpwl_pow':
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:2086:3: note: called from here
+ 2086 |   mpwl_clear (&r);
+      |   ^~~~~~~~~~~~~~~
 eval.c:8868:5: note: called from here
  8868 |     replacenode (n, l);
       |     ^~~~~~~~~~~~~~~~~~
@@ -5250,6 +5461,15 @@
 eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
   814 | replacenode(GelETree *to, GelETree *from)
       | ^~~~~~~~~~~
+mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
+  640 | mpwl_init_type(MpwRealNum *op,int type)
+      | ^~~~~~~~~~~~~~
+mpwrap.c:1831:4: note: called from here
+ 1831 |    mpwl_init_type (&n, MPW_INTEGER);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
 eval.c:8881:5: note: called from here
  8881 |     replacenode (n, r);
       |     ^~~~~~~~~~~~~~~~~~
@@ -5262,6 +5482,33 @@
 eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
   814 | replacenode(GelETree *to, GelETree *from)
       | ^~~~~~~~~~~
+mpwrap.c:1843:4: note: called from here
+ 1843 |    mpwl_clear (&n);
+      |    ^~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:1857:6: note: called from here
+ 1857 |      mpwl_clear (rop);
+      |      ^~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:1866:6: note: called from here
+ 1866 |      mpwl_clear (rop);
+      |      ^~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:1904:5: note: called from here
+ 1904 |     mpwl_clear (rop);
+      |     ^~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:1941:3: note: called from here
+ 1941 |   mpwl_clear (&r);
+      |   ^~~~~~~~~~~~~~~
 eval.c:8887:5: note: called from here
  8887 |     replacenode (n, l);
       |     ^~~~~~~~~~~~~~~~~~
@@ -5283,125 +5530,6 @@
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o examples.o examples.c
-mpwrap.c: In function 'mpwl_div':
-mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
-  640 | mpwl_init_type(MpwRealNum *op,int type)
-      | ^~~~~~~~~~~~~~
-mpwrap.c:1335:4: note: called from here
- 1335 |    mpwl_init_type(rop,op1->type);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:1334:4: note: called from here
- 1334 |    mpwl_clear(rop);
-      |    ^~~~~~~~~~~~~~~
-mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
-  640 | mpwl_init_type(MpwRealNum *op,int type)
-      | ^~~~~~~~~~~~~~
-mpwrap.c:1356:3: note: called from here
- 1356 |   mpwl_init_type (&r, t);
-      |   ^~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
-  640 | mpwl_init_type(MpwRealNum *op,int type)
-      | ^~~~~~~~~~~~~~
-mpwrap.c:1368:3: note: called from here
- 1368 |   mpwl_init_type (&r, t);
-      |   ^~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:892:2: note: called from here
-  892 |  mpwl_clear (rop);
-      |  ^~~~~~~~~~~~~~~~
-eval.c: In function 'function_finish_bin_op.constprop':
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:2753:2: note: called from here
- 2753 |  freetree_full (n, TRUE /* free args */, FALSE /* kill */);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o plugin.o plugin.c
-eval.c: In function 'gel_function_from_function':
-eval.c:4608:1: warning: inlining failed in call to 'get_func_from': --param max-inline-insns-single limit reached [-Winline]
- 4608 | get_func_from (GelETree *l, gboolean silent)
-      | ^~~~~~~~~~~~~
-eval.c:2890:6: note: called from here
- 2890 |  a = get_func_from (l, FALSE /* silent */);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from examples.c:48:
-y.tab.h:213:5: warning: redundant redeclaration of 'yyparse' [-Wredundant-decls]
-In file included from examples.c:40:
-calc.h:76:5: note: previous declaration of 'yyparse' was here
-   76 | int yyparse(void);
-      |     ^~~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o plugread.o plugread.c
-eval.c: In function 'function_bin_op':
-eval.c:4608:1: warning: inlining failed in call to 'get_func_from': --param max-inline-insns-single limit reached [-Winline]
- 4608 | get_func_from (GelETree *l, gboolean silent)
-      | ^~~~~~~~~~~~~
-eval.c:2770:6: note: called from here
- 2770 |  b = get_func_from (r, FALSE /* silent */);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:4608:1: warning: inlining failed in call to 'get_func_from': --param max-inline-insns-single limit reached [-Winline]
- 4608 | get_func_from (GelETree *l, gboolean silent)
-      | ^~~~~~~~~~~~~
-eval.c:2769:6: note: called from here
- 2769 |  a = get_func_from (l, FALSE /* silent */);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c: In function 'function_uni_op':
-eval.c:4608:1: warning: inlining failed in call to 'get_func_from': --param max-inline-insns-single limit reached [-Winline]
- 4608 | get_func_from (GelETree *l, gboolean silent)
-      | ^~~~~~~~~~~~~
-eval.c:2842:6: note: called from here
- 2842 |  a = get_func_from (l, FALSE /* silent */);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:2870:2: note: called from here
- 2870 |  freetree_full (n, TRUE /* free args */, FALSE /* kill */);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c: In function 'mpwl_div_ui':
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:1404:4: note: called from here
- 1404 |    mpwl_clear(rop);
-      |    ^~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:1412:4: note: called from here
- 1412 |    mpwl_clear(rop);
-      |    ^~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:892:2: note: called from here
-  892 |  mpwl_clear (rop);
-      |  ^~~~~~~~~~~~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o parse.o parse.c
-mpwrap.c: In function 'mpwl_mul':
-mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
-  640 | mpwl_init_type(MpwRealNum *op,int type)
-      | ^~~~~~~~~~~~~~
-mpwrap.c:1217:4: note: called from here
- 1217 |    mpwl_init_type (rop, op1->type);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:1216:4: note: called from here
- 1216 |    mpwl_clear (rop);
-      |    ^~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:892:2: note: called from here
-  892 |  mpwl_clear (rop);
-      |  ^~~~~~~~~~~~~~~~
 In file included from plugin.c:45:
 matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
   137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
@@ -5431,34 +5559,24 @@
 plugin.c:114:36: warning: cast between incompatible function types from 'void (*)(GelPlugin *)' {aka 'void (*)(struct _GelPlugin *)'} to 'void (*)(void *, void *)' [-Wcast-function-type]
   114 |  g_slist_foreach (gel_plugin_list, (GFunc)free_plugin, NULL);
       |                                    ^
+gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o parse.o parse.c
 gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o genius_lists.o genius_lists.c
-eval.c: In function 'iter_incrementop':
+gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o utype.o utype.c
+gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o geloutput.o geloutput.c
+eval.c: In function 'function_finish_bin_op.constprop':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
-eval.c:817:2: note: called from here
-  817 |  freetree_full(to,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c: In function 'mpwl_add':
-mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
-  640 | mpwl_init_type(MpwRealNum *op,int type)
-      | ^~~~~~~~~~~~~~
-mpwrap.c:934:4: note: called from here
-  934 |    mpwl_init_type (rop, op1->type);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:933:4: note: called from here
-  933 |    mpwl_clear (rop);
-      |    ^~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:892:2: note: called from here
-  892 |  mpwl_clear (rop);
-      |  ^~~~~~~~~~~~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o utype.o utype.c
+eval.c:2753:2: note: called from here
+ 2753 |  freetree_full (n, TRUE /* free args */, FALSE /* kill */);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c: In function 'gel_function_from_function':
+eval.c:4608:1: warning: inlining failed in call to 'get_func_from': --param max-inline-insns-single limit reached [-Winline]
+ 4608 | get_func_from (GelETree *l, gboolean silent)
+      | ^~~~~~~~~~~~~
+eval.c:2890:6: note: called from here
+ 2890 |  a = get_func_from (l, FALSE /* silent */);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 In file included from parse.y:33:
 matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
   137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
@@ -6050,6 +6168,13 @@
 parse.y:43:14: note: expected 'char *' but argument is of type 'const char *'
    43 | void yyerror(char *);
       |              ^~~~~~
+eval.c: In function 'function_bin_op':
+eval.c:4608:1: warning: inlining failed in call to 'get_func_from': --param max-inline-insns-single limit reached [-Winline]
+ 4608 | get_func_from (GelETree *l, gboolean silent)
+      | ^~~~~~~~~~~~~
+eval.c:2770:6: note: called from here
+ 2770 |  b = get_func_from (r, FALSE /* silent */);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 In file included from parse.y:35:
 parseutil.h:61:31: warning: passing argument 1 of 'yyerror' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    61 | #define SYNTAX_ERROR {yyerror("syntax error"); YYERROR;}
@@ -6221,6 +6346,9 @@
 parse.y:232:7: note: in expansion of macro 'PUSH_ACT'
   232 |  | WHILE expr DO expr { PUSH_ACT(GEL_E_WHILE_CONS); }
       |       ^~~~~~~~
+eval.c:4608:1: warning: inlining failed in call to 'get_func_from': --param max-inline-insns-single limit reached [-Winline]
+ 4608 | get_func_from (GelETree *l, gboolean silent)
+      | ^~~~~~~~~~~~~
 parse.y:43:14: note: expected 'char *' but argument is of type 'const char *'
    43 | void yyerror(char *);
       |              ^~~~~~
@@ -6328,6 +6456,9 @@
 parse.y:43:14: note: expected 'char *' but argument is of type 'const char *'
    43 | void yyerror(char *);
       |              ^~~~~~
+eval.c:2769:6: note: called from here
+ 2769 |  a = get_func_from (l, FALSE /* silent */);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 In file included from parse.y:35:
 parseutil.h:61:31: warning: passing argument 1 of 'yyerror' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    61 | #define SYNTAX_ERROR {yyerror("syntax error"); YYERROR;}
@@ -6458,6 +6589,13 @@
 parse.y:43:14: note: expected 'char *' but argument is of type 'const char *'
    43 | void yyerror(char *);
       |              ^~~~~~
+mpwrap.c: In function 'mpw_init_set':
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:669:2: note: called from here
+  669 |  mpwl_clear(op);
+      |  ^~~~~~~~~~~~~~
 In file included from parse.y:35:
 parseutil.h:61:31: warning: passing argument 1 of 'yyerror' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    61 | #define SYNTAX_ERROR {yyerror("syntax error"); YYERROR;}
@@ -6764,430 +6902,19 @@
 parse.y:43:14: note: expected 'char *' but argument is of type 'const char *'
    43 | void yyerror(char *);
       |              ^~~~~~
-mpwrap.c: In function 'mpwl_sub':
-mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
-  640 | mpwl_init_type(MpwRealNum *op,int type)
-      | ^~~~~~~~~~~~~~
-mpwrap.c:1057:4: note: called from here
- 1057 |    mpwl_init_type (rop, op1->type);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:1056:4: note: called from here
- 1056 |    mpwl_clear (rop);
-      |    ^~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:892:2: note: called from here
-  892 |  mpwl_clear (rop);
-      |  ^~~~~~~~~~~~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o geloutput.o geloutput.c
-In file included from utype.c:34:
-matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
-  137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:140:13: warning: Deprecated pre-processor symbol, replace with 
-  140 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-matrixw.h:148:13: warning: Deprecated pre-processor symbol, replace with 
-  148 | G_INLINE_FUNC GelETree *gel_matrixw_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:151:13: warning: Deprecated pre-processor symbol, replace with 
-  151 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-matrixw.h:167:13: warning: Deprecated pre-processor symbol, replace with 
-  167 | G_INLINE_FUNC GelETree *gel_matrixw_get_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-matrixw.h:170:13: warning: Deprecated pre-processor symbol, replace with 
-  170 | G_INLINE_FUNC GelETree *
-      |             ^~~~~~~~~~~~                                    
-mpwrap.c: In function 'mpwl_numerator':
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:2684:5: note: called from here
- 2684 |     mpwl_clear(rop);
-      |     ^~~~~~~~~~~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o graphing.o graphing.c
-mpwrap.c: In function 'mpwl_set_si':
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:855:3: note: called from here
-  855 |   mpwl_clear(rop);
-      |   ^~~~~~~~~~~~~~~
-mpwrap.c: In function 'mpwl_denominator':
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:2712:5: note: called from here
- 2712 |     mpwl_clear(rop);
-      |     ^~~~~~~~~~~~~~~
-eval.c: In function 'gel_copynode':
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c: In function 'iter_do_var':
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:845:2: note: called from here
-  845 |  copynode_to(to,from);
-      |  ^~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:844:2: note: called from here
-  844 |  freetree_full(to,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:3423:3: note: called from here
- 3423 |   freetree_full(n,TRUE,FALSE);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:3437:4: note: called from here
- 3437 |    freetree_full(n,TRUE,FALSE);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:3457:4: note: called from here
- 3457 |    replacenode(n,ret);
-      |    ^~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:3476:3: note: called from here
- 3476 |   freetree_full(n,TRUE,FALSE);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c: In function 'mpwl_pow':
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:2086:3: note: called from here
- 2086 |   mpwl_clear (&r);
-      |   ^~~~~~~~~~~~~~~
-mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
-  640 | mpwl_init_type(MpwRealNum *op,int type)
-      | ^~~~~~~~~~~~~~
-mpwrap.c:1831:4: note: called from here
- 1831 |    mpwl_init_type (&n, MPW_INTEGER);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:1843:4: note: called from here
- 1843 |    mpwl_clear (&n);
-      |    ^~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:1857:6: note: called from here
- 1857 |      mpwl_clear (rop);
-      |      ^~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:1866:6: note: called from here
- 1866 |      mpwl_clear (rop);
-      |      ^~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:1904:5: note: called from here
- 1904 |     mpwl_clear (rop);
-      |     ^~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:1941:3: note: called from here
- 1941 |   mpwl_clear (&r);
-      |   ^~~~~~~~~~~~~~~
-eval.c: In function 'gel_replacenode':
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:845:2: note: called from here
-  845 |  copynode_to(to,from);
-      |  ^~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:844:2: note: called from here
-  844 |  freetree_full(to,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:817:2: note: called from here
-  817 |  freetree_full(to,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c: In function 'something_function_bin_op':
-eval.c:4608:1: warning: inlining failed in call to 'get_func_from': --param max-inline-insns-single limit reached [-Winline]
- 4608 | get_func_from (GelETree *l, gboolean silent)
-      | ^~~~~~~~~~~~~
-eval.c:2818:6: note: called from here
- 2818 |  b = get_func_from (r, FALSE /* silent */);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o genius.o genius.c
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c: In function 'function_something_bin_op':
+eval.c: In function 'function_uni_op':
 eval.c:4608:1: warning: inlining failed in call to 'get_func_from': --param max-inline-insns-single limit reached [-Winline]
  4608 | get_func_from (GelETree *l, gboolean silent)
       | ^~~~~~~~~~~~~
-eval.c:2797:6: note: called from here
- 2797 |  a = get_func_from (l, FALSE /* silent */);
+eval.c:2842:6: note: called from here
+ 2842 |  a = get_func_from (l, FALSE /* silent */);
       |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c: In function '_gel_iter_set_velement':
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c: In function 'mod_node':
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:817:2: note: called from here
-  817 |  freetree_full(to,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o genius-readline-helper.o genius-readline-helper.c
-eval.c: In function 'matrix_pow_op':
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:2184:4: note: called from here
- 2184 |    freetree_full(n,TRUE,FALSE);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:2217:3: note: called from here
- 2217 |   freetree_full(n,TRUE,FALSE);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:2251:2: note: called from here
- 2251 |  freetree_full(n,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c: In function 'pure_matrix_div_op':
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:2338:2: note: called from here
- 2338 |  freetree_full(n,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c: In function 'value_matrix_div_op':
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:2400:2: note: called from here
- 2400 |  freetree_full(n,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c: In function 'iter_get_velement':
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:817:2: note: called from here
-  817 |  freetree_full(to,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:6507:3: note: called from here
- 6507 |   freetree_full (n, TRUE /* freeargs */, FALSE /* kill */);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:6512:3: note: called from here
- 6512 |   freetree_full (n, TRUE, FALSE);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:833:17: warning: potential null pointer dereference [-Wnull-dereference]
-  833 |  from->any.next = gel_free_trees;
-      |  ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
-eval.c: In function '_gel_iter_set_element':
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-genius-readline-helper.c: In function 'main':
-genius-readline-helper.c:194:28: warning: cast between incompatible function types from 'void (*)(void *)' to 'void (*)(void *, void *)' [-Wcast-function-type]
-  194 |     g_list_foreach(plugins,(GFunc)g_free,NULL);
-      |                            ^
-genius-readline-helper.c:211:30: warning: cast between incompatible function types from 'void (*)(void *)' to 'void (*)(void *, void *)' [-Wcast-function-type]
-  211 |     g_list_foreach(functions,(GFunc)g_free,NULL);
-      |                              ^
-eval.c: In function 'gel_expandmatrix':
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:1298:4: note: called from here
- 1298 |    replacenode (n, t);
-      |    ^~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:1302:4: note: called from here
- 1302 |    freetree_full (n, TRUE, FALSE);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
-eval.c:1254:2: note: called from here
- 1254 |  freetree_full (n, TRUE, FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:1329:3: note: called from here
- 1329 |   freetree_full (n, TRUE, FALSE);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:1349:4: note: called from here
- 1349 |    freetree_full (n, TRUE, FALSE);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:1399:2: note: called from here
- 1399 |  freetree_full (n, TRUE, FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c: In function 'mpw_init_set':
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:669:2: note: called from here
-  669 |  mpwl_clear(op);
-      |  ^~~~~~~~~~~~~~
+eval.c:2870:2: note: called from here
+ 2870 |  freetree_full (n, TRUE /* free args */, FALSE /* kill */);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_clear':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
@@ -7195,7 +6922,6 @@
 mpwrap.c:669:2: note: called from here
   669 |  mpwl_clear(op);
       |  ^~~~~~~~~~~~~~
-/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o testplugin.lo testplugin.c
 mpwrap.c: In function 'mpw_make_same_type':
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
@@ -7224,8 +6950,7 @@
 mpwrap.c:3313:3: note: in expansion of macro 'MAKE_COPY'
  3313 |   MAKE_COPY (op2->i);
       |   ^~~~~~~~~
-LC_ALL=C /usr/bin/intltool-merge  -d -u -c ../po/.intltool-merge-cache ../po gnome-genius.desktop.in gnome-genius.desktop
-In file included from graphing.c:41:
+In file included from utype.c:34:
 matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
   137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -7261,9 +6986,6 @@
 mpwrap.c:3346:3: note: in expansion of macro 'MAKE_REAL'
  3346 |   MAKE_REAL (rop);
       |   ^~~~~~~~~
-sed -e 's,\@libdir\@,/usr/lib/aarch64-linux-gnu,g' < ./test.plugin.in \
-  > test.plugin.tmp && mv -f test.plugin.tmp test.plugin
-/bin/bash ../libtool  --tag=CC   --mode=link gcc  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o genius-readline-helper-fifo genius_lists.o genius-readline-helper.o ../ve/libvicious.a -lm -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0  -lreadline -ltermcap -lmpfr 
 mpwrap.c: In function 'mpw_set_si':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
@@ -7283,110 +7005,8 @@
 mpwrap.c:3373:5: note: called from here
  3373 |     mpwl_free (rop->r);
       |     ^~~~~~~~~~~~~~~~~~
-In file included from matrixw.h:27,
-                 from graphing.c:41:
-graphing.c: In function 'make_matrix_from_limits':
-matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
-  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
-      |                                       ^
-matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                ^
-graphing.c:3509:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3509 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (defx1);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:120:59: warning: this condition has identical branches [-Wduplicated-branches]
-  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
-      |                                                           ^
-matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                ^
-graphing.c:3509:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3509 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (defx1);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:121:39: warning: this condition has identical branches [-Wduplicated-branches]
-  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
-      |                                       ^
-matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                    ^
-graphing.c:3509:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3509 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (defx1);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:121:59: warning: this condition has identical branches [-Wduplicated-branches]
-  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
-      |                                                           ^
-matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                    ^
-graphing.c:3509:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3509 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (defx1);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-graphing.c: In function 'make_matrix_from_lp_varnames':
-matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
-  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
-      |                                       ^
-matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                ^
-graphing.c:3531:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3531 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (lp_x_name);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:120:59: warning: this condition has identical branches [-Wduplicated-branches]
-  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
-      |                                                           ^
-matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                ^
-graphing.c:3531:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3531 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (lp_x_name);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:121:39: warning: this condition has identical branches [-Wduplicated-branches]
-  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
-      |                                       ^
-matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                    ^
-graphing.c:3531:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3531 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (lp_x_name);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:121:59: warning: this condition has identical branches [-Wduplicated-branches]
-  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
-      |                                                           ^
-matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                    ^
-graphing.c:3531:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3531 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (lp_x_name);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-graphing.c: In function 'make_matrix_from_sp_varnames':
-matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
-  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
-      |                                       ^
-matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                ^
-graphing.c:3553:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3553 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (sp_x_name);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:120:59: warning: this condition has identical branches [-Wduplicated-branches]
-  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
-      |                                                           ^
-matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                ^
-graphing.c:3553:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3553 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (sp_x_name);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:121:39: warning: this condition has identical branches [-Wduplicated-branches]
-  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
-      |                                       ^
-matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                    ^
-graphing.c:3553:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3553 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (sp_x_name);
-      |  ^~~~~~~~~~~~~~~~~~~~~
+gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o graphing.o graphing.c
+gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o genius.o genius.c
 mpwrap.c: In function 'mpw_set_ui':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
@@ -7406,89 +7026,6 @@
 mpwrap.c:3399:5: note: called from here
  3399 |     mpwl_free (rop->r);
       |     ^~~~~~~~~~~~~~~~~~
-matrixw.h:121:59: warning: this condition has identical branches [-Wduplicated-branches]
-  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
-      |                                                           ^
-matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                    ^
-graphing.c:3553:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3553 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (sp_x_name);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-graphing.c: In function 'make_matrix_from_limits_surf':
-matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
-  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
-      |                                       ^
-matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                ^
-graphing.c:3679:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3679 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (surf_defx1);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:120:59: warning: this condition has identical branches [-Wduplicated-branches]
-  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
-      |                                                           ^
-matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                ^
-graphing.c:3679:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3679 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (surf_defx1);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:121:39: warning: this condition has identical branches [-Wduplicated-branches]
-  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
-      |                                       ^
-matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                    ^
-graphing.c:3679:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3679 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (surf_defx1);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:121:59: warning: this condition has identical branches [-Wduplicated-branches]
-  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
-      |                                                           ^
-matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                    ^
-graphing.c:3679:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3679 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (surf_defx1);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-graphing.c: In function 'make_matrix_from_ticks':
-matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
-  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
-      |                                       ^
-matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                ^
-graphing.c:3755:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3755 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_si (v);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:120:59: warning: this condition has identical branches [-Wduplicated-branches]
-  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
-      |                                                           ^
-matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                ^
-graphing.c:3755:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3755 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_si (v);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:121:39: warning: this condition has identical branches [-Wduplicated-branches]
-  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
-      |                                       ^
-matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                    ^
-graphing.c:3755:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3755 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_si (v);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:121:59: warning: this condition has identical branches [-Wduplicated-branches]
-  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
-      |                                                           ^
-matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                    ^
-graphing.c:3755:2: note: in expansion of macro 'gel_matrixw_set_index'
- 3755 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_si (v);
-      |  ^~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_set_mpz_use':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
@@ -7502,10 +7039,6 @@
 mpwrap.c:669:2: note: called from here
   669 |  mpwl_clear(op);
       |  ^~~~~~~~~~~~~~
-graphing.c: In function 'replot_fields':
-graphing.c:4299:15: warning: implicit conversion from 'enum <anonymous>' to 'GtkPlotSymbolStyle' [-Wenum-conversion]
- 4299 |         0, 0, GTK_PLOT_SYMBOL_NONE);
-      |               ^~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_set_mpq_use':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
@@ -7519,6 +7052,13 @@
 mpwrap.c:669:2: note: called from here
   669 |  mpwl_clear(op);
       |  ^~~~~~~~~~~~~~
+eval.c: In function 'iter_incrementop':
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:817:2: note: called from here
+  817 |  freetree_full(to,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_set_mpf_use':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
@@ -7532,8 +7072,7 @@
 mpwrap.c:669:2: note: called from here
   669 |  mpwl_clear(op);
       |  ^~~~~~~~~~~~~~
-libtool: link: gcc -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed -o genius-readline-helper-fifo genius_lists.o genius-readline-helper.o -Wl,--export-dynamic -pthread  ../ve/libvicious.a -lm -lgmodule-2.0 -lglib-2.0 -lreadline -ltermcap -lmpfr -pthread
-libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -DGNOMELOCALEDIR=\"/usr/share/locale\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\"/usr/share\" -DLIBEXECDIR=\"/usr/lib/aarch64-linux-gnu/genius\" -DBUILDDIR=\"/build/genius-1.0.25\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2 -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c testplugin.c  -fPIC -DPIC -o .libs/testplugin.o
+gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o genius-readline-helper.o genius-readline-helper.c
 mpwrap.c: In function 'mpw_neg':
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
@@ -7571,82 +7110,6 @@
 mpwrap.c:3622:4: note: in expansion of macro 'MAKE_COPY'
  3622 |    MAKE_COPY (rop->i);
       |    ^~~~~~~~~
-In file included from matrixw.h:27,
-                 from graphing.c:41:
-graphing.c: In function 'LinePlotWaitForClick_op':
-matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
-  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
-      |                                       ^
-matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                ^
-graphing.c:8387:2: note: in expansion of macro 'gel_matrixw_set_index'
- 8387 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (click_x);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:120:59: warning: this condition has identical branches [-Wduplicated-branches]
-  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
-      |                                                           ^
-matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                ^
-graphing.c:8387:2: note: in expansion of macro 'gel_matrixw_set_index'
- 8387 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (click_x);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:121:39: warning: this condition has identical branches [-Wduplicated-branches]
-  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
-      |                                       ^
-matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                    ^
-graphing.c:8387:2: note: in expansion of macro 'gel_matrixw_set_index'
- 8387 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (click_x);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:121:59: warning: this condition has identical branches [-Wduplicated-branches]
-  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
-      |                                                           ^
-matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                    ^
-graphing.c:8387:2: note: in expansion of macro 'gel_matrixw_set_index'
- 8387 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (click_x);
-      |  ^~~~~~~~~~~~~~~~~~~~~
-graphing.c: In function 'LinePlotMouseLocation_op':
-matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
-  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
-      |                                       ^
-matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                ^
-graphing.c:8417:3: note: in expansion of macro 'gel_matrixw_set_index'
- 8417 |   gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (x);
-      |   ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:120:59: warning: this condition has identical branches [-Wduplicated-branches]
-  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
-      |                                                           ^
-matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                ^
-graphing.c:8417:3: note: in expansion of macro 'gel_matrixw_set_index'
- 8417 |   gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (x);
-      |   ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:121:39: warning: this condition has identical branches [-Wduplicated-branches]
-  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
-      |                                       ^
-matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                    ^
-graphing.c:8417:3: note: in expansion of macro 'gel_matrixw_set_index'
- 8417 |   gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (x);
-      |   ^~~~~~~~~~~~~~~~~~~~~
-matrixw.h:121:59: warning: this condition has identical branches [-Wduplicated-branches]
-  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
-      |                                                           ^
-matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
-   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
-      |                                                    ^
-graphing.c:8417:3: note: in expansion of macro 'gel_matrixw_set_index'
- 8417 |   gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (x);
-      |   ^~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_abs':
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
@@ -7675,6 +7138,13 @@
 mpwrap.c:3576:3: note: in expansion of macro 'MAKE_REAL'
  3576 |   MAKE_REAL (rop);
       |   ^~~~~~~~~
+genius-readline-helper.c: In function 'main':
+genius-readline-helper.c:194:28: warning: cast between incompatible function types from 'void (*)(void *)' to 'void (*)(void *, void *)' [-Wcast-function-type]
+  194 |     g_list_foreach(plugins,(GFunc)g_free,NULL);
+      |                            ^
+genius-readline-helper.c:211:30: warning: cast between incompatible function types from 'void (*)(void *)' to 'void (*)(void *, void *)' [-Wcast-function-type]
+  211 |     g_list_foreach(functions,(GFunc)g_free,NULL);
+      |                              ^
 mpwrap.c: In function 'mpw_add':
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
@@ -7730,6 +7200,56 @@
 mpwrap.c:3647:3: note: in expansion of macro 'mpw_uncomplex'
  3647 |   mpw_uncomplex(rop);
       |   ^~~~~~~~~~~~~
+eval.c: In function 'gel_copynode':
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c: In function 'iter_do_var':
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:845:2: note: called from here
+  845 |  copynode_to(to,from);
+      |  ^~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:844:2: note: called from here
+  844 |  freetree_full(to,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:3423:3: note: called from here
+ 3423 |   freetree_full(n,TRUE,FALSE);
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:3437:4: note: called from here
+ 3437 |    freetree_full(n,TRUE,FALSE);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:3457:4: note: called from here
+ 3457 |    replacenode(n,ret);
+      |    ^~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:3476:3: note: called from here
+ 3476 |   freetree_full(n,TRUE,FALSE);
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_add_ui':
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
@@ -7770,7 +7290,71 @@
 mpwrap.c:3665:4: note: in expansion of macro 'DEALLOC_MPWL'
  3665 |    DEALLOC_MPWL (rop->i);
       |    ^~~~~~~~~~~~
-/bin/bash ../libtool  --tag=CC   --mode=link gcc  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -module -avoid-version -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o libtestplugin.la -rpath /usr/lib/aarch64-linux-gnu/genius testplugin.lo  -lmpfr 
+eval.c: In function 'gel_replacenode':
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:845:2: note: called from here
+  845 |  copynode_to(to,from);
+      |  ^~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:844:2: note: called from here
+  844 |  freetree_full(to,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:817:2: note: called from here
+  817 |  freetree_full(to,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c: In function 'something_function_bin_op':
+eval.c:4608:1: warning: inlining failed in call to 'get_func_from': --param max-inline-insns-single limit reached [-Winline]
+ 4608 | get_func_from (GelETree *l, gboolean silent)
+      | ^~~~~~~~~~~~~
+eval.c:2818:6: note: called from here
+ 2818 |  b = get_func_from (r, FALSE /* silent */);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c: In function 'function_something_bin_op':
+eval.c:4608:1: warning: inlining failed in call to 'get_func_from': --param max-inline-insns-single limit reached [-Winline]
+ 4608 | get_func_from (GelETree *l, gboolean silent)
+      | ^~~~~~~~~~~~~
+eval.c:2797:6: note: called from here
+ 2797 |  a = get_func_from (l, FALSE /* silent */);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c: In function '_gel_iter_set_velement':
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c: In function 'mod_node':
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:817:2: note: called from here
+  817 |  freetree_full(to,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_sub':
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
@@ -7826,6 +7410,27 @@
 mpwrap.c:3694:3: note: in expansion of macro 'mpw_uncomplex'
  3694 |   mpw_uncomplex(rop);
       |   ^~~~~~~~~~~~~
+eval.c: In function 'matrix_pow_op':
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:2184:4: note: called from here
+ 2184 |    freetree_full(n,TRUE,FALSE);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:2217:3: note: called from here
+ 2217 |   freetree_full(n,TRUE,FALSE);
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:2251:2: note: called from here
+ 2251 |  freetree_full(n,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\""/usr/share"\" -DLIBEXECDIR=\""/usr/lib/aarch64-linux-gnu/genius"\" -DBUILDDIR=\""/build/genius-1.0.25"\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers   -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c -o testplugin.lo testplugin.c
+LC_ALL=C /usr/bin/intltool-merge  -d -u -c ../po/.intltool-merge-cache ../po gnome-genius.desktop.in gnome-genius.desktop
 mpwrap.c: In function 'mpw_sub_ui':
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
@@ -7851,6 +7456,20 @@
 mpwrap.c:669:2: note: called from here
   669 |  mpwl_clear(op);
       |  ^~~~~~~~~~~~~~
+eval.c: In function 'pure_matrix_div_op':
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:2338:2: note: called from here
+ 2338 |  freetree_full(n,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c: In function 'value_matrix_div_op':
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:2400:2: note: called from here
+ 2400 |  freetree_full(n,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_ui_sub':
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
@@ -7909,7 +7528,34 @@
 mpwrap.c:3737:4: note: in expansion of macro 'MAKE_COPY'
  3737 |    MAKE_COPY (rop->i);
       |    ^~~~~~~~~
-libtool: link: gcc -shared  -fPIC -DPIC  .libs/testplugin.o   -lmpfr  -g -O2 -fstack-protector-strong -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed   -Wl,-soname -Wl,libtestplugin.so -o .libs/libtestplugin.so
+eval.c: In function 'iter_get_velement':
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:817:2: note: called from here
+  817 |  freetree_full(to,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:6507:3: note: called from here
+ 6507 |   freetree_full (n, TRUE /* freeargs */, FALSE /* kill */);
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:6512:3: note: called from here
+ 6512 |   freetree_full (n, TRUE, FALSE);
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:833:17: warning: potential null pointer dereference [-Wnull-dereference]
+  833 |  from->any.next = gel_free_trees;
+      |  ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_mul':
 mpwrap.c:664:1: warning: inlining failed in call to 'mpwl_free': --param inline-unit-growth limit reached [-Winline]
   664 | mpwl_free(MpwRealNum *op)
@@ -7986,6 +7632,8 @@
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
       | ^~~~~~~~~~~~~~
+sed -e 's,\@libdir\@,/usr/lib/aarch64-linux-gnu,g' < ./test.plugin.in \
+  > test.plugin.tmp && mv -f test.plugin.tmp test.plugin
 mpwrap.c:121:3: note: called from here
   121 |   mpwl_init_type(THE_r,THE_op->r->type); \
       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -8055,14 +7703,34 @@
 mpwrap.c:3796:3: note: in expansion of macro 'BREAK_CPLX_OPS'
  3796 |   BREAK_CPLX_OPS(op2,r2,i2);
       |   ^~~~~~~~~~~~~~
-libtool: link: ( cd ".libs" && rm -f "libtestplugin.la" && ln -s "../libtestplugin.la" "libtestplugin.la" )
-eval.c: In function 'iter_equalsop':
+/bin/sh ../libtool  --tag=CC   --mode=link gcc  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o genius-readline-helper-fifo genius_lists.o genius-readline-helper.o ../ve/libvicious.a -lm -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0  -lreadline -ltermcap -lmpfr 
+eval.c: In function '_gel_iter_set_element':
 eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
   692 | copynode_to(GelETree *empty, GelETree *o)
       | ^~~~~~~~~~~
 eval.c:808:2: note: called from here
   808 |  copynode_to(n,o);
       |  ^~~~~~~~~~~~~~~~
+In file included from graphing.c:41:
+matrixw.h:137:13: warning: Deprecated pre-processor symbol, replace with 
+  137 | G_INLINE_FUNC GelETree *gel_matrixw_index(GelMatrixW *m, int x, int y) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:140:13: warning: Deprecated pre-processor symbol, replace with 
+  140 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+matrixw.h:148:13: warning: Deprecated pre-processor symbol, replace with 
+  148 | G_INLINE_FUNC GelETree *gel_matrixw_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:151:13: warning: Deprecated pre-processor symbol, replace with 
+  151 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+matrixw.h:167:13: warning: Deprecated pre-processor symbol, replace with 
+  167 | G_INLINE_FUNC GelETree *gel_matrixw_get_vindex(GelMatrixW *m, int i) G_GNUC_PURE;
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+matrixw.h:170:13: warning: Deprecated pre-processor symbol, replace with 
+  170 | G_INLINE_FUNC GelETree *
+      |             ^~~~~~~~~~~~                                    
+eval.c: In function 'gel_expandmatrix':
 eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
   692 | copynode_to(GelETree *empty, GelETree *o)
       | ^~~~~~~~~~~
@@ -8072,9 +7740,15 @@
 eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
   814 | replacenode(GelETree *to, GelETree *from)
       | ^~~~~~~~~~~
-eval.c:5731:5: note: called from here
- 5731 |     replacenode (n, ret);
-      |     ^~~~~~~~~~~~~~~~~~~~
+eval.c:1298:4: note: called from here
+ 1298 |    replacenode (n, t);
+      |    ^~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:1302:4: note: called from here
+ 1302 |    freetree_full (n, TRUE, FALSE);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
   692 | copynode_to(GelETree *empty, GelETree *o)
       | ^~~~~~~~~~~
@@ -8090,41 +7764,9 @@
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
-eval.c:817:2: note: called from here
-  817 |  freetree_full(to,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c: In function 'mpw_abs_sq':
-mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
-  640 | mpwl_init_type(MpwRealNum *op,int type)
-      | ^~~~~~~~~~~~~~
-mpwrap.c:189:3: note: called from here
-  189 |   mpwl_init_type(m,type);   \
-      |   ^~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c:3590:4: note: in expansion of macro 'MAKE_EMPTY'
- 3590 |    MAKE_EMPTY(rop->r, op->r->type);
-      |    ^~~~~~~~~~
-mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
-  640 | mpwl_init_type(MpwRealNum *op,int type)
-      | ^~~~~~~~~~~~~~
-mpwrap.c:178:3: note: called from here
-  178 |   mpwl_init_type(m,(n)->type);  \
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c:3592:4: note: in expansion of macro 'MAKE_COPY'
- 3592 |    MAKE_COPY (rop->r);
-      |    ^~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:669:2: note: called from here
-  669 |  mpwl_clear(op);
-      |  ^~~~~~~~~~~~~~
-eval.c: In function 'op_two_nodes':
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
+eval.c:1254:2: note: called from here
+ 1254 |  freetree_full (n, TRUE, FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
   692 | copynode_to(GelETree *empty, GelETree *o)
       | ^~~~~~~~~~~
@@ -8137,24 +7779,372 @@
 eval.c:808:2: note: called from here
   808 |  copynode_to(n,o);
       |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
 eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
   692 | copynode_to(GelETree *empty, GelETree *o)
       | ^~~~~~~~~~~
 eval.c:808:2: note: called from here
   808 |  copynode_to(n,o);
       |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:1329:3: note: called from here
+ 1329 |   freetree_full (n, TRUE, FALSE);
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:1349:4: note: called from here
+ 1349 |    freetree_full (n, TRUE, FALSE);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
 eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
   692 | copynode_to(GelETree *empty, GelETree *o)
       | ^~~~~~~~~~~
 eval.c:808:2: note: called from here
   808 |  copynode_to(n,o);
       |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
 eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
   692 | copynode_to(GelETree *empty, GelETree *o)
       | ^~~~~~~~~~~
 eval.c:808:2: note: called from here
   808 |  copynode_to(n,o);
       |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:1399:2: note: called from here
+ 1399 |  freetree_full (n, TRUE, FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from matrixw.h:27,
+                 from graphing.c:41:
+graphing.c: In function 'make_matrix_from_limits':
+matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
+  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
+      |                                       ^
+matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                ^
+graphing.c:3509:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3509 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (defx1);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:120:59: warning: this condition has identical branches [-Wduplicated-branches]
+  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
+      |                                                           ^
+matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                ^
+graphing.c:3509:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3509 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (defx1);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:121:39: warning: this condition has identical branches [-Wduplicated-branches]
+  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
+      |                                       ^
+matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                    ^
+graphing.c:3509:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3509 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (defx1);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:121:59: warning: this condition has identical branches [-Wduplicated-branches]
+  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
+      |                                                           ^
+matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                    ^
+graphing.c:3509:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3509 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (defx1);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+graphing.c: In function 'make_matrix_from_lp_varnames':
+matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
+  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
+      |                                       ^
+matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                ^
+graphing.c:3531:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3531 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (lp_x_name);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:120:59: warning: this condition has identical branches [-Wduplicated-branches]
+  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
+      |                                                           ^
+matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                ^
+graphing.c:3531:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3531 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (lp_x_name);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:121:39: warning: this condition has identical branches [-Wduplicated-branches]
+  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
+      |                                       ^
+matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                    ^
+graphing.c:3531:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3531 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (lp_x_name);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:121:59: warning: this condition has identical branches [-Wduplicated-branches]
+  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
+      |                                                           ^
+matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                    ^
+graphing.c:3531:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3531 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (lp_x_name);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+graphing.c: In function 'make_matrix_from_sp_varnames':
+matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
+  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
+      |                                       ^
+matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                ^
+graphing.c:3553:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3553 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (sp_x_name);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:120:59: warning: this condition has identical branches [-Wduplicated-branches]
+  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
+      |                                                           ^
+matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                ^
+graphing.c:3553:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3553 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (sp_x_name);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:121:39: warning: this condition has identical branches [-Wduplicated-branches]
+  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
+      |                                       ^
+matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                    ^
+graphing.c:3553:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3553 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (sp_x_name);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:121:59: warning: this condition has identical branches [-Wduplicated-branches]
+  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
+      |                                                           ^
+matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                    ^
+graphing.c:3553:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3553 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_string (sp_x_name);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+graphing.c: In function 'make_matrix_from_limits_surf':
+matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
+  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
+      |                                       ^
+matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                ^
+graphing.c:3679:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3679 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (surf_defx1);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:120:59: warning: this condition has identical branches [-Wduplicated-branches]
+  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
+      |                                                           ^
+matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                ^
+graphing.c:3679:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3679 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (surf_defx1);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:121:39: warning: this condition has identical branches [-Wduplicated-branches]
+  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
+      |                                       ^
+matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                    ^
+graphing.c:3679:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3679 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (surf_defx1);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:121:59: warning: this condition has identical branches [-Wduplicated-branches]
+  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
+      |                                                           ^
+matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                    ^
+graphing.c:3679:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3679 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (surf_defx1);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+graphing.c: In function 'make_matrix_from_ticks':
+matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
+  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
+      |                                       ^
+matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                ^
+graphing.c:3755:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3755 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_si (v);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:120:59: warning: this condition has identical branches [-Wduplicated-branches]
+  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
+      |                                                           ^
+matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                ^
+graphing.c:3755:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3755 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_si (v);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:121:39: warning: this condition has identical branches [-Wduplicated-branches]
+  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
+      |                                       ^
+matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                    ^
+graphing.c:3755:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3755 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_si (v);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:121:59: warning: this condition has identical branches [-Wduplicated-branches]
+  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
+      |                                                           ^
+matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                    ^
+graphing.c:3755:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 3755 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_si (v);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+graphing.c: In function 'replot_fields':
+graphing.c:4299:15: warning: implicit conversion from 'enum <anonymous>' to 'GtkPlotSymbolStyle' [-Wenum-conversion]
+ 4299 |         0, 0, GTK_PLOT_SYMBOL_NONE);
+      |               ^~~~~~~~~~~~~~~~~~~~
+In file included from matrixw.h:27,
+                 from graphing.c:41:
+graphing.c: In function 'LinePlotWaitForClick_op':
+matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
+  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
+      |                                       ^
+matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                ^
+graphing.c:8387:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 8387 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (click_x);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:120:59: warning: this condition has identical branches [-Wduplicated-branches]
+  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
+      |                                                           ^
+matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                ^
+graphing.c:8387:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 8387 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (click_x);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:121:39: warning: this condition has identical branches [-Wduplicated-branches]
+  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
+      |                                       ^
+matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                    ^
+graphing.c:8387:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 8387 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (click_x);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:121:59: warning: this condition has identical branches [-Wduplicated-branches]
+  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
+      |                                                           ^
+matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                    ^
+graphing.c:8387:2: note: in expansion of macro 'gel_matrixw_set_index'
+ 8387 |  gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (click_x);
+      |  ^~~~~~~~~~~~~~~~~~~~~
+graphing.c: In function 'LinePlotMouseLocation_op':
+matrixw.h:120:39: warning: this condition has identical branches [-Wduplicated-branches]
+  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
+      |                                       ^
+matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                ^
+graphing.c:8417:3: note: in expansion of macro 'gel_matrixw_set_index'
+ 8417 |   gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (x);
+      |   ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:120:59: warning: this condition has identical branches [-Wduplicated-branches]
+  120 |      (a)->regx ? (a)->regx[(a)->tr?(j):(i)] : ((a)->tr?(j):(i)), \
+      |                                                           ^
+matrix.h:68:48: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                ^
+graphing.c:8417:3: note: in expansion of macro 'gel_matrixw_set_index'
+ 8417 |   gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (x);
+      |   ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:121:39: warning: this condition has identical branches [-Wduplicated-branches]
+  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
+      |                                       ^
+matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                    ^
+graphing.c:8417:3: note: in expansion of macro 'gel_matrixw_set_index'
+ 8417 |   gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (x);
+      |   ^~~~~~~~~~~~~~~~~~~~~
+matrixw.h:121:59: warning: this condition has identical branches [-Wduplicated-branches]
+  121 |      (a)->regy ? (a)->regy[(a)->tr?(i):(j)] : ((a)->tr?(i):(j))))
+      |                                                           ^
+matrix.h:68:52: note: in definition of macro 'gel_matrix_index'
+   68 | #define gel_matrix_index(m,x,y) ((m)->thedata[(x)+(y)*((m)->realwidth)])
+      |                                                    ^
+graphing.c:8417:3: note: in expansion of macro 'gel_matrixw_set_index'
+ 8417 |   gel_matrixw_set_index (m, 0, 0) = gel_makenum_d (x);
+      |   ^~~~~~~~~~~~~~~~~~~~~
+libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -DGNOMELOCALEDIR=\"/usr/share/locale\" -DG_LOG_DOMAIN=\"Genius\" -DDATADIR=\"/usr/share\" -DLIBEXECDIR=\"/usr/lib/aarch64-linux-gnu/genius\" -DBUILDDIR=\"/build/genius-1.0.25\" -I. -I.. -I../ve -I../gtkextra -I.. -I../ve -I../gtkextra -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init -Wno-error=unused-parameter -Wno-error=missing-field-initializers -pthread -I/usr/include/amtk-5 -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2 -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -c testplugin.c  -fPIC -DPIC -o .libs/testplugin.o
+libtool: link: gcc -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed -o genius-readline-helper-fifo genius_lists.o genius-readline-helper.o -Wl,--export-dynamic -pthread  ../ve/libvicious.a -lm -lgmodule-2.0 -lglib-2.0 -lreadline -ltermcap -lmpfr -pthread
+mpwrap.c: In function 'mpw_abs_sq':
+mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
+  640 | mpwl_init_type(MpwRealNum *op,int type)
+      | ^~~~~~~~~~~~~~
+mpwrap.c:189:3: note: called from here
+  189 |   mpwl_init_type(m,type);   \
+      |   ^~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:3590:4: note: in expansion of macro 'MAKE_EMPTY'
+ 3590 |    MAKE_EMPTY(rop->r, op->r->type);
+      |    ^~~~~~~~~~
+mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
+  640 | mpwl_init_type(MpwRealNum *op,int type)
+      | ^~~~~~~~~~~~~~
+mpwrap.c:178:3: note: called from here
+  178 |   mpwl_init_type(m,(n)->type);  \
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:3592:4: note: in expansion of macro 'MAKE_COPY'
+ 3592 |    MAKE_COPY (rop->r);
+      |    ^~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:669:2: note: called from here
+  669 |  mpwl_clear(op);
+      |  ^~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_mul_ui':
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
@@ -8201,19 +8191,6 @@
 mpwrap.c:3820:3: note: in expansion of macro 'mpw_uncomplex'
  3820 |   mpw_uncomplex(rop);
       |   ^~~~~~~~~~~~~
-eval.c: In function 'expensive_matrix_multiply':
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_div':
 mpwrap.c:664:1: warning: inlining failed in call to 'mpwl_free': --param inline-unit-growth limit reached [-Winline]
   664 | mpwl_free(MpwRealNum *op)
@@ -8359,56 +8336,8 @@
 mpwrap.c:3897:3: note: in expansion of macro 'BREAK_CPLX_OPS'
  3897 |   BREAK_CPLX_OPS(op2,r2,i2);
       |   ^~~~~~~~~~~~~~
-eval.c: In function 'pure_matrix_mul_op':
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:2129:2: note: called from here
- 2129 |  freetree_full(n,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c: In function 'matrix_scalar_matrix_op':
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:817:2: note: called from here
-  817 |  freetree_full(to,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:817:2: note: called from here
-  817 |  freetree_full(to,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+/bin/sh ../libtool  --tag=CC   --mode=link gcc  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -module -avoid-version -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o libtestplugin.la -rpath /usr/lib/aarch64-linux-gnu/genius testplugin.lo  -lmpfr 
+libtool: link: gcc -shared  -fPIC -DPIC  .libs/testplugin.o   -lmpfr  -g -O2 -fstack-protector-strong -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed   -Wl,-soname -Wl,libtestplugin.so -o .libs/libtestplugin.so
 mpwrap.c: In function 'mpw_div_ui':
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
@@ -8464,49 +8393,7 @@
 mpwrap.c:3925:3: note: in expansion of macro 'mpw_uncomplex'
  3925 |   mpw_uncomplex(rop);
       |   ^~~~~~~~~~~~~
-eval.c: In function 'matrix_addsub_scalar_matrix_op':
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:817:2: note: called from here
-  817 |  freetree_full(to,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:817:2: note: called from here
-  817 |  freetree_full(to,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+libtool: link: ( cd ".libs" && rm -f "libtestplugin.la" && ln -s "../libtestplugin.la" "libtestplugin.la" )
 mpwrap.c: In function 'mpw_ui_div':
 mpwrap.c:664:1: warning: inlining failed in call to 'mpwl_free': --param inline-unit-growth limit reached [-Winline]
   664 | mpwl_free(MpwRealNum *op)
@@ -8628,31 +8515,18 @@
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
       | ^~~~~~~~~~
-eval.c: In function 'pure_matrix_eltbyelt_op':
 mpwrap.c:3986:3: note: called from here
  3986 |   mpwl_clear (&t1);
       |   ^~~~~~~~~~~~~~~~
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
       | ^~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:2053:5: note: called from here
- 2053 |     freetree_full (t, TRUE, TRUE);
-      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
 mpwrap.c:3967:3: note: called from here
  3967 |   mpwl_init_type(&t2,i->type);
       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
       | ^~~~~~~~~~~~~~
-eval.c:817:2: note: called from here
-  817 |  freetree_full(to,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c:3966:3: note: called from here
  3966 |   mpwl_init_type(&t1,r->type);
       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -8683,337 +8557,6 @@
 mpwrap.c:3991:3: note: in expansion of macro 'BREAK_CPLX_OPS'
  3991 |   BREAK_CPLX_OPS(op,r,i);
       |   ^~~~~~~~~~~~~~
-eval.c: In function 'iter_pop_stack':
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:3953:7: note: called from here
- 3953 |       freetree_full (data, TRUE, FALSE);
-      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:3970:7: note: called from here
- 3970 |       freetree_full (data, TRUE, FALSE);
-      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:62:1: warning: inlining failed in call to 'ge_add_stack_array': call is unlikely and code size would grow [-Winline]
-   62 | ge_add_stack_array(GelCtx *ctx)
-      | ^~~~~~~~~~~~~~~~~~
-eval.c:86:4: note: called from here
-   86 |    ge_add_stack_array(thectx);    \
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:3979:5: note: in expansion of macro 'GE_PUSH_STACK'
- 3979 |     GE_PUSH_STACK(ctx,li,flag);
-      |     ^~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:4005:6: note: called from here
- 4005 |      replacenode(call,data);
-      |      ^~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:4027:6: note: called from here
- 4027 |      replacenode (n->op.args, evl->condition);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:62:1: warning: inlining failed in call to 'ge_add_stack_array': call is unlikely and code size would grow [-Winline]
-   62 | ge_add_stack_array(GelCtx *ctx)
-      | ^~~~~~~~~~~~~~~~~~
-eval.c:86:4: note: called from here
-   86 |    ge_add_stack_array(thectx);    \
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:4053:6: note: in expansion of macro 'GE_PUSH_STACK'
- 4053 |      GE_PUSH_STACK(ctx,evl,GE_LOOP_LOOP);
-      |      ^~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:4069:7: note: called from here
- 4069 |       freetree_full (n, TRUE, FALSE);
-      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:4072:7: note: called from here
- 4072 |       replacenode (n, b);
-      |       ^~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:4192:8: note: called from here
- 4192 |        replacenode (data, res);
-      |        ^~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:4197:7: note: called from here
- 4197 |       replacenode (data, res);
-      |       ^~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:62:1: warning: inlining failed in call to 'ge_add_stack_array': call is unlikely and code size would grow [-Winline]
-   62 | ge_add_stack_array(GelCtx *ctx)
-      | ^~~~~~~~~~~~~~~~~~
-eval.c:86:4: note: called from here
-   86 |    ge_add_stack_array(thectx);    \
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:4236:6: note: in expansion of macro 'GE_PUSH_STACK'
- 4236 |      GE_PUSH_STACK (ctx, evf, GE_FOR);
-      |      ^~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:62:1: warning: inlining failed in call to 'ge_add_stack_array': call is unlikely and code size would grow [-Winline]
-   62 | ge_add_stack_array(GelCtx *ctx)
-      | ^~~~~~~~~~~~~~~~~~
-eval.c:86:4: note: called from here
-   86 |    ge_add_stack_array(thectx);    \
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:4289:6: note: in expansion of macro 'GE_PUSH_STACK'
- 4289 |      GE_PUSH_STACK(ctx,evfi,GE_FORIN);
-      |      ^~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:4347:8: note: called from here
- 4347 |        replacenode (data, res);
-      |        ^~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:4352:7: note: called from here
- 4352 |       replacenode (data, res);
-      |       ^~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_mod':
 mpwrap.c:664:1: warning: inlining failed in call to 'mpwl_free': --param inline-unit-growth limit reached [-Winline]
   664 | mpwl_free(MpwRealNum *op)
@@ -9033,9 +8576,6 @@
 mpwrap.c:4008:4: note: in expansion of macro 'MAKE_COPY'
  4008 |    MAKE_COPY (rop->r);
       |    ^~~~~~~~~
-Generating and caching the translation database
-NOTICE: ../po/ko.po is not in UTF-8 but euc-kr, converting...
-Merging translations into gnome-genius.desktop.
 mpwrap.c: In function 'mpw_invert':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
@@ -9115,6 +8655,43 @@
 mpwrap.c:1545:4: note: called from here
  1545 |    mpwl_clear (rop);
       |    ^~~~~~~~~~~~~~~~
+eval.c: In function 'iter_equalsop':
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:5731:5: note: called from here
+ 5731 |     replacenode (n, ret);
+      |     ^~~~~~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:817:2: note: called from here
+  817 |  freetree_full(to,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_legendre':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
@@ -9137,6 +8714,9 @@
 mpwrap.c:1564:4: note: called from here
  1564 |    mpwl_clear (rop);
       |    ^~~~~~~~~~~~~~~~
+Generating and caching the translation database
+NOTICE: ../po/ko.po is not in UTF-8 but euc-kr, converting...
+Merging translations into gnome-genius.desktop.
 mpwrap.c: In function 'mpw_kronecker':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
@@ -9197,151 +8777,43 @@
 mpwrap.c:1629:3: note: called from here
  1629 |   mpwl_clear (rop);
       |   ^~~~~~~~~~~~~~~~
-eval.c: In function 'iter_continue_break_op':
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:5354:2: note: called from here
- 5354 |  freetree_full(ctx->res,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:5329:5: note: called from here
- 5329 |     freetree_full(data,TRUE,FALSE);
-      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:5267:3: note: called from here
- 5267 |   freetree_full(e->body,TRUE,FALSE); \
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:5336:4: note: in expansion of macro 'LOOP_BREAK_CONT'
- 5336 |    LOOP_BREAK_CONT (GelEvalLoop, evl_free_with_cond, GE_LOOP_LOOP);
-      |    ^~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:5290:4: note: called from here
- 5290 |    freetree_full(n,TRUE,FALSE); \
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:5336:4: note: in expansion of macro 'LOOP_BREAK_CONT'
- 5336 |    LOOP_BREAK_CONT (GelEvalLoop, evl_free_with_cond, GE_LOOP_LOOP);
-      |    ^~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:5267:3: note: called from here
- 5267 |   freetree_full(e->body,TRUE,FALSE); \
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:5338:4: note: in expansion of macro 'LOOP_BREAK_CONT'
- 5338 |    LOOP_BREAK_CONT (GelEvalFor, evf_free, GE_FOR);
-      |    ^~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:5290:4: note: called from here
- 5290 |    freetree_full(n,TRUE,FALSE); \
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:5338:4: note: in expansion of macro 'LOOP_BREAK_CONT'
- 5338 |    LOOP_BREAK_CONT (GelEvalFor, evf_free, GE_FOR);
-      |    ^~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:5267:3: note: called from here
- 5267 |   freetree_full(e->body,TRUE,FALSE); \
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:5340:4: note: in expansion of macro 'LOOP_BREAK_CONT'
- 5340 |    LOOP_BREAK_CONT (GelEvalForIn, evfi_free, GE_FORIN);
-      |    ^~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:5290:4: note: called from here
- 5290 |    freetree_full(n,TRUE,FALSE); \
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:5340:4: note: in expansion of macro 'LOOP_BREAK_CONT'
- 5340 |    LOOP_BREAK_CONT (GelEvalForIn, evfi_free, GE_FORIN);
-      |    ^~~~~~~~~~~~~~~
-eval.c:3802:1: warning: inlining failed in call to 'ev_free_special_data': --param max-inline-insns-single limit reached [-Winline]
- 3802 | ev_free_special_data(GelCtx *ctx, gpointer data, int flag)
-      | ^~~~~~~~~~~~~~~~~~~~
-eval.c:5342:4: note: called from here
- 5342 |    ev_free_special_data(ctx,data,flag);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:5291:12: warning: potential null pointer dereference [-Wnull-dereference]
- 5291 |    n->type = GEL_NULL_NODE; \
-      |    ~~~~~~~~^~~~~~~~~~~~~~~
-eval.c:5336:4: note: in expansion of macro 'LOOP_BREAK_CONT'
- 5336 |    LOOP_BREAK_CONT (GelEvalLoop, evl_free_with_cond, GE_LOOP_LOOP);
-      |    ^~~~~~~~~~~~~~~
-eval.c:5291:12: warning: potential null pointer dereference [-Wnull-dereference]
- 5291 |    n->type = GEL_NULL_NODE; \
-      |    ~~~~~~~~^~~~~~~~~~~~~~~
-eval.c:5338:4: note: in expansion of macro 'LOOP_BREAK_CONT'
- 5338 |    LOOP_BREAK_CONT (GelEvalFor, evf_free, GE_FOR);
-      |    ^~~~~~~~~~~~~~~
-eval.c:5291:12: warning: potential null pointer dereference [-Wnull-dereference]
- 5291 |    n->type = GEL_NULL_NODE; \
-      |    ~~~~~~~~^~~~~~~~~~~~~~~
-eval.c:5340:4: note: in expansion of macro 'LOOP_BREAK_CONT'
- 5340 |    LOOP_BREAK_CONT (GelEvalForIn, evfi_free, GE_FORIN);
-      |    ^~~~~~~~~~~~~~~
+eval.c: In function 'op_two_nodes':
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_powm':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
@@ -9370,6 +8842,19 @@
 mpwrap.c:892:2: note: called from here
   892 |  mpwl_clear (rop);
       |  ^~~~~~~~~~~~~~~~
+eval.c: In function 'expensive_matrix_multiply':
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_powm_ui':
 mpwrap.c:664:1: warning: inlining failed in call to 'mpwl_free': --param inline-unit-growth limit reached [-Winline]
   664 | mpwl_free(MpwRealNum *op)
@@ -9395,109 +8880,6 @@
 mpwrap.c:892:2: note: called from here
   892 |  mpwl_clear (rop);
       |  ^~~~~~~~~~~~~~~~
-eval.c: In function 'iter_returnop':
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:817:2: note: called from here
-  817 |  freetree_full(to,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:817:2: note: called from here
-  817 |  freetree_full(to,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_exp':
 mpwrap.c:664:1: warning: inlining failed in call to 'mpwl_free': --param inline-unit-growth limit reached [-Winline]
   664 | mpwl_free(MpwRealNum *op)
@@ -9589,49 +8971,56 @@
 mpwrap.c:4438:3: note: in expansion of macro 'BREAK_CPLX_OPS'
  4438 |   BREAK_CPLX_OPS(op,r,i);
       |   ^~~~~~~~~~~~~~
-eval.c: In function 'iter_funccallop.constprop':
-eval.c:4608:1: warning: inlining failed in call to 'get_func_from': --param max-inline-insns-single limit reached [-Winline]
- 4608 | get_func_from (GelETree *l, gboolean silent)
+eval.c: In function 'pure_matrix_mul_op':
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
-eval.c:4675:9: note: called from here
- 4675 |  return get_func_from (l, silent);
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
+eval.c:2129:2: note: called from here
+ 2129 |  freetree_full(n,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c: In function 'matrix_scalar_matrix_op':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:4882:4: note: called from here
- 4882 |    replacenode (n, ret);
-      |    ^~~~~~~~~~~~~~~~~~~~
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
-eval.c:4905:3: note: called from here
- 4905 |   freetree_full(n,TRUE,FALSE);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:817:2: note: called from here
+  817 |  freetree_full(to,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:817:2: note: called from here
+  817 |  freetree_full(to,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_ln':
 mpwrap.c:664:1: warning: inlining failed in call to 'mpwl_free': --param inline-unit-growth limit reached [-Winline]
   664 | mpwl_free(MpwRealNum *op)
@@ -9738,6 +9127,62 @@
 mpwrap.c:4516:3: note: in expansion of macro 'BREAK_CPLX_OPS'
  4516 |   BREAK_CPLX_OPS(op,r,i);
       |   ^~~~~~~~~~~~~~
+eval.c: In function 'matrix_addsub_scalar_matrix_op':
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:817:2: note: called from here
+  817 |  freetree_full(to,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:817:2: note: called from here
+  817 |  freetree_full(to,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c: In function 'pure_matrix_eltbyelt_op':
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:2053:5: note: called from here
+ 2053 |     freetree_full (t, TRUE, TRUE);
+      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:817:2: note: called from here
+  817 |  freetree_full(to,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_pow':
 mpwrap.c:664:1: warning: inlining failed in call to 'mpwl_free': --param inline-unit-growth limit reached [-Winline]
   664 | mpwl_free(MpwRealNum *op)
@@ -9820,7 +9265,6 @@
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
       | ^~~~~~~~~~~~~~
-eval.c: In function 'iter_operator_pre':
 mpwrap.c:178:3: note: called from here
   178 |   mpwl_init_type(m,(n)->type);  \
       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -9830,78 +9274,103 @@
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
       | ^~~~~~~~~~
-eval.c:6395:1: warning: inlining failed in call to 'iter_push_indexes_and_arg': --param max-inline-insns-single limit reached [-Winline]
- 6395 | iter_push_indexes_and_arg(GelCtx *ctx, GelETree *n)
-      | ^~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c:4311:3: note: called from here
  4311 |   mpwl_clear (&t);
       |   ^~~~~~~~~~~~~~~
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
       | ^~~~~~~~~~
-eval.c:6927:3: note: called from here
- 6927 |   iter_push_indexes_and_arg(ctx,n);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c:4310:3: note: called from here
  4310 |   mpwl_clear (&t2);
       |   ^~~~~~~~~~~~~~~~
-eval.c:6430:1: warning: inlining failed in call to 'iter_do_push_index': --param max-inline-insns-single limit reached [-Winline]
- 6430 | iter_do_push_index (GelCtx *ctx, GelETree *l)
-      | ^~~~~~~~~~~~~~~~~~
-eval.c:6456:2: note: called from here
- 6456 |  iter_do_push_index (ctx, l);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:6395:1: warning: inlining failed in call to 'iter_push_indexes_and_arg': --param max-inline-insns-single limit reached [-Winline]
- 6395 | iter_push_indexes_and_arg(GelCtx *ctx, GelETree *n)
-      | ^~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:6943:3: note: called from here
- 6943 |   iter_push_indexes_and_arg(ctx,n);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:6430:1: warning: inlining failed in call to 'iter_do_push_index': --param max-inline-insns-single limit reached [-Winline]
- 6430 | iter_do_push_index (GelCtx *ctx, GelETree *l)
-      | ^~~~~~~~~~~~~~~~~~
-eval.c:6468:2: note: called from here
- 6468 |  iter_do_push_index (ctx, r);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:6430:1: warning: inlining failed in call to 'iter_do_push_index': --param max-inline-insns-single limit reached [-Winline]
- 6430 | iter_do_push_index (GelCtx *ctx, GelETree *l)
-      | ^~~~~~~~~~~~~~~~~~
-eval.c:6467:2: note: called from here
- 6467 |  iter_do_push_index (ctx, l);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:4458:1: warning: inlining failed in call to 'pushstack_n_args': --param max-inline-insns-single limit reached [-Winline]
- 4458 | pushstack_n_args (GelCtx *ctx, GelETree *args, int n)
-      | ^~~~~~~~~~~~~~~~
-eval.c:4514:2: note: called from here
- 4514 |  pushstack_n_args (ctx, args->any.next, n-1);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:4608:1: warning: inlining failed in call to 'get_func_from': --param max-inline-insns-single limit reached [-Winline]
- 4608 | get_func_from (GelETree *l, gboolean silent)
+eval.c: In function 'iter_pop_stack':
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
-eval.c:4675:9: note: called from here
- 4675 |  return get_func_from (l, silent);
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:3953:7: note: called from here
+ 3953 |       freetree_full (data, TRUE, FALSE);
+      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:3970:7: note: called from here
+ 3970 |       freetree_full (data, TRUE, FALSE);
+      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 eval.c:62:1: warning: inlining failed in call to 'ge_add_stack_array': call is unlikely and code size would grow [-Winline]
    62 | ge_add_stack_array(GelCtx *ctx)
       | ^~~~~~~~~~~~~~~~~~
 eval.c:86:4: note: called from here
    86 |    ge_add_stack_array(thectx);    \
       |    ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:4527:3: note: in expansion of macro 'GE_PUSH_STACK'
- 4527 |   GE_PUSH_STACK (ctx, ctx->modulo, GE_SETMODULO);
-      |   ^~~~~~~~~~~~~
-eval.c:4458:1: warning: inlining failed in call to 'pushstack_n_args': --param max-inline-insns-single limit reached [-Winline]
- 4458 | pushstack_n_args (GelCtx *ctx, GelETree *args, int n)
-      | ^~~~~~~~~~~~~~~~
-eval.c:4533:2: note: called from here
- 4533 |  pushstack_n_args (ctx, args->any.next, n-1);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:4458:1: warning: inlining failed in call to 'pushstack_n_args': --param max-inline-insns-single limit reached [-Winline]
- 4458 | pushstack_n_args (GelCtx *ctx, GelETree *args, int n)
-      | ^~~~~~~~~~~~~~~~
-eval.c:4514:2: note: called from here
- 4514 |  pushstack_n_args (ctx, args->any.next, n-1);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:3979:5: note: in expansion of macro 'GE_PUSH_STACK'
+ 3979 |     GE_PUSH_STACK(ctx,li,flag);
+      |     ^~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:4005:6: note: called from here
+ 4005 |      replacenode(call,data);
+      |      ^~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:4027:6: note: called from here
+ 4027 |      replacenode (n->op.args, evl->condition);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
 eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
   692 | copynode_to(GelETree *empty, GelETree *o)
       | ^~~~~~~~~~~
@@ -9914,6 +9383,51 @@
 eval.c:808:2: note: called from here
   808 |  copynode_to(n,o);
       |  ^~~~~~~~~~~~~~~~
+eval.c:62:1: warning: inlining failed in call to 'ge_add_stack_array': call is unlikely and code size would grow [-Winline]
+   62 | ge_add_stack_array(GelCtx *ctx)
+      | ^~~~~~~~~~~~~~~~~~
+eval.c:86:4: note: called from here
+   86 |    ge_add_stack_array(thectx);    \
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:4053:6: note: in expansion of macro 'GE_PUSH_STACK'
+ 4053 |      GE_PUSH_STACK(ctx,evl,GE_LOOP_LOOP);
+      |      ^~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:4069:7: note: called from here
+ 4069 |       freetree_full (n, TRUE, FALSE);
+      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:4072:7: note: called from here
+ 4072 |       replacenode (n, b);
+      |       ^~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
 eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
   692 | copynode_to(GelETree *empty, GelETree *o)
       | ^~~~~~~~~~~
@@ -9932,12 +9446,6 @@
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:4458:1: warning: inlining failed in call to 'pushstack_n_args': --param max-inline-insns-single limit reached [-Winline]
- 4458 | pushstack_n_args (GelCtx *ctx, GelETree *args, int n)
-      | ^~~~~~~~~~~~~~~~
-eval.c:4514:2: note: called from here
- 4514 |  pushstack_n_args (ctx, args->any.next, n-1);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
@@ -9962,57 +9470,150 @@
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:3802:1: warning: inlining failed in call to 'ev_free_special_data': --param max-inline-insns-single limit reached [-Winline]
- 3802 | ev_free_special_data(GelCtx *ctx, gpointer data, int flag)
-      | ^~~~~~~~~~~~~~~~~~~~
-eval.c:5393:4: note: called from here
- 5393 |    ev_free_special_data(ctx,data,flag);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:5301:1: warning: inlining failed in call to 'iter_continue_break_op': --param max-inline-insns-single limit reached [-Winline]
- 5301 | iter_continue_break_op(GelCtx *ctx, gboolean cont)
-      | ^~~~~~~~~~~~~~~~~~~~~~
-eval.c:7162:3: note: called from here
- 7162 |   iter_continue_break_op(ctx,TRUE);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:4192:8: note: called from here
+ 4192 |        replacenode (data, res);
+      |        ^~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:4197:7: note: called from here
+ 4197 |       replacenode (data, res);
+      |       ^~~~~~~~~~~~~~~~~~~~~~~
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:5301:1: warning: inlining failed in call to 'iter_continue_break_op': --param max-inline-insns-single limit reached [-Winline]
- 5301 | iter_continue_break_op(GelCtx *ctx, gboolean cont)
-      | ^~~~~~~~~~~~~~~~~~~~~~
-eval.c:7170:3: note: called from here
- 7170 |   iter_continue_break_op(ctx,FALSE);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
+eval.c:62:1: warning: inlining failed in call to 'ge_add_stack_array': call is unlikely and code size would grow [-Winline]
+   62 | ge_add_stack_array(GelCtx *ctx)
+      | ^~~~~~~~~~~~~~~~~~
+eval.c:86:4: note: called from here
+   86 |    ge_add_stack_array(thectx);    \
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:4236:6: note: in expansion of macro 'GE_PUSH_STACK'
+ 4236 |      GE_PUSH_STACK (ctx, evf, GE_FOR);
+      |      ^~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
       | ^~~~~~~~~~~
-eval.c:7181:4: note: called from here
- 7181 |    replacenode (n, arg);
-      |    ^~~~~~~~~~~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:4435:6: warning: potential null pointer dereference [-Wnull-dereference]
- 4435 |    t = list->data;
-      |    ~~^~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:62:1: warning: inlining failed in call to 'ge_add_stack_array': call is unlikely and code size would grow [-Winline]
+   62 | ge_add_stack_array(GelCtx *ctx)
+      | ^~~~~~~~~~~~~~~~~~
+eval.c:86:4: note: called from here
+   86 |    ge_add_stack_array(thectx);    \
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:4289:6: note: in expansion of macro 'GE_PUSH_STACK'
+ 4289 |      GE_PUSH_STACK(ctx,evfi,GE_FORIN);
+      |      ^~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:4347:8: note: called from here
+ 4347 |        replacenode (data, res);
+      |        ^~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:4352:7: note: called from here
+ 4352 |       replacenode (data, res);
+      |       ^~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_sqrt':
 mpwrap.c:664:1: warning: inlining failed in call to 'mpwl_free': --param inline-unit-growth limit reached [-Winline]
   664 | mpwl_free(MpwRealNum *op)
@@ -10397,6 +9998,10 @@
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
       | ^~~~~~~~~~~~~~
+eval.c: In function 'iter_continue_break_op':
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
 mpwrap.c:189:3: note: called from here
   189 |   mpwl_init_type(m,type);   \
       |   ^~~~~~~~~~~~~~~~~~~~~~
@@ -10406,15 +10011,39 @@
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
       | ^~~~~~~~~~~~~~
+eval.c:5354:2: note: called from here
+ 5354 |  freetree_full(ctx->res,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c:178:3: note: called from here
   178 |   mpwl_init_type(m,(n)->type);  \
       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c:4797:4: note: in expansion of macro 'MAKE_COPY'
  4797 |    MAKE_COPY (rop->r);
       |    ^~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
       | ^~~~~~~~~~~~~~
+eval.c:5329:5: note: called from here
+ 5329 |     freetree_full(data,TRUE,FALSE);
+      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
 mpwrap.c:178:3: note: called from here
   178 |   mpwl_init_type(m,(n)->type);  \
       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -10433,6 +10062,33 @@
 mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
   640 | mpwl_init_type(MpwRealNum *op,int type)
       | ^~~~~~~~~~~~~~
+eval.c:5267:3: note: called from here
+ 5267 |   freetree_full(e->body,TRUE,FALSE); \
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:5336:4: note: in expansion of macro 'LOOP_BREAK_CONT'
+ 5336 |    LOOP_BREAK_CONT (GelEvalLoop, evl_free_with_cond, GE_LOOP_LOOP);
+      |    ^~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
 mpwrap.c:122:3: note: called from here
   122 |   mpwl_init_type(THE_i,THE_op->i->type); \
       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -10451,6 +10107,15 @@
 mpwrap.c:664:1: warning: inlining failed in call to 'mpwl_free': --param inline-unit-growth limit reached [-Winline]
   664 | mpwl_free(MpwRealNum *op)
       | ^~~~~~~~~
+eval.c:5290:4: note: called from here
+ 5290 |    freetree_full(n,TRUE,FALSE); \
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:5336:4: note: in expansion of macro 'LOOP_BREAK_CONT'
+ 5336 |    LOOP_BREAK_CONT (GelEvalLoop, evl_free_with_cond, GE_LOOP_LOOP);
+      |    ^~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
 mpwrap.c:3241:4: note: called from here
  3241 |    mpwl_free ((rop)->i);   \
       |    ^~~~~~~~~~~~~~~~~~~~
@@ -10469,12 +10134,93 @@
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
       | ^~~~~~~~~~
+eval.c:5267:3: note: called from here
+ 5267 |   freetree_full(e->body,TRUE,FALSE); \
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:5338:4: note: in expansion of macro 'LOOP_BREAK_CONT'
+ 5338 |    LOOP_BREAK_CONT (GelEvalFor, evf_free, GE_FOR);
+      |    ^~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
 mpwrap.c:132:3: note: called from here
   132 |   mpwl_clear(THE_i);   \
       |   ^~~~~~~~~~~~~~~~~
 mpwrap.c:4829:3: note: in expansion of macro 'BREAK_CPLX_OPS'
  4829 |   BREAK_CPLX_OPS(op,r,i);
       |   ^~~~~~~~~~~~~~
+eval.c:5290:4: note: called from here
+ 5290 |    freetree_full(n,TRUE,FALSE); \
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:5338:4: note: in expansion of macro 'LOOP_BREAK_CONT'
+ 5338 |    LOOP_BREAK_CONT (GelEvalFor, evf_free, GE_FOR);
+      |    ^~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:5267:3: note: called from here
+ 5267 |   freetree_full(e->body,TRUE,FALSE); \
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:5340:4: note: in expansion of macro 'LOOP_BREAK_CONT'
+ 5340 |    LOOP_BREAK_CONT (GelEvalForIn, evfi_free, GE_FORIN);
+      |    ^~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:5290:4: note: called from here
+ 5290 |    freetree_full(n,TRUE,FALSE); \
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:5340:4: note: in expansion of macro 'LOOP_BREAK_CONT'
+ 5340 |    LOOP_BREAK_CONT (GelEvalForIn, evfi_free, GE_FORIN);
+      |    ^~~~~~~~~~~~~~~
+eval.c:3802:1: warning: inlining failed in call to 'ev_free_special_data': --param max-inline-insns-single limit reached [-Winline]
+ 3802 | ev_free_special_data(GelCtx *ctx, gpointer data, int flag)
+      | ^~~~~~~~~~~~~~~~~~~~
+eval.c:5342:4: note: called from here
+ 5342 |    ev_free_special_data(ctx,data,flag);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:5291:12: warning: potential null pointer dereference [-Wnull-dereference]
+ 5291 |    n->type = GEL_NULL_NODE; \
+      |    ~~~~~~~~^~~~~~~~~~~~~~~
+eval.c:5336:4: note: in expansion of macro 'LOOP_BREAK_CONT'
+ 5336 |    LOOP_BREAK_CONT (GelEvalLoop, evl_free_with_cond, GE_LOOP_LOOP);
+      |    ^~~~~~~~~~~~~~~
+eval.c:5291:12: warning: potential null pointer dereference [-Wnull-dereference]
+ 5291 |    n->type = GEL_NULL_NODE; \
+      |    ~~~~~~~~^~~~~~~~~~~~~~~
+eval.c:5338:4: note: in expansion of macro 'LOOP_BREAK_CONT'
+ 5338 |    LOOP_BREAK_CONT (GelEvalFor, evf_free, GE_FOR);
+      |    ^~~~~~~~~~~~~~~
+eval.c:5291:12: warning: potential null pointer dereference [-Wnull-dereference]
+ 5291 |    n->type = GEL_NULL_NODE; \
+      |    ~~~~~~~~^~~~~~~~~~~~~~~
+eval.c:5340:4: note: in expansion of macro 'LOOP_BREAK_CONT'
+ 5340 |    LOOP_BREAK_CONT (GelEvalForIn, evfi_free, GE_FORIN);
+      |    ^~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_arctan':
 mpwrap.c:664:1: warning: inlining failed in call to 'mpwl_free': --param inline-unit-growth limit reached [-Winline]
   664 | mpwl_free(MpwRealNum *op)
@@ -10539,59 +10285,13 @@
 mpwrap.c:4899:3: note: in expansion of macro 'mpw_uncomplex'
  4899 |   mpw_uncomplex(tmp1);
       |   ^~~~~~~~~~~~~
-mpwrap.c: In function 'mpw_arctan2':
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:669:2: note: called from here
-  669 |  mpwl_clear(op);
-      |  ^~~~~~~~~~~~~~
-mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
-  640 | mpwl_init_type(MpwRealNum *op,int type)
-      | ^~~~~~~~~~~~~~
-mpwrap.c:178:3: note: called from here
-  178 |   mpwl_init_type(m,(n)->type);  \
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-mpwrap.c:4914:4: note: in expansion of macro 'MAKE_COPY'
- 4914 |    MAKE_COPY (rop->r);
-      |    ^~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:2385:4: note: called from here
- 2385 |    mpwl_clear (rop);
-      |    ^~~~~~~~~~~~~~~~
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:892:2: note: called from here
-  892 |  mpwl_clear (rop);
-      |  ^~~~~~~~~~~~~~~~
-eval.c: In function 'gel_eval_etree':
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c: In function 'iter_returnop':
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:4561:1: warning: inlining failed in call to 'iter_push_matrix': --param large-function-growth limit reached [-Winline]
- 4561 | iter_push_matrix(GelCtx *ctx, GelETree *n, GelMatrixW *m)
-      | ^~~~~~~~~~~~~~~~
-eval.c:7611:5: note: called from here
- 7611 |     iter_push_matrix(ctx,n,n->mat.matrix);
-      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
@@ -10604,36 +10304,12 @@
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:7242:3: note: called from here
- 7242 |   replacenode (n, r);
-      |   ^~~~~~~~~~~~~~~~~~
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
 eval.c:817:2: note: called from here
   817 |  freetree_full(to,TRUE,FALSE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:817:2: note: called from here
-  817 |  freetree_full(to,TRUE,FALSE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:7337:4: note: called from here
- 7337 |    replacenode (n, t);
-      |    ^~~~~~~~~~~~~~~~~~
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
@@ -10643,114 +10319,6 @@
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
-eval.c:5035:4: note: called from here
- 5035 |    freetree_full(n,TRUE,FALSE);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:5035:4: note: called from here
- 5035 |    freetree_full(n,TRUE,FALSE);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:5061:4: note: called from here
- 5061 |    freetree_full(n,TRUE,FALSE);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:5061:4: note: called from here
- 5061 |    freetree_full(n,TRUE,FALSE);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:5127:3: note: called from here
- 5127 |   freetree_full (n, TRUE, FALSE);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:6541:3: note: called from here
- 6541 |   freetree_full (n, TRUE, FALSE);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:6565:4: note: called from here
- 6565 |    replacenode (n, t);
-      |    ^~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:6571:4: note: called from here
- 6571 |    replacenode (n, gel_copynode (t));
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:6571:4: note: called from here
- 6571 |    replacenode (n, gel_copynode (t));
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -10769,55 +10337,6 @@
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
-eval.c:6603:3: note: called from here
- 6603 |   freetree_full (n, TRUE /* freeargs */, FALSE /* kill */);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-mpwrap.c: In function 'mpw_pi':
-mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
-  618 | mpwl_clear (MpwRealNum *op)
-      | ^~~~~~~~~~
-mpwrap.c:669:2: note: called from here
-  669 |  mpwl_clear(op);
-      |  ^~~~~~~~~~~~~~
-eval.c:5237:3: note: called from here
- 5237 |   replacenode (n, r);
-      |   ^~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:5255:3: note: called from here
- 5255 |   freetree_full(n,TRUE,FALSE);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:5237:3: note: called from here
- 5237 |   replacenode (n, r);
-      |   ^~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:5247:3: note: called from here
- 5247 |   replacenode (n, rr);
-      |   ^~~~~~~~~~~~~~~~~~~
-eval.c:4923:1: warning: inlining failed in call to 'iter_returnop': --param large-function-growth limit reached [-Winline]
- 4923 | iter_returnop(GelCtx *ctx, GelETree *n)
-      | ^~~~~~~~~~~~~
-eval.c:7391:3: note: called from here
- 7391 |   iter_returnop(ctx,n);
-      |   ^~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
-eval.c:6905:2: note: called from here
- 6905 |  freetree_full (n, TRUE /* freeargs */, FALSE /* kill */);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
-  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
-      | ^~~~~~~~~~~~~
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -10827,12 +10346,6 @@
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
-  814 | replacenode(GelETree *to, GelETree *from)
-      | ^~~~~~~~~~~
-eval.c:3535:3: note: called from here
- 3535 |   replacenode (n, r);
-      |   ^~~~~~~~~~~~~~~~~~
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
@@ -10857,12 +10370,6 @@
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:4458:1: warning: inlining failed in call to 'pushstack_n_args': --param max-inline-insns-single limit reached [-Winline]
- 4458 | pushstack_n_args (GelCtx *ctx, GelETree *args, int n)
-      | ^~~~~~~~~~~~~~~~
-eval.c:4514:2: note: called from here
- 4514 |  pushstack_n_args (ctx, args->any.next, n-1);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
@@ -10878,27 +10385,87 @@
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:817:2: note: called from here
+  817 |  freetree_full(to,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c: In function 'mpw_arctan2':
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:669:2: note: called from here
+  669 |  mpwl_clear(op);
+      |  ^~~~~~~~~~~~~~
+mpwrap.c:640:1: warning: inlining failed in call to 'mpwl_init_type': --param inline-unit-growth limit reached [-Winline]
+  640 | mpwl_init_type(MpwRealNum *op,int type)
+      | ^~~~~~~~~~~~~~
+mpwrap.c:178:3: note: called from here
+  178 |   mpwl_init_type(m,(n)->type);  \
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c:4914:4: note: in expansion of macro 'MAKE_COPY'
+ 4914 |    MAKE_COPY (rop->r);
+      |    ^~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:2385:4: note: called from here
+ 2385 |    mpwl_clear (rop);
+      |    ^~~~~~~~~~~~~~~~
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:892:2: note: called from here
+  892 |  mpwl_clear (rop);
+      |  ^~~~~~~~~~~~~~~~
+eval.c: In function 'iter_funccallop.constprop':
+eval.c:4608:1: warning: inlining failed in call to 'get_func_from': --param max-inline-insns-single limit reached [-Winline]
+ 4608 | get_func_from (GelETree *l, gboolean silent)
+      | ^~~~~~~~~~~~~
+eval.c:4675:9: note: called from here
+ 4675 |  return get_func_from (l, silent);
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
 eval.c:649:2: note: called from here
   649 |  freetree_full(n,TRUE,TRUE);
       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:4882:4: note: called from here
+ 4882 |    replacenode (n, ret);
+      |    ^~~~~~~~~~~~~~~~~~~~
 eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
   535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
       | ^~~~~~~~~~~~~
-eval.c:649:2: note: called from here
-  649 |  freetree_full(n,TRUE,TRUE);
-      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-eval.c:3802:1: warning: inlining failed in call to 'ev_free_special_data': --param max-inline-insns-single limit reached [-Winline]
- 3802 | ev_free_special_data(GelCtx *ctx, gpointer data, int flag)
-      | ^~~~~~~~~~~~~~~~~~~~
-eval.c:7808:4: note: called from here
- 7808 |    ev_free_special_data(ctx,data,flag);
-      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:4905:3: note: called from here
+ 4905 |   freetree_full(n,TRUE,FALSE);
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+mpwrap.c: In function 'mpw_pi':
+mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
+  618 | mpwl_clear (MpwRealNum *op)
+      | ^~~~~~~~~~
+mpwrap.c:669:2: note: called from here
+  669 |  mpwl_clear(op);
+      |  ^~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_ln2':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
@@ -11003,6 +10570,178 @@
 mpwrap.c:4573:4: note: called from here
  4573 |    mpwl_clear (&t);
       |    ^~~~~~~~~~~~~~~
+eval.c: In function 'iter_operator_pre':
+eval.c:6395:1: warning: inlining failed in call to 'iter_push_indexes_and_arg': --param max-inline-insns-single limit reached [-Winline]
+ 6395 | iter_push_indexes_and_arg(GelCtx *ctx, GelETree *n)
+      | ^~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:6927:3: note: called from here
+ 6927 |   iter_push_indexes_and_arg(ctx,n);
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:6430:1: warning: inlining failed in call to 'iter_do_push_index': --param max-inline-insns-single limit reached [-Winline]
+ 6430 | iter_do_push_index (GelCtx *ctx, GelETree *l)
+      | ^~~~~~~~~~~~~~~~~~
+eval.c:6456:2: note: called from here
+ 6456 |  iter_do_push_index (ctx, l);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:6395:1: warning: inlining failed in call to 'iter_push_indexes_and_arg': --param max-inline-insns-single limit reached [-Winline]
+ 6395 | iter_push_indexes_and_arg(GelCtx *ctx, GelETree *n)
+      | ^~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:6943:3: note: called from here
+ 6943 |   iter_push_indexes_and_arg(ctx,n);
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:6430:1: warning: inlining failed in call to 'iter_do_push_index': --param max-inline-insns-single limit reached [-Winline]
+ 6430 | iter_do_push_index (GelCtx *ctx, GelETree *l)
+      | ^~~~~~~~~~~~~~~~~~
+eval.c:6468:2: note: called from here
+ 6468 |  iter_do_push_index (ctx, r);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:6430:1: warning: inlining failed in call to 'iter_do_push_index': --param max-inline-insns-single limit reached [-Winline]
+ 6430 | iter_do_push_index (GelCtx *ctx, GelETree *l)
+      | ^~~~~~~~~~~~~~~~~~
+eval.c:6467:2: note: called from here
+ 6467 |  iter_do_push_index (ctx, l);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:4458:1: warning: inlining failed in call to 'pushstack_n_args': --param max-inline-insns-single limit reached [-Winline]
+ 4458 | pushstack_n_args (GelCtx *ctx, GelETree *args, int n)
+      | ^~~~~~~~~~~~~~~~
+eval.c:4514:2: note: called from here
+ 4514 |  pushstack_n_args (ctx, args->any.next, n-1);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:4608:1: warning: inlining failed in call to 'get_func_from': --param max-inline-insns-single limit reached [-Winline]
+ 4608 | get_func_from (GelETree *l, gboolean silent)
+      | ^~~~~~~~~~~~~
+eval.c:4675:9: note: called from here
+ 4675 |  return get_func_from (l, silent);
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:62:1: warning: inlining failed in call to 'ge_add_stack_array': call is unlikely and code size would grow [-Winline]
+   62 | ge_add_stack_array(GelCtx *ctx)
+      | ^~~~~~~~~~~~~~~~~~
+eval.c:86:4: note: called from here
+   86 |    ge_add_stack_array(thectx);    \
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:4527:3: note: in expansion of macro 'GE_PUSH_STACK'
+ 4527 |   GE_PUSH_STACK (ctx, ctx->modulo, GE_SETMODULO);
+      |   ^~~~~~~~~~~~~
+eval.c:4458:1: warning: inlining failed in call to 'pushstack_n_args': --param max-inline-insns-single limit reached [-Winline]
+ 4458 | pushstack_n_args (GelCtx *ctx, GelETree *args, int n)
+      | ^~~~~~~~~~~~~~~~
+eval.c:4533:2: note: called from here
+ 4533 |  pushstack_n_args (ctx, args->any.next, n-1);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:4458:1: warning: inlining failed in call to 'pushstack_n_args': --param max-inline-insns-single limit reached [-Winline]
+ 4458 | pushstack_n_args (GelCtx *ctx, GelETree *args, int n)
+      | ^~~~~~~~~~~~~~~~
+eval.c:4514:2: note: called from here
+ 4514 |  pushstack_n_args (ctx, args->any.next, n-1);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:4458:1: warning: inlining failed in call to 'pushstack_n_args': --param max-inline-insns-single limit reached [-Winline]
+ 4458 | pushstack_n_args (GelCtx *ctx, GelETree *args, int n)
+      | ^~~~~~~~~~~~~~~~
+eval.c:4514:2: note: called from here
+ 4514 |  pushstack_n_args (ctx, args->any.next, n-1);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:3802:1: warning: inlining failed in call to 'ev_free_special_data': --param max-inline-insns-single limit reached [-Winline]
+ 3802 | ev_free_special_data(GelCtx *ctx, gpointer data, int flag)
+      | ^~~~~~~~~~~~~~~~~~~~
+eval.c:5393:4: note: called from here
+ 5393 |    ev_free_special_data(ctx,data,flag);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:5301:1: warning: inlining failed in call to 'iter_continue_break_op': --param max-inline-insns-single limit reached [-Winline]
+ 5301 | iter_continue_break_op(GelCtx *ctx, gboolean cont)
+      | ^~~~~~~~~~~~~~~~~~~~~~
+eval.c:7162:3: note: called from here
+ 7162 |   iter_continue_break_op(ctx,TRUE);
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:5301:1: warning: inlining failed in call to 'iter_continue_break_op': --param max-inline-insns-single limit reached [-Winline]
+ 5301 | iter_continue_break_op(GelCtx *ctx, gboolean cont)
+      | ^~~~~~~~~~~~~~~~~~~~~~
+eval.c:7170:3: note: called from here
+ 7170 |   iter_continue_break_op(ctx,FALSE);
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:7181:4: note: called from here
+ 7181 |    replacenode (n, arg);
+      |    ^~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_euler_constant':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
@@ -11010,6 +10749,9 @@
 mpwrap.c:669:2: note: called from here
   669 |  mpwl_clear(op);
       |  ^~~~~~~~~~~~~~
+eval.c:4435:6: warning: potential null pointer dereference [-Wnull-dereference]
+ 4435 |    t = list->data;
+      |    ~~^~~~~~~~~~~~
 mpwrap.c: In function 'mpw_catalan_constant':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
@@ -11213,6 +10955,331 @@
 mpwrap.c:5224:2: note: in expansion of macro 'mpw_uncomplex'
  5224 |  mpw_uncomplex(num);
       |  ^~~~~~~~~~~~~
+eval.c: In function 'gel_eval_etree':
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:4561:1: warning: inlining failed in call to 'iter_push_matrix': --param large-function-growth limit reached [-Winline]
+ 4561 | iter_push_matrix(GelCtx *ctx, GelETree *n, GelMatrixW *m)
+      | ^~~~~~~~~~~~~~~~
+eval.c:7611:5: note: called from here
+ 7611 |     iter_push_matrix(ctx,n,n->mat.matrix);
+      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:7242:3: note: called from here
+ 7242 |   replacenode (n, r);
+      |   ^~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:817:2: note: called from here
+  817 |  freetree_full(to,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:817:2: note: called from here
+  817 |  freetree_full(to,TRUE,FALSE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:7337:4: note: called from here
+ 7337 |    replacenode (n, t);
+      |    ^~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:5035:4: note: called from here
+ 5035 |    freetree_full(n,TRUE,FALSE);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:5035:4: note: called from here
+ 5035 |    freetree_full(n,TRUE,FALSE);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:5061:4: note: called from here
+ 5061 |    freetree_full(n,TRUE,FALSE);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:5061:4: note: called from here
+ 5061 |    freetree_full(n,TRUE,FALSE);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:5127:3: note: called from here
+ 5127 |   freetree_full (n, TRUE, FALSE);
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:6541:3: note: called from here
+ 6541 |   freetree_full (n, TRUE, FALSE);
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:6565:4: note: called from here
+ 6565 |    replacenode (n, t);
+      |    ^~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:6571:4: note: called from here
+ 6571 |    replacenode (n, gel_copynode (t));
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:6571:4: note: called from here
+ 6571 |    replacenode (n, gel_copynode (t));
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:6603:3: note: called from here
+ 6603 |   freetree_full (n, TRUE /* freeargs */, FALSE /* kill */);
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:5237:3: note: called from here
+ 5237 |   replacenode (n, r);
+      |   ^~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:5255:3: note: called from here
+ 5255 |   freetree_full(n,TRUE,FALSE);
+      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:5237:3: note: called from here
+ 5237 |   replacenode (n, r);
+      |   ^~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:5247:3: note: called from here
+ 5247 |   replacenode (n, rr);
+      |   ^~~~~~~~~~~~~~~~~~~
+eval.c:4923:1: warning: inlining failed in call to 'iter_returnop': --param large-function-growth limit reached [-Winline]
+ 4923 | iter_returnop(GelCtx *ctx, GelETree *n)
+      | ^~~~~~~~~~~~~
+eval.c:7391:3: note: called from here
+ 7391 |   iter_returnop(ctx,n);
+      |   ^~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:6905:2: note: called from here
+ 6905 |  freetree_full (n, TRUE /* freeargs */, FALSE /* kill */);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:814:1: warning: inlining failed in call to 'replacenode': --param max-inline-insns-single limit reached [-Winline]
+  814 | replacenode(GelETree *to, GelETree *from)
+      | ^~~~~~~~~~~
+eval.c:3535:3: note: called from here
+ 3535 |   replacenode (n, r);
+      |   ^~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:4458:1: warning: inlining failed in call to 'pushstack_n_args': --param max-inline-insns-single limit reached [-Winline]
+ 4458 | pushstack_n_args (GelCtx *ctx, GelETree *args, int n)
+      | ^~~~~~~~~~~~~~~~
+eval.c:4514:2: note: called from here
+ 4514 |  pushstack_n_args (ctx, args->any.next, n-1);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:535:1: warning: inlining failed in call to 'freetree_full': --param max-inline-insns-single limit reached [-Winline]
+  535 | freetree_full (GelETree *n, gboolean freeargs, gboolean kill)
+      | ^~~~~~~~~~~~~
+eval.c:649:2: note: called from here
+  649 |  freetree_full(n,TRUE,TRUE);
+      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c:3802:1: warning: inlining failed in call to 'ev_free_special_data': --param max-inline-insns-single limit reached [-Winline]
+ 3802 | ev_free_special_data(GelCtx *ctx, gpointer data, int flag)
+      | ^~~~~~~~~~~~~~~~~~~~
+eval.c:7808:4: note: called from here
+ 7808 |    ev_free_special_data(ctx,data,flag);
+      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_getstring_chop':
 mpwrap.c:664:1: warning: inlining failed in call to 'mpwl_free': --param inline-unit-growth limit reached [-Winline]
   664 | mpwl_free(MpwRealNum *op)
@@ -11257,13 +11324,6 @@
 mpwrap.c:5418:2: note: in expansion of macro 'mpw_uncomplex'
  5418 |  mpw_uncomplex(rop);
       |  ^~~~~~~~~~~~~
-eval.c: In function 'gel_funccall':
-eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
-  692 | copynode_to(GelETree *empty, GelETree *o)
-      | ^~~~~~~~~~~
-eval.c:808:2: note: called from here
-  808 |  copynode_to(n,o);
-      |  ^~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_is_complex':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
@@ -11326,53 +11386,10 @@
 mpwrap.c:5622:3: note: in expansion of macro 'mpw_uncomplex'
  5622 |   mpw_uncomplex(rop);
       |   ^~~~~~~~~~~~~
-In file included from graphing.c:41:
-graphing.c: In function 'get_limits_from_matrix_surf':
-matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
-  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
-      | ^~~~~~~~~~~~~~~~~~
-graphing.c:3571:6: note: called from here
- 3571 |  t = gel_matrixw_vindex (m->mat.matrix, 0);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from graphing.c:41:
-matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
-  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
-      | ^~~~~~~~~~~~~~~~~~
-graphing.c:3582:6: note: called from here
- 3582 |  t = gel_matrixw_vindex (m->mat.matrix, 1);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from graphing.c:41:
-matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
-  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
-      | ^~~~~~~~~~~~~~~~~~
-graphing.c:3593:6: note: called from here
- 3593 |  t = gel_matrixw_vindex (m->mat.matrix, 2);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from graphing.c:41:
-matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
-  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
-      | ^~~~~~~~~~~~~~~~~~
-graphing.c:3604:6: note: called from here
- 3604 |  t = gel_matrixw_vindex (m->mat.matrix, 3);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from graphing.c:41:
-matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
-  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
-      | ^~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_ceil':
 mpwrap.c:664:1: warning: inlining failed in call to 'mpwl_free': --param inline-unit-growth limit reached [-Winline]
   664 | mpwl_free(MpwRealNum *op)
       | ^~~~~~~~~
-graphing.c:3615:6: note: called from here
- 3615 |  t = gel_matrixw_vindex (m->mat.matrix, 4);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from graphing.c:41:
-matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
-  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
-      | ^~~~~~~~~~~~~~~~~~
-graphing.c:3626:6: note: called from here
- 3626 |  t = gel_matrixw_vindex (m->mat.matrix, 5);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c:3241:4: note: called from here
  3241 |    mpwl_free ((rop)->i);   \
       |    ^~~~~~~~~~~~~~~~~~~~
@@ -11389,35 +11406,6 @@
 mpwrap.c:5648:3: note: in expansion of macro 'mpw_uncomplex'
  5648 |   mpw_uncomplex(rop);
       |   ^~~~~~~~~~~~~
-In file included from graphing.c:41:
-graphing.c: In function 'get_limits_from_matrix':
-matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
-  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
-      | ^~~~~~~~~~~~~~~~~~
-graphing.c:3386:6: note: called from here
- 3386 |  t = gel_matrixw_vindex (m->mat.matrix, 0);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from graphing.c:41:
-matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
-  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
-      | ^~~~~~~~~~~~~~~~~~
-graphing.c:3397:6: note: called from here
- 3397 |  t = gel_matrixw_vindex (m->mat.matrix, 1);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from graphing.c:41:
-matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
-  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
-      | ^~~~~~~~~~~~~~~~~~
-graphing.c:3408:6: note: called from here
- 3408 |  t = gel_matrixw_vindex (m->mat.matrix, 2);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from graphing.c:41:
-matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
-  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
-      | ^~~~~~~~~~~~~~~~~~
-graphing.c:3419:6: note: called from here
- 3419 |  t = gel_matrixw_vindex (m->mat.matrix, 3);
-      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 mpwrap.c: In function 'mpw_denominator':
 mpwrap.c:618:1: warning: inlining failed in call to 'mpwl_clear': --param inline-unit-growth limit reached [-Winline]
   618 | mpwl_clear (MpwRealNum *op)
@@ -11574,6 +11562,85 @@
  5839 |    MAKE_COPY (rop->r);
       |    ^~~~~~~~~
 In file included from graphing.c:41:
+graphing.c: In function 'get_limits_from_matrix_surf':
+matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
+  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
+      | ^~~~~~~~~~~~~~~~~~
+graphing.c:3571:6: note: called from here
+ 3571 |  t = gel_matrixw_vindex (m->mat.matrix, 0);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from graphing.c:41:
+matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
+  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
+      | ^~~~~~~~~~~~~~~~~~
+graphing.c:3582:6: note: called from here
+ 3582 |  t = gel_matrixw_vindex (m->mat.matrix, 1);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from graphing.c:41:
+matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
+  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
+      | ^~~~~~~~~~~~~~~~~~
+graphing.c:3593:6: note: called from here
+ 3593 |  t = gel_matrixw_vindex (m->mat.matrix, 2);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from graphing.c:41:
+matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
+  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
+      | ^~~~~~~~~~~~~~~~~~
+graphing.c:3604:6: note: called from here
+ 3604 |  t = gel_matrixw_vindex (m->mat.matrix, 3);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from graphing.c:41:
+matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
+  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
+      | ^~~~~~~~~~~~~~~~~~
+graphing.c:3615:6: note: called from here
+ 3615 |  t = gel_matrixw_vindex (m->mat.matrix, 4);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from graphing.c:41:
+matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
+  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
+      | ^~~~~~~~~~~~~~~~~~
+graphing.c:3626:6: note: called from here
+ 3626 |  t = gel_matrixw_vindex (m->mat.matrix, 5);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from graphing.c:41:
+graphing.c: In function 'get_limits_from_matrix':
+matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
+  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
+      | ^~~~~~~~~~~~~~~~~~
+graphing.c:3386:6: note: called from here
+ 3386 |  t = gel_matrixw_vindex (m->mat.matrix, 0);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from graphing.c:41:
+matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
+  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
+      | ^~~~~~~~~~~~~~~~~~
+graphing.c:3397:6: note: called from here
+ 3397 |  t = gel_matrixw_vindex (m->mat.matrix, 1);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from graphing.c:41:
+matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
+  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
+      | ^~~~~~~~~~~~~~~~~~
+graphing.c:3408:6: note: called from here
+ 3408 |  t = gel_matrixw_vindex (m->mat.matrix, 2);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from graphing.c:41:
+matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
+  152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
+      | ^~~~~~~~~~~~~~~~~~
+graphing.c:3419:6: note: called from here
+ 3419 |  t = gel_matrixw_vindex (m->mat.matrix, 3);
+      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+eval.c: In function 'gel_funccall':
+eval.c:692:1: warning: inlining failed in call to 'copynode_to': --param max-inline-insns-single limit reached [-Winline]
+  692 | copynode_to(GelETree *empty, GelETree *o)
+      | ^~~~~~~~~~~
+eval.c:808:2: note: called from here
+  808 |  copynode_to(n,o);
+      |  ^~~~~~~~~~~~~~~~
+In file included from graphing.c:41:
 graphing.c: In function 'LinePlot_op':
 matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
   152 | gel_matrixw_vindex(GelMatrixW *m, int i) {
@@ -11610,7 +11677,6 @@
 graphing.c:10603:6: note: called from here
 10603 |  t = gel_matrixw_vindex (a->mat.matrix, 2);
       |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/bin/bash ../libtool  --tag=CC   --mode=link gcc  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o genius binreloc.o calc.o eval.o genius.o util.o dict.o funclib.o symbolic.o mpwrap.o mpzextra.o matrix.o matrixw.o matop.o compil.o parseutil.o inter.o lexer.o plugin.o plugread.o parse.o genius_lists.o utype.o geloutput.o ../ve/libvicious.a -lm -lgmp -lmpfr  -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lreadline -ltermcap -lmpfr 
 In file included from graphing.c:41:
 graphing.c: In function 'set_LinePlotVariableNames':
 matrixw.h:152:1: warning: inlining failed in call to 'gel_matrixw_vindex': --param max-inline-insns-single limit reached [-Winline]
@@ -11677,8 +11743,9 @@
 graphing.c:8809:7: note: called from here
  8809 |   t = gel_matrixw_vindex (m, 0);
       |       ^~~~~~~~~~~~~~~~~~~~~~~~~
+/bin/sh ../libtool  --tag=CC   --mode=link gcc  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o genius binreloc.o calc.o eval.o genius.o util.o dict.o funclib.o symbolic.o mpwrap.o mpzextra.o matrix.o matrixw.o matop.o compil.o parseutil.o inter.o lexer.o plugin.o plugread.o parse.o genius_lists.o utype.o geloutput.o ../ve/libvicious.a -lm -lgmp -lmpfr  -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lreadline -ltermcap -lmpfr 
 libtool: link: gcc -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed -o genius binreloc.o calc.o eval.o genius.o util.o dict.o funclib.o symbolic.o mpwrap.o mpzextra.o matrix.o matrixw.o matop.o compil.o parseutil.o inter.o lexer.o plugin.o plugread.o parse.o genius_lists.o utype.o geloutput.o -Wl,--export-dynamic -pthread  ../ve/libvicious.a -lm -lgmp -lgmodule-2.0 -lglib-2.0 -lreadline -ltermcap -lmpfr -pthread
-/bin/bash ../libtool  --tag=CC   --mode=link gcc  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o gnome-genius binreloc.o calc.o eval.o gnome-genius.o util.o dict.o funclib.o symbolic.o mpwrap.o mpzextra.o matrix.o matrixw.o matop.o compil.o lexer.o parseutil.o inter.o examples.o plugin.o plugread.o parse.o genius_lists.o utype.o geloutput.o graphing.o ../ve/libviciousui.a ../gtkextra/libgtkextra-genius.a -lm -lgmp -lmpfr  -lamtk-5 -lvte-2.91 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lgtksourceview-4 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lreadline -ltermcap -lmpfr 
+/bin/sh ../libtool  --tag=CC   --mode=link gcc  -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o gnome-genius binreloc.o calc.o eval.o gnome-genius.o util.o dict.o funclib.o symbolic.o mpwrap.o mpzextra.o matrix.o matrixw.o matop.o compil.o lexer.o parseutil.o inter.o examples.o plugin.o plugread.o parse.o genius_lists.o utype.o geloutput.o graphing.o ../ve/libviciousui.a ../gtkextra/libgtkextra-genius.a -lm -lgmp -lmpfr  -lamtk-5 -lvte-2.91 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lgtksourceview-4 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lreadline -ltermcap -lmpfr 
 libtool: link: gcc -finline-functions -frename-registers -g -O2 -fdebug-prefix-map=/build/genius-1.0.25=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed -o gnome-genius binreloc.o calc.o eval.o gnome-genius.o util.o dict.o funclib.o symbolic.o mpwrap.o mpzextra.o matrix.o matrixw.o matop.o compil.o lexer.o parseutil.o inter.o examples.o plugin.o plugread.o parse.o genius_lists.o utype.o geloutput.o graphing.o -Wl,--export-dynamic -pthread  ../ve/libviciousui.a ../gtkextra/libgtkextra-genius.a -lm -lgmp -lamtk-5 -lvte-2.91 -lgmodule-2.0 -lgtksourceview-4 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lreadline -ltermcap -lmpfr -pthread
 make[4]: Leaving directory '/build/genius-1.0.25/src'
 make[3]: Leaving directory '/build/genius-1.0.25/src'
@@ -12088,25 +12155,25 @@
 make  install-am
 make[4]: Entering directory '/build/genius-1.0.25/src'
 make[5]: Entering directory '/build/genius-1.0.25/src'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/bin'
-  /bin/bash ../libtool   --mode=install /usr/bin/install -c gnome-genius genius '/build/genius-1.0.25/debian/tmp/usr/bin'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/bin'
+  /bin/sh ../libtool   --mode=install /usr/bin/install -c gnome-genius genius '/build/genius-1.0.25/debian/tmp/usr/bin'
 libtool: install: /usr/bin/install -c gnome-genius /build/genius-1.0.25/debian/tmp/usr/bin/gnome-genius
 libtool: install: /usr/bin/install -c genius /build/genius-1.0.25/debian/tmp/usr/bin/genius
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/lib/aarch64-linux-gnu/genius'
-  /bin/bash ../libtool   --mode=install /usr/bin/install -c genius-readline-helper-fifo '/build/genius-1.0.25/debian/tmp/usr/lib/aarch64-linux-gnu/genius'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/lib/aarch64-linux-gnu/genius'
+  /bin/sh ../libtool   --mode=install /usr/bin/install -c genius-readline-helper-fifo '/build/genius-1.0.25/debian/tmp/usr/lib/aarch64-linux-gnu/genius'
 libtool: install: /usr/bin/install -c genius-readline-helper-fifo /build/genius-1.0.25/debian/tmp/usr/lib/aarch64-linux-gnu/genius/genius-readline-helper-fifo
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/applications'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/applications'
  /usr/bin/install -c -m 644 gnome-genius.desktop '/build/genius-1.0.25/debian/tmp/usr/share/applications'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gtksourceview/'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gtksourceview/'
  /usr/bin/install -c -m 644 genius.lang '/build/genius-1.0.25/debian/tmp/usr/share/genius/gtksourceview/'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/plugins'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/plugins'
  /usr/bin/install -c -m 644 test.plugin '/build/genius-1.0.25/debian/tmp/usr/share/genius/plugins'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/lib/aarch64-linux-gnu/genius'
- /bin/bash ../libtool   --mode=install /usr/bin/install -c   libtestplugin.la '/build/genius-1.0.25/debian/tmp/usr/lib/aarch64-linux-gnu/genius'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/lib/aarch64-linux-gnu/genius'
+ /bin/sh ../libtool   --mode=install /usr/bin/install -c   libtestplugin.la '/build/genius-1.0.25/debian/tmp/usr/lib/aarch64-linux-gnu/genius'
 libtool: install: /usr/bin/install -c .libs/libtestplugin.so /build/genius-1.0.25/debian/tmp/usr/lib/aarch64-linux-gnu/genius/libtestplugin.so
 libtool: install: /usr/bin/install -c .libs/libtestplugin.lai /build/genius-1.0.25/debian/tmp/usr/lib/aarch64-linux-gnu/genius/libtestplugin.la
 libtool: warning: remember to run 'libtool --finish /usr/lib/aarch64-linux-gnu/genius'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/include/genius'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/include/genius'
  /usr/bin/install -c -m 644 genius-i18n.h plug_api.h geloutput.h mpwrap.h mpzextra.h structs.h matrix.h matrixw.h matop.h compil.h utype.h dict.h lexer.h eval.h '/build/genius-1.0.25/debian/tmp/usr/include/genius'
 make[5]: Leaving directory '/build/genius-1.0.25/src'
 make[4]: Leaving directory '/build/genius-1.0.25/src'
@@ -12117,7 +12184,7 @@
 make[4]: Entering directory '/build/genius-1.0.25/pixmaps/8x8'
 make[5]: Entering directory '/build/genius-1.0.25/pixmaps/8x8'
 make[5]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/8x8/apps'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/8x8/apps'
  /usr/bin/install -c -m 644 gnome-genius.png '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/8x8/apps'
 make[5]: Leaving directory '/build/genius-1.0.25/pixmaps/8x8'
 make[4]: Leaving directory '/build/genius-1.0.25/pixmaps/8x8'
@@ -12125,7 +12192,7 @@
 make[4]: Entering directory '/build/genius-1.0.25/pixmaps/16x16'
 make[5]: Entering directory '/build/genius-1.0.25/pixmaps/16x16'
 make[5]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/16x16/apps'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/16x16/apps'
  /usr/bin/install -c -m 644 gnome-genius.png '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/16x16/apps'
 make[5]: Leaving directory '/build/genius-1.0.25/pixmaps/16x16'
 make[4]: Leaving directory '/build/genius-1.0.25/pixmaps/16x16'
@@ -12133,7 +12200,7 @@
 make[4]: Entering directory '/build/genius-1.0.25/pixmaps/22x22'
 make[5]: Entering directory '/build/genius-1.0.25/pixmaps/22x22'
 make[5]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/22x22/apps'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/22x22/apps'
  /usr/bin/install -c -m 644 gnome-genius.png '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/22x22/apps'
 make[5]: Leaving directory '/build/genius-1.0.25/pixmaps/22x22'
 make[4]: Leaving directory '/build/genius-1.0.25/pixmaps/22x22'
@@ -12141,7 +12208,7 @@
 make[4]: Entering directory '/build/genius-1.0.25/pixmaps/24x24'
 make[5]: Entering directory '/build/genius-1.0.25/pixmaps/24x24'
 make[5]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/24x24/apps'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/24x24/apps'
  /usr/bin/install -c -m 644 gnome-genius.png '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/24x24/apps'
 make[5]: Leaving directory '/build/genius-1.0.25/pixmaps/24x24'
 make[4]: Leaving directory '/build/genius-1.0.25/pixmaps/24x24'
@@ -12149,7 +12216,7 @@
 make[4]: Entering directory '/build/genius-1.0.25/pixmaps/32x32'
 make[5]: Entering directory '/build/genius-1.0.25/pixmaps/32x32'
 make[5]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/32x32/apps'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/32x32/apps'
  /usr/bin/install -c -m 644 gnome-genius.png genius-stock-plot.png '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/32x32/apps'
 make[5]: Leaving directory '/build/genius-1.0.25/pixmaps/32x32'
 make[4]: Leaving directory '/build/genius-1.0.25/pixmaps/32x32'
@@ -12157,7 +12224,7 @@
 make[4]: Entering directory '/build/genius-1.0.25/pixmaps/48x48'
 make[5]: Entering directory '/build/genius-1.0.25/pixmaps/48x48'
 make[5]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/48x48/apps'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/48x48/apps'
  /usr/bin/install -c -m 644 gnome-genius.png genius-stock-plot.png '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/48x48/apps'
 make[5]: Leaving directory '/build/genius-1.0.25/pixmaps/48x48'
 make[4]: Leaving directory '/build/genius-1.0.25/pixmaps/48x48'
@@ -12165,7 +12232,7 @@
 make[4]: Entering directory '/build/genius-1.0.25/pixmaps/256x256'
 make[5]: Entering directory '/build/genius-1.0.25/pixmaps/256x256'
 make[5]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/256x256/apps'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/256x256/apps'
  /usr/bin/install -c -m 644 gnome-genius.png '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/256x256/apps'
 make[5]: Leaving directory '/build/genius-1.0.25/pixmaps/256x256'
 make[4]: Leaving directory '/build/genius-1.0.25/pixmaps/256x256'
@@ -12173,14 +12240,14 @@
 make[4]: Entering directory '/build/genius-1.0.25/pixmaps/scalable'
 make[5]: Entering directory '/build/genius-1.0.25/pixmaps/scalable'
 make[5]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/scalable/apps'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/scalable/apps'
  /usr/bin/install -c -m 644 gnome-genius.svg '/build/genius-1.0.25/debian/tmp/usr/share/icons/hicolor/scalable/apps'
 make[5]: Leaving directory '/build/genius-1.0.25/pixmaps/scalable'
 make[4]: Leaving directory '/build/genius-1.0.25/pixmaps/scalable'
 make[4]: Entering directory '/build/genius-1.0.25/pixmaps'
 make[5]: Entering directory '/build/genius-1.0.25/pixmaps'
 make[5]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/'
  /usr/bin/install -c -m 644 genius-graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/'
 make  install-data-hook
 make[6]: Entering directory '/build/genius-1.0.25/pixmaps'
@@ -12194,7 +12261,7 @@
 make[3]: Entering directory '/build/genius-1.0.25/examples'
 make[4]: Entering directory '/build/genius-1.0.25/examples'
 make[4]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/examples/'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/examples/'
  /usr/bin/install -c -m 644 cantor.gel dalemb-pulse.gel eulers-method-exp-run.gel eulers-method-graphs-exp.gel explicit-fdm-heat.gel explicit-fdm-heat-line.gel laplace-fdm.gel linapprox.gel lorenz.gel newton-calc-sqrt2.gel newton-sqrt2.gel shocks.gel sierpinski.gel standing-waves.gel strange-attractor.gel duffing-equation-trajectories.gel taylor-exp.gel taylor-sin.gel fourier-series-animation.gel fourier-series-plotting.gel rsa.gel easy-matrix-examples.gel peano.gel peano-restrictions.gel vibrating-drumhead-modes.gel complex-analysis-newton-fractal.gel complex-analysis-mandelbrot-set.gel complex-analysis-mandelbrot-define.gel complex-analysis-wandering-ball.gel complex-analysis-mesh.gel complex-analysis-argument-principle.gel riemann-integral.gel riemann-integral-darboux.gel plot-ode-runge-kutta.gel plot-ode-trajectory-runge-kutta.gel plane-curves.gel '/build/genius-1.0.25/debian/tmp/usr/share/genius/examples/'
 make[4]: Leaving directory '/build/genius-1.0.25/examples'
 make[3]: Leaving directory '/build/genius-1.0.25/examples'
@@ -12205,7 +12272,7 @@
 make[5]: Entering directory '/build/genius-1.0.25/lib/calculus'
 make[6]: Entering directory '/build/genius-1.0.25/lib/calculus'
 make[6]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/calculus'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/calculus'
  /usr/bin/install -c -m 644 differentiation.gel integration.gel limits.gel sums_products.gel fourier.gel loader.gel '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/calculus'
 make[6]: Leaving directory '/build/genius-1.0.25/lib/calculus'
 make[5]: Leaving directory '/build/genius-1.0.25/lib/calculus'
@@ -12215,7 +12282,7 @@
 make[5]: Entering directory '/build/genius-1.0.25/lib/combinatorics'
 make[6]: Entering directory '/build/genius-1.0.25/lib/combinatorics'
 make[6]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/combinatorics'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/combinatorics'
  /usr/bin/install -c -m 644 factorial.gel misc.gel recursive_sequences.gel loader.gel '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/combinatorics'
 make[6]: Leaving directory '/build/genius-1.0.25/lib/combinatorics'
 make[5]: Leaving directory '/build/genius-1.0.25/lib/combinatorics'
@@ -12225,7 +12292,7 @@
 make[5]: Entering directory '/build/genius-1.0.25/lib/equation_solving'
 make[6]: Entering directory '/build/genius-1.0.25/lib/equation_solving'
 make[6]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/equation_solving'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/equation_solving'
  /usr/bin/install -c -m 644 find_root.gel diffeqs.gel formulas.gel newton.gel loader.gel '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/equation_solving'
 make[6]: Leaving directory '/build/genius-1.0.25/lib/equation_solving'
 make[5]: Leaving directory '/build/genius-1.0.25/lib/equation_solving'
@@ -12235,7 +12302,7 @@
 make[5]: Entering directory '/build/genius-1.0.25/lib/functions'
 make[6]: Entering directory '/build/genius-1.0.25/lib/functions'
 make[6]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/functions'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/functions'
  /usr/bin/install -c -m 644 delta.gel elementary.gel numerical.gel orthogonal_polynomials.gel kernels.gel complex_numbers.gel lambert.gel loader.gel '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/functions'
 make[6]: Leaving directory '/build/genius-1.0.25/lib/functions'
 make[5]: Leaving directory '/build/genius-1.0.25/lib/functions'
@@ -12245,7 +12312,7 @@
 make[5]: Entering directory '/build/genius-1.0.25/lib/linear_algebra'
 make[6]: Entering directory '/build/genius-1.0.25/lib/linear_algebra'
 make[6]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/linear_algebra'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/linear_algebra'
  /usr/bin/install -c -m 644 bilinear_forms.gel linear_algebra.gel misc.gel special_matrices.gel subspaces.gel loader.gel '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/linear_algebra'
 make[6]: Leaving directory '/build/genius-1.0.25/lib/linear_algebra'
 make[5]: Leaving directory '/build/genius-1.0.25/lib/linear_algebra'
@@ -12255,7 +12322,7 @@
 make[5]: Entering directory '/build/genius-1.0.25/lib/misc'
 make[6]: Entering directory '/build/genius-1.0.25/lib/misc'
 make[6]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/misc'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/misc'
  /usr/bin/install -c -m 644 misc.gel loader.gel '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/misc'
 make[6]: Leaving directory '/build/genius-1.0.25/lib/misc'
 make[5]: Leaving directory '/build/genius-1.0.25/lib/misc'
@@ -12265,7 +12332,7 @@
 make[5]: Entering directory '/build/genius-1.0.25/lib/number_theory'
 make[6]: Entering directory '/build/genius-1.0.25/lib/number_theory'
 make[6]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/number_theory'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/number_theory'
  /usr/bin/install -c -m 644 factoring.gel misc.gel modulus.gel primes.gel quadratic.gel loader.gel '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/number_theory'
 make[6]: Leaving directory '/build/genius-1.0.25/lib/number_theory'
 make[5]: Leaving directory '/build/genius-1.0.25/lib/number_theory'
@@ -12275,7 +12342,7 @@
 make[5]: Entering directory '/build/genius-1.0.25/lib/statistics'
 make[6]: Entering directory '/build/genius-1.0.25/lib/statistics'
 make[6]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/statistics'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/statistics'
  /usr/bin/install -c -m 644 basic.gel loader.gel '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/statistics'
 make[6]: Leaving directory '/build/genius-1.0.25/lib/statistics'
 make[5]: Leaving directory '/build/genius-1.0.25/lib/statistics'
@@ -12285,7 +12352,7 @@
 make[5]: Entering directory '/build/genius-1.0.25/lib/sets'
 make[6]: Entering directory '/build/genius-1.0.25/lib/sets'
 make[6]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/sets'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/sets'
  /usr/bin/install -c -m 644 basic.gel loader.gel '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/sets'
 make[6]: Leaving directory '/build/genius-1.0.25/lib/sets'
 make[5]: Leaving directory '/build/genius-1.0.25/lib/sets'
@@ -12295,7 +12362,7 @@
 make[5]: Entering directory '/build/genius-1.0.25/lib/symbolic'
 make[6]: Entering directory '/build/genius-1.0.25/lib/symbolic'
 make[6]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/symbolic'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/symbolic'
  /usr/bin/install -c -m 644 differentiation.gel loader.gel '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/symbolic'
 make[6]: Leaving directory '/build/genius-1.0.25/lib/symbolic'
 make[5]: Leaving directory '/build/genius-1.0.25/lib/symbolic'
@@ -12305,7 +12372,7 @@
 make[5]: Entering directory '/build/genius-1.0.25/lib/commutative_algebra'
 make[6]: Entering directory '/build/genius-1.0.25/lib/commutative_algebra'
 make[6]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/commutative_algebra'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/commutative_algebra'
  /usr/bin/install -c -m 644 macaulay.gel loader.gel '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel/commutative_algebra'
 make[6]: Leaving directory '/build/genius-1.0.25/lib/commutative_algebra'
 make[5]: Leaving directory '/build/genius-1.0.25/lib/commutative_algebra'
@@ -12313,7 +12380,7 @@
 make[4]: Entering directory '/build/genius-1.0.25/lib'
 make[5]: Entering directory '/build/genius-1.0.25/lib'
 make[5]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel'
  /usr/bin/install -c -m 644 lib.cgel loader.gel '/build/genius-1.0.25/debian/tmp/usr/share/genius/gel'
 make[5]: Leaving directory '/build/genius-1.0.25/lib'
 make[4]: Leaving directory '/build/genius-1.0.25/lib'
@@ -12323,7 +12390,7 @@
 linguas="ar az bs ca cs da de dz el en_CA en_GB eo es eu fi fr ga gl hi hr hu id it ja ko lv mk ml nb ne nl oc pa pt_BR pt ro ru rw sl sq sr@latin sr sv zh_CN zh_TW "; \
 for lang in $linguas; do \
   dir=/build/genius-1.0.25/debian/tmp/usr/share/locale/$lang/LC_MESSAGES; \
-  /bin/bash /build/genius-1.0.25/install-sh -d $dir; \
+  /bin/sh /build/genius-1.0.25/install-sh -d $dir; \
   if test -r $lang.gmo; then \
     /usr/bin/install -c -m 644 $lang.gmo $dir/genius.mo; \
     echo "installing $lang.gmo as $dir/genius.mo"; \
@@ -12396,99 +12463,99 @@
 make[3]: Entering directory '/build/genius-1.0.25/help'
 make[4]: Entering directory '/build/genius-1.0.25/help'
 make[4]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius'
  /usr/bin/install -c -m 644 genius.txt '/build/genius-1.0.25/debian/tmp/usr/share/genius'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/C/html'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/C/html'
  /usr/bin/install -c -m 644 C/html/ch01.html C/html/ch02.html C/html/ch02s02.html C/html/ch03.html C/html/ch03s02.html C/html/ch03s03.html C/html/ch04.html C/html/ch04s02.html C/html/ch04s03.html C/html/ch04s04.html C/html/ch04s05.html C/html/ch05.html C/html/ch05s02.html C/html/ch05s03.html C/html/ch05s04.html C/html/ch05s05.html C/html/ch05s06.html C/html/ch05s07.html C/html/ch06.html C/html/ch06s02.html C/html/ch06s03.html C/html/ch06s04.html C/html/ch06s05.html C/html/ch06s06.html C/html/ch06s07.html C/html/ch06s08.html C/html/ch06s09.html C/html/ch07.html C/html/ch07s02.html C/html/ch07s03.html C/html/ch07s04.html C/html/ch07s05.html C/html/ch07s06.html C/html/ch08.html C/html/ch08s02.html C/html/ch08s03.html C/html/ch09.html C/html/ch10.html C/html/ch11.html C/html/ch11s02.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/C/html'
  /usr/bin/install -c -m 644 C/html/ch11s03.html C/html/ch11s04.html C/html/ch11s05.html C/html/ch11s06.html C/html/ch11s07.html C/html/ch11s08.html C/html/ch11s09.html C/html/ch11s10.html C/html/ch11s11.html C/html/ch11s12.html C/html/ch11s13.html C/html/ch11s14.html C/html/ch11s15.html C/html/ch11s16.html C/html/ch11s17.html C/html/ch11s18.html C/html/ch11s19.html C/html/ch11s20.html C/html/ch12.html C/html/ch13.html C/html/ch13s02.html C/html/ch13s03.html C/html/ch13s04.html C/html/ch14.html C/html/index.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/C/html'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/C/html/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/C/html/figures'
  /usr/bin/install -c -m 644 C/figures/genius_window.png C/figures/line_plot_graph.png C/figures/line_plot.png C/figures/parametric_graph.png C/figures/parametric.png C/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/C/html/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/cs/html'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/cs/html'
  /usr/bin/install -c -m 644 cs/html/ch01.html cs/html/ch02.html cs/html/ch02s02.html cs/html/ch03.html cs/html/ch03s02.html cs/html/ch03s03.html cs/html/ch04.html cs/html/ch04s02.html cs/html/ch04s03.html cs/html/ch04s04.html cs/html/ch04s05.html cs/html/ch05.html cs/html/ch05s02.html cs/html/ch05s03.html cs/html/ch05s04.html cs/html/ch05s05.html cs/html/ch05s06.html cs/html/ch05s07.html cs/html/ch06.html cs/html/ch06s02.html cs/html/ch06s03.html cs/html/ch06s04.html cs/html/ch06s05.html cs/html/ch06s06.html cs/html/ch06s07.html cs/html/ch06s08.html cs/html/ch06s09.html cs/html/ch07.html cs/html/ch07s02.html cs/html/ch07s03.html cs/html/ch07s04.html cs/html/ch07s05.html cs/html/ch07s06.html cs/html/ch08.html cs/html/ch08s02.html cs/html/ch08s03.html cs/html/ch09.html cs/html/ch10.html cs/html/ch11.html cs/html/ch11s02.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/cs/html'
  /usr/bin/install -c -m 644 cs/html/ch11s03.html cs/html/ch11s04.html cs/html/ch11s05.html cs/html/ch11s06.html cs/html/ch11s07.html cs/html/ch11s08.html cs/html/ch11s09.html cs/html/ch11s10.html cs/html/ch11s11.html cs/html/ch11s12.html cs/html/ch11s13.html cs/html/ch11s14.html cs/html/ch11s15.html cs/html/ch11s16.html cs/html/ch11s17.html cs/html/ch11s18.html cs/html/ch11s19.html cs/html/ch11s20.html cs/html/ch12.html cs/html/ch13.html cs/html/ch13s02.html cs/html/ch13s03.html cs/html/ch13s04.html cs/html/ch14.html cs/html/index.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/cs/html'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/cs/html/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/cs/html/figures'
  /usr/bin/install -c -m 644 cs/figures/genius_window.png cs/figures/line_plot_graph.png cs/figures/line_plot.png cs/figures/parametric_graph.png cs/figures/parametric.png cs/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/cs/html/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/de/html'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/de/html'
  /usr/bin/install -c -m 644 de/html/ch01.html de/html/ch02.html de/html/ch02s02.html de/html/ch03.html de/html/ch03s02.html de/html/ch03s03.html de/html/ch04.html de/html/ch04s02.html de/html/ch04s03.html de/html/ch04s04.html de/html/ch04s05.html de/html/ch05.html de/html/ch05s02.html de/html/ch05s03.html de/html/ch05s04.html de/html/ch05s05.html de/html/ch05s06.html de/html/ch05s07.html de/html/ch06.html de/html/ch06s02.html de/html/ch06s03.html de/html/ch06s04.html de/html/ch06s05.html de/html/ch06s06.html de/html/ch06s07.html de/html/ch06s08.html de/html/ch06s09.html de/html/ch07.html de/html/ch07s02.html de/html/ch07s03.html de/html/ch07s04.html de/html/ch07s05.html de/html/ch07s06.html de/html/ch08.html de/html/ch08s02.html de/html/ch08s03.html de/html/ch09.html de/html/ch10.html de/html/ch11.html de/html/ch11s02.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/de/html'
  /usr/bin/install -c -m 644 de/html/ch11s03.html de/html/ch11s04.html de/html/ch11s05.html de/html/ch11s06.html de/html/ch11s07.html de/html/ch11s08.html de/html/ch11s09.html de/html/ch11s10.html de/html/ch11s11.html de/html/ch11s12.html de/html/ch11s13.html de/html/ch11s14.html de/html/ch11s15.html de/html/ch11s16.html de/html/ch11s17.html de/html/ch11s18.html de/html/ch11s19.html de/html/ch11s20.html de/html/ch12.html de/html/ch13.html de/html/ch13s02.html de/html/ch13s03.html de/html/ch13s04.html de/html/ch14.html de/html/index.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/de/html'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/de/html/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/de/html/figures'
  /usr/bin/install -c -m 644 de/figures/genius_window.png de/figures/line_plot_graph.png de/figures/line_plot.png de/figures/parametric_graph.png de/figures/parametric.png de/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/de/html/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/el/html'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/el/html'
  /usr/bin/install -c -m 644 el/html/ch01.html el/html/ch02.html el/html/ch02s02.html el/html/ch03.html el/html/ch03s02.html el/html/ch03s03.html el/html/ch04.html el/html/ch04s02.html el/html/ch04s03.html el/html/ch04s04.html el/html/ch04s05.html el/html/ch05.html el/html/ch05s02.html el/html/ch05s03.html el/html/ch05s04.html el/html/ch05s05.html el/html/ch05s06.html el/html/ch05s07.html el/html/ch06.html el/html/ch06s02.html el/html/ch06s03.html el/html/ch06s04.html el/html/ch06s05.html el/html/ch06s06.html el/html/ch06s07.html el/html/ch06s08.html el/html/ch06s09.html el/html/ch07.html el/html/ch07s02.html el/html/ch07s03.html el/html/ch07s04.html el/html/ch07s05.html el/html/ch07s06.html el/html/ch08.html el/html/ch08s02.html el/html/ch08s03.html el/html/ch09.html el/html/ch10.html el/html/ch11.html el/html/ch11s02.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/el/html'
  /usr/bin/install -c -m 644 el/html/ch11s03.html el/html/ch11s04.html el/html/ch11s05.html el/html/ch11s06.html el/html/ch11s07.html el/html/ch11s08.html el/html/ch11s09.html el/html/ch11s10.html el/html/ch11s11.html el/html/ch11s12.html el/html/ch11s13.html el/html/ch11s14.html el/html/ch11s15.html el/html/ch11s16.html el/html/ch11s17.html el/html/ch11s18.html el/html/ch11s19.html el/html/ch11s20.html el/html/ch12.html el/html/ch13.html el/html/ch13s02.html el/html/ch13s03.html el/html/ch13s04.html el/html/ch14.html el/html/index.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/el/html'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/el/html/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/el/html/figures'
  /usr/bin/install -c -m 644 C/figures/genius_window.png C/figures/line_plot_graph.png C/figures/line_plot.png C/figures/parametric_graph.png C/figures/parametric.png C/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/el/html/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/es/html'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/es/html'
  /usr/bin/install -c -m 644 es/html/ch01.html es/html/ch02.html es/html/ch02s02.html es/html/ch03.html es/html/ch03s02.html es/html/ch03s03.html es/html/ch04.html es/html/ch04s02.html es/html/ch04s03.html es/html/ch04s04.html es/html/ch04s05.html es/html/ch05.html es/html/ch05s02.html es/html/ch05s03.html es/html/ch05s04.html es/html/ch05s05.html es/html/ch05s06.html es/html/ch05s07.html es/html/ch06.html es/html/ch06s02.html es/html/ch06s03.html es/html/ch06s04.html es/html/ch06s05.html es/html/ch06s06.html es/html/ch06s07.html es/html/ch06s08.html es/html/ch06s09.html es/html/ch07.html es/html/ch07s02.html es/html/ch07s03.html es/html/ch07s04.html es/html/ch07s05.html es/html/ch07s06.html es/html/ch08.html es/html/ch08s02.html es/html/ch08s03.html es/html/ch09.html es/html/ch10.html es/html/ch11.html es/html/ch11s02.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/es/html'
  /usr/bin/install -c -m 644 es/html/ch11s03.html es/html/ch11s04.html es/html/ch11s05.html es/html/ch11s06.html es/html/ch11s07.html es/html/ch11s08.html es/html/ch11s09.html es/html/ch11s10.html es/html/ch11s11.html es/html/ch11s12.html es/html/ch11s13.html es/html/ch11s14.html es/html/ch11s15.html es/html/ch11s16.html es/html/ch11s17.html es/html/ch11s18.html es/html/ch11s19.html es/html/ch11s20.html es/html/ch12.html es/html/ch13.html es/html/ch13s02.html es/html/ch13s03.html es/html/ch13s04.html es/html/ch14.html es/html/index.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/es/html'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/es/html/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/es/html/figures'
  /usr/bin/install -c -m 644 C/figures/genius_window.png C/figures/line_plot_graph.png C/figures/line_plot.png C/figures/parametric_graph.png C/figures/parametric.png C/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/es/html/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/fr/html'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/fr/html'
  /usr/bin/install -c -m 644 fr/html/ch01.html fr/html/ch02.html fr/html/ch02s02.html fr/html/ch03.html fr/html/ch03s02.html fr/html/ch03s03.html fr/html/ch04.html fr/html/ch04s02.html fr/html/ch04s03.html fr/html/ch04s04.html fr/html/ch04s05.html fr/html/ch05.html fr/html/ch05s02.html fr/html/ch05s03.html fr/html/ch05s04.html fr/html/ch05s05.html fr/html/ch05s06.html fr/html/ch05s07.html fr/html/ch06.html fr/html/ch06s02.html fr/html/ch06s03.html fr/html/ch06s04.html fr/html/ch06s05.html fr/html/ch06s06.html fr/html/ch06s07.html fr/html/ch06s08.html fr/html/ch06s09.html fr/html/ch07.html fr/html/ch07s02.html fr/html/ch07s03.html fr/html/ch07s04.html fr/html/ch07s05.html fr/html/ch07s06.html fr/html/ch08.html fr/html/ch08s02.html fr/html/ch08s03.html fr/html/ch09.html fr/html/ch10.html fr/html/ch11.html fr/html/ch11s02.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/fr/html'
  /usr/bin/install -c -m 644 fr/html/ch11s03.html fr/html/ch11s04.html fr/html/ch11s05.html fr/html/ch11s06.html fr/html/ch11s07.html fr/html/ch11s08.html fr/html/ch11s09.html fr/html/ch11s10.html fr/html/ch11s11.html fr/html/ch11s12.html fr/html/ch11s13.html fr/html/ch11s14.html fr/html/ch11s15.html fr/html/ch11s16.html fr/html/ch11s17.html fr/html/ch11s18.html fr/html/ch11s19.html fr/html/ch11s20.html fr/html/ch12.html fr/html/ch13.html fr/html/ch13s02.html fr/html/ch13s03.html fr/html/ch13s04.html fr/html/ch14.html fr/html/index.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/fr/html'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/fr/html/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/fr/html/figures'
  /usr/bin/install -c -m 644 fr/figures/genius_window.png fr/figures/line_plot_graph.png fr/figures/line_plot.png fr/figures/parametric_graph.png fr/figures/parametric.png fr/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/fr/html/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/pt_BR/html'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/pt_BR/html'
  /usr/bin/install -c -m 644 pt_BR/html/ch01.html pt_BR/html/ch02.html pt_BR/html/ch02s02.html pt_BR/html/ch03.html pt_BR/html/ch03s02.html pt_BR/html/ch03s03.html pt_BR/html/ch04.html pt_BR/html/ch04s02.html pt_BR/html/ch04s03.html pt_BR/html/ch04s04.html pt_BR/html/ch04s05.html pt_BR/html/ch05.html pt_BR/html/ch05s02.html pt_BR/html/ch05s03.html pt_BR/html/ch05s04.html pt_BR/html/ch05s05.html pt_BR/html/ch05s06.html pt_BR/html/ch05s07.html pt_BR/html/ch06.html pt_BR/html/ch06s02.html pt_BR/html/ch06s03.html pt_BR/html/ch06s04.html pt_BR/html/ch06s05.html pt_BR/html/ch06s06.html pt_BR/html/ch06s07.html pt_BR/html/ch06s08.html pt_BR/html/ch06s09.html pt_BR/html/ch07.html pt_BR/html/ch07s02.html pt_BR/html/ch07s03.html pt_BR/html/ch07s04.html pt_BR/html/ch07s05.html pt_BR/html/ch07s06.html pt_BR/html/ch08.html pt_BR/html/ch08s02.html pt_BR/html/ch08s03.html pt_BR/html/ch09.html pt_BR/html/ch10.html pt_BR/html/ch11.html pt_BR/html/ch11s02.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/pt_BR/html'
  /usr/bin/install -c -m 644 pt_BR/html/ch11s03.html pt_BR/html/ch11s04.html pt_BR/html/ch11s05.html pt_BR/html/ch11s06.html pt_BR/html/ch11s07.html pt_BR/html/ch11s08.html pt_BR/html/ch11s09.html pt_BR/html/ch11s10.html pt_BR/html/ch11s11.html pt_BR/html/ch11s12.html pt_BR/html/ch11s13.html pt_BR/html/ch11s14.html pt_BR/html/ch11s15.html pt_BR/html/ch11s16.html pt_BR/html/ch11s17.html pt_BR/html/ch11s18.html pt_BR/html/ch11s19.html pt_BR/html/ch11s20.html pt_BR/html/ch12.html pt_BR/html/ch13.html pt_BR/html/ch13s02.html pt_BR/html/ch13s03.html pt_BR/html/ch13s04.html pt_BR/html/ch14.html pt_BR/html/index.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/pt_BR/html'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/pt_BR/html/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/pt_BR/html/figures'
  /usr/bin/install -c -m 644 C/figures/genius_window.png C/figures/line_plot_graph.png C/figures/line_plot.png C/figures/parametric_graph.png C/figures/parametric.png C/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/pt_BR/html/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/ru/html'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/ru/html'
  /usr/bin/install -c -m 644 ru/html/ch01.html ru/html/ch02.html ru/html/ch02s02.html ru/html/ch03.html ru/html/ch03s02.html ru/html/ch03s03.html ru/html/ch04.html ru/html/ch04s02.html ru/html/ch04s03.html ru/html/ch04s04.html ru/html/ch04s05.html ru/html/ch05.html ru/html/ch05s02.html ru/html/ch05s03.html ru/html/ch05s04.html ru/html/ch05s05.html ru/html/ch05s06.html ru/html/ch05s07.html ru/html/ch06.html ru/html/ch06s02.html ru/html/ch06s03.html ru/html/ch06s04.html ru/html/ch06s05.html ru/html/ch06s06.html ru/html/ch06s07.html ru/html/ch06s08.html ru/html/ch06s09.html ru/html/ch07.html ru/html/ch07s02.html ru/html/ch07s03.html ru/html/ch07s04.html ru/html/ch07s05.html ru/html/ch07s06.html ru/html/ch08.html ru/html/ch08s02.html ru/html/ch08s03.html ru/html/ch09.html ru/html/ch10.html ru/html/ch11.html ru/html/ch11s02.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/ru/html'
  /usr/bin/install -c -m 644 ru/html/ch11s03.html ru/html/ch11s04.html ru/html/ch11s05.html ru/html/ch11s06.html ru/html/ch11s07.html ru/html/ch11s08.html ru/html/ch11s09.html ru/html/ch11s10.html ru/html/ch11s11.html ru/html/ch11s12.html ru/html/ch11s13.html ru/html/ch11s14.html ru/html/ch11s15.html ru/html/ch11s16.html ru/html/ch11s17.html ru/html/ch11s18.html ru/html/ch11s19.html ru/html/ch11s20.html ru/html/ch12.html ru/html/ch13.html ru/html/ch13s02.html ru/html/ch13s03.html ru/html/ch13s04.html ru/html/ch14.html ru/html/index.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/ru/html'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/ru/html/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/ru/html/figures'
  /usr/bin/install -c -m 644 C/figures/genius_window.png C/figures/line_plot_graph.png C/figures/line_plot.png C/figures/parametric_graph.png C/figures/parametric.png C/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/ru/html/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/sv/html'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/sv/html'
  /usr/bin/install -c -m 644 sv/html/ch01.html sv/html/ch02.html sv/html/ch02s02.html sv/html/ch03.html sv/html/ch03s02.html sv/html/ch03s03.html sv/html/ch04.html sv/html/ch04s02.html sv/html/ch04s03.html sv/html/ch04s04.html sv/html/ch04s05.html sv/html/ch05.html sv/html/ch05s02.html sv/html/ch05s03.html sv/html/ch05s04.html sv/html/ch05s05.html sv/html/ch05s06.html sv/html/ch05s07.html sv/html/ch06.html sv/html/ch06s02.html sv/html/ch06s03.html sv/html/ch06s04.html sv/html/ch06s05.html sv/html/ch06s06.html sv/html/ch06s07.html sv/html/ch06s08.html sv/html/ch06s09.html sv/html/ch07.html sv/html/ch07s02.html sv/html/ch07s03.html sv/html/ch07s04.html sv/html/ch07s05.html sv/html/ch07s06.html sv/html/ch08.html sv/html/ch08s02.html sv/html/ch08s03.html sv/html/ch09.html sv/html/ch10.html sv/html/ch11.html sv/html/ch11s02.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/sv/html'
  /usr/bin/install -c -m 644 sv/html/ch11s03.html sv/html/ch11s04.html sv/html/ch11s05.html sv/html/ch11s06.html sv/html/ch11s07.html sv/html/ch11s08.html sv/html/ch11s09.html sv/html/ch11s10.html sv/html/ch11s11.html sv/html/ch11s12.html sv/html/ch11s13.html sv/html/ch11s14.html sv/html/ch11s15.html sv/html/ch11s16.html sv/html/ch11s17.html sv/html/ch11s18.html sv/html/ch11s19.html sv/html/ch11s20.html sv/html/ch12.html sv/html/ch13.html sv/html/ch13s02.html sv/html/ch13s03.html sv/html/ch13s04.html sv/html/ch14.html sv/html/index.html '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/sv/html'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/sv/html/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/sv/html/figures'
  /usr/bin/install -c -m 644 sv/figures/genius_window.png sv/figures/line_plot_graph.png sv/figures/line_plot.png sv/figures/parametric_graph.png sv/figures/parametric.png sv/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/sv/html/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/C'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/C'
  /usr/bin/install -c -m 644 C/genius.xml C/legal.xml '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/C'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/C/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/C/figures'
  /usr/bin/install -c -m 644 C/figures/genius_window.png C/figures/line_plot_graph.png C/figures/line_plot.png C/figures/parametric_graph.png C/figures/parametric.png C/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/C/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/cs'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/cs'
  /usr/bin/install -c -m 644 cs/genius.xml '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/cs'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/cs/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/cs/figures'
  /usr/bin/install -c -m 644 cs/figures/genius_window.png cs/figures/line_plot_graph.png cs/figures/line_plot.png cs/figures/parametric_graph.png cs/figures/parametric.png cs/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/cs/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/de'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/de'
  /usr/bin/install -c -m 644 de/genius.xml '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/de'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/de/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/de/figures'
  /usr/bin/install -c -m 644 de/figures/genius_window.png de/figures/line_plot_graph.png de/figures/line_plot.png de/figures/parametric_graph.png de/figures/parametric.png de/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/de/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/el'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/el'
  /usr/bin/install -c -m 644 el/genius.xml '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/el'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/el/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/el/figures'
  /usr/bin/install -c -m 644 C/figures/genius_window.png C/figures/line_plot_graph.png C/figures/line_plot.png C/figures/parametric_graph.png C/figures/parametric.png C/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/el/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/es'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/es'
  /usr/bin/install -c -m 644 es/genius.xml '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/es'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/es/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/es/figures'
  /usr/bin/install -c -m 644 C/figures/genius_window.png C/figures/line_plot_graph.png C/figures/line_plot.png C/figures/parametric_graph.png C/figures/parametric.png C/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/es/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/fr'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/fr'
  /usr/bin/install -c -m 644 fr/genius.xml '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/fr'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/fr/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/fr/figures'
  /usr/bin/install -c -m 644 fr/figures/genius_window.png fr/figures/line_plot_graph.png fr/figures/line_plot.png fr/figures/parametric_graph.png fr/figures/parametric.png fr/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/fr/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/pt_BR'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/pt_BR'
  /usr/bin/install -c -m 644 pt_BR/genius.xml '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/pt_BR'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/pt_BR/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/pt_BR/figures'
  /usr/bin/install -c -m 644 C/figures/genius_window.png C/figures/line_plot_graph.png C/figures/line_plot.png C/figures/parametric_graph.png C/figures/parametric.png C/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/pt_BR/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/ru'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/ru'
  /usr/bin/install -c -m 644 ru/genius.xml '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/ru'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/ru/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/ru/figures'
  /usr/bin/install -c -m 644 C/figures/genius_window.png C/figures/line_plot_graph.png C/figures/line_plot.png C/figures/parametric_graph.png C/figures/parametric.png C/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/ru/figures'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/sv'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/sv'
  /usr/bin/install -c -m 644 sv/genius.xml '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/sv'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/sv/figures'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/sv/figures'
  /usr/bin/install -c -m 644 sv/figures/genius_window.png sv/figures/line_plot_graph.png sv/figures/line_plot.png sv/figures/parametric_graph.png sv/figures/parametric.png sv/figures/surface_graph.png '/build/genius-1.0.25/debian/tmp/usr/share/genius/help/sv/figures'
 make[4]: Leaving directory '/build/genius-1.0.25/help'
 make[3]: Leaving directory '/build/genius-1.0.25/help'
 make[3]: Entering directory '/build/genius-1.0.25'
 make[4]: Entering directory '/build/genius-1.0.25'
 make[4]: Nothing to be done for 'install-exec-am'.
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/application-registry'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/application-registry'
  /usr/bin/install -c -m 644 genius.applications '/build/genius-1.0.25/debian/tmp/usr/share/application-registry'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/mime-info'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/mime-info'
  /usr/bin/install -c -m 644 genius.keys genius.mime '/build/genius-1.0.25/debian/tmp/usr/share/mime-info'
- /bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/mime/packages'
+ /usr/bin/mkdir -p '/build/genius-1.0.25/debian/tmp/usr/share/mime/packages'
  /usr/bin/install -c -m 644 genius.xml '/build/genius-1.0.25/debian/tmp/usr/share/mime/packages'
 make  install-data-hook
 make[5]: Entering directory '/build/genius-1.0.25'
@@ -12533,6 +12600,7 @@
 	Normalized debian/genius-common/usr/share/locale/it/LC_MESSAGES/genius.mo
 	Normalized debian/genius-common/usr/share/locale/id/LC_MESSAGES/genius.mo
 	Normalized debian/genius-common/usr/share/locale/hu/LC_MESSAGES/genius.mo
+	Normalized debian/genius-common/usr/share/locale/hr/LC_MESSAGES/genius.mo
 	Normalized debian/genius-common/usr/share/locale/hi/LC_MESSAGES/genius.mo
 	Normalized debian/genius-common/usr/share/locale/gl/LC_MESSAGES/genius.mo
 	Normalized debian/genius-common/usr/share/locale/ga/LC_MESSAGES/genius.mo
@@ -12552,7 +12620,6 @@
 	Normalized debian/genius-common/usr/share/locale/bs/LC_MESSAGES/genius.mo
 	Normalized debian/genius-common/usr/share/locale/az/LC_MESSAGES/genius.mo
 	Normalized debian/genius-common/usr/share/locale/ar/LC_MESSAGES/genius.mo
-	Normalized debian/genius-common/usr/share/locale/hr/LC_MESSAGES/genius.mo
    dh_compress
    dh_fixperms
    debian/rules override_dh_missing
@@ -12568,12 +12635,12 @@
    dh_gencontrol
    dh_md5sums
    dh_builddeb
-dpkg-deb: building package 'gnome-genius-dbgsym' in '../gnome-genius-dbgsym_1.0.25-2_arm64.deb'.
-dpkg-deb: building package 'genius' in '../genius_1.0.25-2_arm64.deb'.
+dpkg-deb: building package 'gnome-genius' in '../gnome-genius_1.0.25-2_arm64.deb'.
 dpkg-deb: building package 'genius-dbgsym' in '../genius-dbgsym_1.0.25-2_arm64.deb'.
+dpkg-deb: building package 'genius' in '../genius_1.0.25-2_arm64.deb'.
+dpkg-deb: building package 'gnome-genius-dbgsym' in '../gnome-genius-dbgsym_1.0.25-2_arm64.deb'.
 dpkg-deb: building package 'genius-common' in '../genius-common_1.0.25-2_all.deb'.
 dpkg-deb: building package 'genius-dev' in '../genius-dev_1.0.25-2_all.deb'.
-dpkg-deb: building package 'gnome-genius' in '../gnome-genius_1.0.25-2_arm64.deb'.
  dpkg-genbuildinfo --build=binary
  dpkg-genchanges --build=binary >../genius_1.0.25-2_arm64.changes
 dpkg-genchanges: info: binary-only upload (no source code included)
@@ -12581,12 +12648,14 @@
 dpkg-buildpackage: info: binary-only upload (no source included)
 dpkg-genchanges: info: not including original source code in upload
 I: copying local configuration
+I: user script /srv/workspace/pbuilder/28485/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/28485/tmp/hooks/B01_cleanup finished
 I: unmounting dev/ptmx filesystem
 I: unmounting dev/pts filesystem
 I: unmounting dev/shm filesystem
 I: unmounting proc filesystem
 I: unmounting sys filesystem
 I: cleaning the build env 
-I: removing directory /srv/workspace/pbuilder/6334 and its subdirectories
-I: Current time: Sun Jul 18 17:58:30 -12 2021
-I: pbuilder-time-stamp: 1626674310
+I: removing directory /srv/workspace/pbuilder/28485 and its subdirectories
+I: Current time: Mon Aug 22 02:26:27 +14 2022
+I: pbuilder-time-stamp: 1661084787