git: 4c178fe36e01 - stable/15 - contrib/bc upgrade to version 7.1.0

From: Stefan Eßer <se_at_FreeBSD.org>
Date: Wed, 17 Sep 2025 17:01:02 UTC
The branch stable/15 has been updated by se:

URL: https://cgit.FreeBSD.org/src/commit/?id=4c178fe36e01f84f3c65f6953cbe8dbe5b3fc908

commit 4c178fe36e01f84f3c65f6953cbe8dbe5b3fc908
Author:     Stefan Eßer <se@FreeBSD.org>
AuthorDate: 2025-09-11 14:16:39 +0000
Commit:     Stefan Eßer <se@FreeBSD.org>
CommitDate: 2025-09-17 16:25:56 +0000

    contrib/bc upgrade to version 7.1.0
    
    This update fixes a few bugs:
    - Improper response to double SIGINT with editline.
    - Not letting libedit handle terminal size changes.
    - A dc crash from improperly handling an error.
    - A duplicate check for reference arrays.
    - Build failures with GCC 15.
    
    Merge commit '682da5a0fdb2c38ecc3951047a882471d62aa1d1'
    
    (cherry picked from commit fdc4a7c8012b214986cfa2e2fb6d99731f004b1b)
    
    usr.bin/gh-bc: fix invocation of test scripts
    
    The “all.sh” script in version 7.1.0 accepts one less parameter for
    selecting the tests to be run.
    
    (cherry picked from commit 1a6ffcb27ddcfdc66c2ea58d6789b3d527f68ba9)
    
    usr.bin/gh-bc: update for version 7.1.0
    
    Add extra defines required for bc-7.1.0 to the Makefiles.
    
    (cherry picked from commit 2d06844521ecd9e1298b53f13c18ffbfa97b1e28)
---
 contrib/bc/LICENSE.md                              |    4 +-
 contrib/bc/MAINTENANCE-TERMS.md                    |   80 +
 contrib/bc/Makefile.in                             |  285 +-
 contrib/bc/NEWS.md                                 |   23 +
 contrib/bc/NOTICE.md                               |    2 +-
 contrib/bc/README.md                               |   21 +-
 contrib/bc/VERSION.txt                             |    1 +
 contrib/bc/build.gaml                              |  402 +
 contrib/bc/build.pkg.rig                           | 2345 ++++++
 contrib/bc/build.rig                               |  575 ++
 contrib/bc/compile_flags.txt                       |    3 +
 contrib/bc/configure.sh                            |  477 +-
 contrib/bc/gen/bc_help.txt                         |    4 +-
 contrib/bc/gen/dc_help.txt                         |    4 +-
 contrib/bc/gen/lib.bc                              |    2 +-
 contrib/bc/gen/lib2.bc                             |  115 +-
 contrib/bc/gen/strgen.c                            |    4 +-
 contrib/bc/gen/strgen.sh                           |    4 +-
 contrib/bc/include/args.h                          |    2 +-
 contrib/bc/include/bc.h                            |    8 +-
 contrib/bc/include/bcl.h                           |    2 +-
 contrib/bc/include/dc.h                            |    2 +-
 contrib/bc/include/file.h                          |    2 +-
 contrib/bc/include/history.h                       |   26 +-
 contrib/bc/include/lang.h                          |    6 +-
 contrib/bc/include/lex.h                           |    2 +-
 contrib/bc/include/library.h                       |    2 +-
 contrib/bc/include/num.h                           |    2 +-
 contrib/bc/include/opt.h                           |    2 +-
 contrib/bc/include/ossfuzz.h                       |    2 +-
 contrib/bc/include/parse.h                         |    2 +-
 contrib/bc/include/program.h                       |   16 +-
 contrib/bc/include/rand.h                          |    2 +-
 contrib/bc/include/read.h                          |    2 +-
 contrib/bc/include/status.h                        |    7 +-
 contrib/bc/include/vector.h                        |    2 +-
 contrib/bc/include/version.h                       |   42 -
 contrib/bc/include/vm.h                            |    3 +-
 contrib/bc/locales/de_DE.ISO8859-1.msg             |    2 +-
 contrib/bc/locales/de_DE.UTF-8.msg                 |    2 +-
 contrib/bc/locales/en_US.msg                       |    2 +-
 contrib/bc/locales/es_ES.ISO8859-1.msg             |    2 +-
 contrib/bc/locales/es_ES.UTF-8.msg                 |    2 +-
 contrib/bc/locales/fr_FR.ISO8859-1.msg             |    2 +-
 contrib/bc/locales/fr_FR.UTF-8.msg                 |    2 +-
 contrib/bc/locales/ja_JP.UTF-8.msg                 |    2 +-
 contrib/bc/locales/ja_JP.eucJP.msg                 |    2 +-
 contrib/bc/locales/nl_NL.ISO8859-1.msg             |    2 +-
 contrib/bc/locales/nl_NL.UTF-8.msg                 |    2 +-
 contrib/bc/locales/pl_PL.ISO8859-2.msg             |    2 +-
 contrib/bc/locales/pl_PL.UTF-8.msg                 |    2 +-
 contrib/bc/locales/pt_PT.ISO8859-1.msg             |    2 +-
 contrib/bc/locales/pt_PT.UTF-8.msg                 |    2 +-
 contrib/bc/locales/ru_RU.CP1251.msg                |    2 +-
 contrib/bc/locales/ru_RU.CP866.msg                 |    2 +-
 contrib/bc/locales/ru_RU.ISO8859-5.msg             |    2 +-
 contrib/bc/locales/ru_RU.KOI8-R.msg                |    2 +-
 contrib/bc/locales/ru_RU.UTF-8.msg                 |    2 +-
 contrib/bc/locales/zh_CN.GB18030.msg               |    2 +-
 contrib/bc/locales/zh_CN.GB2312.msg                |    2 +-
 contrib/bc/locales/zh_CN.GBK.msg                   |    2 +-
 contrib/bc/locales/zh_CN.UTF-8.msg                 |    2 +-
 contrib/bc/locales/zh_CN.eucCN.msg                 |    2 +-
 contrib/bc/manuals/bc/A.1                          |   15 +-
 contrib/bc/manuals/bc/A.1.md                       |   14 +-
 contrib/bc/manuals/bc/E.1                          |    4 +-
 contrib/bc/manuals/bc/E.1.md                       |    4 +-
 contrib/bc/manuals/bc/EH.1                         |    4 +-
 contrib/bc/manuals/bc/EH.1.md                      |    4 +-
 contrib/bc/manuals/bc/EHN.1                        |    4 +-
 contrib/bc/manuals/bc/EHN.1.md                     |    4 +-
 contrib/bc/manuals/bc/EN.1                         |    4 +-
 contrib/bc/manuals/bc/EN.1.md                      |    4 +-
 contrib/bc/manuals/bc/H.1                          |   15 +-
 contrib/bc/manuals/bc/H.1.md                       |   14 +-
 contrib/bc/manuals/bc/HN.1                         |   15 +-
 contrib/bc/manuals/bc/HN.1.md                      |   14 +-
 contrib/bc/manuals/bc/N.1                          |   15 +-
 contrib/bc/manuals/bc/N.1.md                       |   14 +-
 contrib/bc/manuals/bcl.3                           |    4 +-
 contrib/bc/manuals/bcl.3.md                        |    4 +-
 contrib/bc/manuals/build.md                        |    6 +-
 contrib/bc/manuals/dc/A.1                          |    4 +-
 contrib/bc/manuals/dc/A.1.md                       |    4 +-
 contrib/bc/manuals/dc/E.1                          |    4 +-
 contrib/bc/manuals/dc/E.1.md                       |    4 +-
 contrib/bc/manuals/dc/EH.1                         |    4 +-
 contrib/bc/manuals/dc/EH.1.md                      |    4 +-
 contrib/bc/manuals/dc/EHN.1                        |    4 +-
 contrib/bc/manuals/dc/EHN.1.md                     |    4 +-
 contrib/bc/manuals/dc/EN.1                         |    4 +-
 contrib/bc/manuals/dc/EN.1.md                      |    4 +-
 contrib/bc/manuals/dc/H.1                          |    4 +-
 contrib/bc/manuals/dc/H.1.md                       |    4 +-
 contrib/bc/manuals/dc/HN.1                         |    4 +-
 contrib/bc/manuals/dc/HN.1.md                      |    4 +-
 contrib/bc/manuals/dc/N.1                          |    4 +-
 contrib/bc/manuals/dc/N.1.md                       |    4 +-
 contrib/bc/project/README.md                       |   32 +
 contrib/bc/project/gitea.db                        |  Bin 0 -> 86016 bytes
 contrib/bc/project/github_issues.json              | 3667 ++++++++++
 contrib/bc/project/github_prs.json                 | 7729 ++++++++++++++++++++
 contrib/bc/project/issue10.md                      |  104 +
 contrib/bc/scripts/exec-install.sh                 |    2 +-
 contrib/bc/scripts/format.sh                       |    2 +-
 contrib/bc/scripts/functions.sh                    |    2 +-
 contrib/bc/scripts/karatsuba.py                    |    2 +-
 contrib/bc/scripts/link.sh                         |    2 +-
 contrib/bc/scripts/lint.sh                         |    2 +-
 contrib/bc/scripts/locale_install.sh               |    2 +-
 contrib/bc/scripts/locale_uninstall.sh             |    2 +-
 contrib/bc/scripts/os.c                            |    2 +-
 contrib/bc/scripts/release.pkg.yao                 | 1410 ++++
 contrib/bc/scripts/sqrt_frac_guess.bc              |    2 +-
 contrib/bc/scripts/sqrt_int_guess.bc               |    2 +-
 contrib/bc/scripts/sqrt_random.bc                  |    2 +-
 contrib/bc/scripts/sqrt_random.sh                  |    2 +-
 contrib/bc/src/args.c                              |    2 +-
 contrib/bc/src/bc.c                                |    2 +-
 contrib/bc/src/bc_fuzzer.c                         |    3 +-
 contrib/bc/src/bc_lex.c                            |    2 +-
 contrib/bc/src/bc_parse.c                          |    2 +-
 contrib/bc/src/data.c                              |  142 +-
 contrib/bc/src/dc.c                                |    2 +-
 contrib/bc/src/dc_fuzzer.c                         |    3 +-
 contrib/bc/src/dc_lex.c                            |    2 +-
 contrib/bc/src/dc_parse.c                          |    2 +-
 contrib/bc/src/file.c                              |    5 +-
 contrib/bc/src/history.c                           |   16 +-
 contrib/bc/src/lang.c                              |    7 +-
 contrib/bc/src/lex.c                               |    2 +-
 contrib/bc/src/library.c                           |    2 +-
 contrib/bc/src/main.c                              |    3 +-
 contrib/bc/src/num.c                               |    3 +-
 contrib/bc/src/opt.c                               |    2 +-
 contrib/bc/src/parse.c                             |    2 +-
 contrib/bc/src/program.c                           |   67 +-
 contrib/bc/src/rand.c                              |    2 +-
 contrib/bc/src/read.c                              |   23 +-
 contrib/bc/src/vector.c                            |    2 +-
 contrib/bc/src/vm.c                                |   35 +-
 contrib/bc/tests/all.sh                            |   42 +-
 contrib/bc/tests/bc/all.txt                        |  131 +-
 contrib/bc/tests/bc/errors/39.txt                  |    1 +
 contrib/bc/tests/bc/lib2.txt                       |  477 --
 contrib/bc/tests/bc/lib2_a2.txt                    |   18 +
 contrib/bc/tests/bc/lib2_a2_results.txt            |   18 +
 contrib/bc/tests/bc/lib2_bytes.txt                 |   46 +
 contrib/bc/tests/bc/lib2_bytes_results.txt         |   46 +
 contrib/bc/tests/bc/lib2_ceil.txt                  |   24 +
 contrib/bc/tests/bc/lib2_ceil_results.txt          |   24 +
 contrib/bc/tests/bc/lib2_d2r.txt                   |   16 +
 contrib/bc/tests/bc/lib2_d2r_results.txt           |   16 +
 contrib/bc/tests/bc/lib2_fac.txt                   |    6 +
 contrib/bc/tests/bc/lib2_fac_results.txt           |    6 +
 contrib/bc/tests/bc/lib2_gcd.txt                   |    7 +
 contrib/bc/tests/bc/lib2_gcd_results.txt           |    7 +
 contrib/bc/tests/bc/lib2_log.txt                   |   32 +
 contrib/bc/tests/bc/lib2_log_results.txt           |   32 +
 contrib/bc/tests/bc/lib2_p.txt                     |    4 +
 contrib/bc/tests/bc/lib2_p_results.txt             |    5 +
 contrib/bc/tests/bc/lib2_perm.txt                  |    9 +
 contrib/bc/tests/bc/lib2_perm_results.txt          |    8 +
 contrib/bc/tests/bc/lib2_pi.txt                    |    5 +
 contrib/bc/tests/bc/lib2_pi_results.txt            |    6 +
 contrib/bc/tests/bc/lib2_r.txt                     |   23 +
 contrib/bc/tests/bc/lib2_r2d.txt                   |   17 +
 contrib/bc/tests/bc/lib2_r2d_results.txt           |   16 +
 contrib/bc/tests/bc/lib2_r_results.txt             |   23 +
 contrib/bc/tests/bc/lib2_rand.txt                  |   11 +
 contrib/bc/tests/bc/lib2_rand_results.txt          |    7 +
 contrib/bc/tests/bc/lib2_root.txt                  |   13 +
 contrib/bc/tests/bc/lib2_root_results.txt          |   13 +
 contrib/bc/tests/bc/lib2_tan.txt                   |   30 +
 contrib/bc/tests/bc/lib2_tan_results.txt           |   29 +
 contrib/bc/tests/bc/lib2_uint.txt                  |  218 +
 .../bc/{lib2_results.txt => lib2_uint_results.txt} |  256 -
 .../bc/tests/bc/scripts/{add.bc => add_00100.bc}   |    2 +-
 contrib/bc/tests/bc/scripts/add_00200.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_00300.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_00400.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_00500.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_00600.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_00700.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_00800.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_00900.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_01000.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_01100.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_01200.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_01300.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_01400.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_01500.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_01600.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_01700.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_01800.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_01900.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_02000.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_02100.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_02200.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_02300.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_02400.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_02500.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_02600.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_02700.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_02800.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_02900.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_03000.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_03100.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_03200.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_03300.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_03400.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_03500.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_03600.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_03700.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_03800.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_03900.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_04000.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_04100.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_04200.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_04300.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_04400.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_04500.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_04600.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_04700.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_04800.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_04900.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_05000.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_05100.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_05200.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_05300.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_05400.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_05500.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_05600.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_05700.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_05800.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_05900.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_06000.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_06100.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_06200.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_06300.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_06400.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_06500.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_06600.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_06700.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_06800.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_06900.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_07000.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_07100.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_07200.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_07300.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_07400.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_07500.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_07600.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_07700.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_07800.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_07900.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_08000.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_08100.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_08200.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_08300.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_08400.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_08500.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_08600.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_08700.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_08800.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_08900.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_09000.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_09100.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_09200.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_09300.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_09400.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_09500.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_09600.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_09700.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_09800.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_09900.bc           |   17 +
 contrib/bc/tests/bc/scripts/add_10000.bc           |   17 +
 contrib/bc/tests/bc/scripts/all.txt                |  406 +-
 .../bc/scripts/{divide.bc => divide_00100.bc}      |    2 +-
 contrib/bc/tests/bc/scripts/divide_00200.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_00300.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_00400.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_00500.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_00600.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_00700.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_00800.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_00900.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_01000.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_01100.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_01200.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_01300.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_01400.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_01500.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_01600.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_01700.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_01800.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_01900.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_02000.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_02100.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_02200.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_02300.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_02400.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_02500.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_02600.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_02700.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_02800.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_02900.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_03000.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_03100.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_03200.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_03300.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_03400.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_03500.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_03600.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_03700.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_03800.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_03900.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_04000.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_04100.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_04200.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_04300.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_04400.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_04500.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_04600.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_04700.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_04800.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_04900.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_05000.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_05100.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_05200.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_05300.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_05400.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_05500.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_05600.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_05700.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_05800.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_05900.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_06000.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_06100.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_06200.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_06300.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_06400.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_06500.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_06600.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_06700.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_06800.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_06900.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_07000.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_07100.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_07200.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_07300.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_07400.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_07500.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_07600.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_07700.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_07800.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_07900.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_08000.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_08100.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_08200.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_08300.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_08400.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_08500.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_08600.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_08700.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_08800.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_08900.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_09000.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_09100.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_09200.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_09300.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_09400.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_09500.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_09600.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_09700.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_09800.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_09900.bc        |   23 +
 contrib/bc/tests/bc/scripts/divide_10000.bc        |   23 +
 .../bc/scripts/{multiply.bc => multiply_00100.bc}  |    2 +-
 contrib/bc/tests/bc/scripts/multiply_00200.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_00300.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_00400.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_00500.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_00600.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_00700.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_00800.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_00900.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_01000.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_01100.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_01200.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_01300.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_01400.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_01500.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_01600.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_01700.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_01800.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_01900.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_02000.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_02100.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_02200.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_02300.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_02400.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_02500.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_02600.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_02700.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_02800.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_02900.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_03000.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_03100.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_03200.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_03300.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_03400.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_03500.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_03600.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_03700.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_03800.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_03900.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_04000.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_04100.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_04200.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_04300.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_04400.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_04500.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_04600.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_04700.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_04800.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_04900.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_05000.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_05100.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_05200.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_05300.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_05400.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_05500.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_05600.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_05700.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_05800.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_05900.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_06000.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_06100.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_06200.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_06300.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_06400.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_06500.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_06600.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_06700.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_06800.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_06900.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_07000.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_07100.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_07200.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_07300.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_07400.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_07500.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_07600.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_07700.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_07800.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_07900.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_08000.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_08100.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_08200.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_08300.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_08400.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_08500.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_08600.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_08700.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_08800.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_08900.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_09000.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_09100.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_09200.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_09300.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_09400.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_09500.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_09600.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_09700.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_09800.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_09900.bc      |   20 +
 contrib/bc/tests/bc/scripts/multiply_10000.bc      |   20 +
 contrib/bc/tests/bc/scripts/parse.bc               |   20 -
 contrib/bc/tests/bc/scripts/parse_02.bc            |   19 +
 contrib/bc/tests/bc/scripts/parse_03.bc            |   19 +
 contrib/bc/tests/bc/scripts/parse_04.bc            |   19 +
 contrib/bc/tests/bc/scripts/parse_05.bc            |   19 +
 contrib/bc/tests/bc/scripts/parse_06.bc            |   19 +
 contrib/bc/tests/bc/scripts/parse_07.bc            |   19 +
 contrib/bc/tests/bc/scripts/parse_08.bc            |   19 +
 contrib/bc/tests/bc/scripts/parse_09.bc            |   19 +
 contrib/bc/tests/bc/scripts/parse_11.bc            |   19 +
 contrib/bc/tests/bc/scripts/parse_12.bc            |   19 +
 contrib/bc/tests/bc/scripts/parse_13.bc            |   19 +
 contrib/bc/tests/bc/scripts/parse_14.bc            |   19 +
 contrib/bc/tests/bc/scripts/parse_15.bc            |   19 +
 contrib/bc/tests/bc/scripts/parse_16.bc            |   19 +
 contrib/bc/tests/bc/scripts/print.bc               |   25 -
 contrib/bc/tests/bc/scripts/print_002.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_003.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_004.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_005.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_006.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_007.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_008.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_009.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_011.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_012.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_013.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_014.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_015.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_016.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_017.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_018.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_019.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_020.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_021.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_022.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_023.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_024.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_025.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_026.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_027.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_028.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_029.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_030.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_031.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_032.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_033.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_034.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_035.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_036.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_037.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_038.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_039.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_040.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_041.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_042.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_043.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_044.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_045.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_046.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_047.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_048.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_049.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_050.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_051.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_052.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_053.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_054.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_055.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_056.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_057.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_058.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_059.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_060.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_061.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_062.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_063.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_064.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_065.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_066.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_067.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_068.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_069.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_070.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_071.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_072.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_073.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_074.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_075.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_076.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_077.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_078.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_079.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_080.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_081.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_082.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_083.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_084.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_085.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_086.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_087.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_088.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_089.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_090.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_091.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_092.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_093.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_094.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_095.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_096.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_097.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_098.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_099.bc           |   22 +
 contrib/bc/tests/bc/scripts/print_100.bc           |   22 +
 .../bc/scripts/{subtract.bc => subtract_00100.bc}  |    2 +-
 contrib/bc/tests/bc/scripts/subtract_00200.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_00300.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_00400.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_00500.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_00600.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_00700.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_00800.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_00900.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_01000.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_01100.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_01200.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_01300.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_01400.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_01500.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_01600.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_01700.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_01800.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_01900.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_02000.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_02100.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_02200.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_02300.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_02400.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_02500.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_02600.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_02700.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_02800.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_02900.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_03000.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_03100.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_03200.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_03300.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_03400.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_03500.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_03600.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_03700.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_03800.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_03900.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_04000.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_04100.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_04200.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_04300.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_04400.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_04500.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_04600.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_04700.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_04800.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_04900.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_05000.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_05100.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_05200.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_05300.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_05400.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_05500.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_05600.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_05700.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_05800.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_05900.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_06000.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_06100.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_06200.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_06300.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_06400.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_06500.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_06600.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_06700.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_06800.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_06900.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_07000.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_07100.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_07200.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_07300.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_07400.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_07500.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_07600.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_07700.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_07800.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_07900.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_08000.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_08100.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_08200.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_08300.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_08400.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_08500.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_08600.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_08700.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_08800.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_08900.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_09000.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_09100.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_09200.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_09300.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_09400.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_09500.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_09600.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_09700.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_09800.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_09900.bc      |   17 +
 contrib/bc/tests/bc/scripts/subtract_10000.bc      |   17 +
 contrib/bc/tests/bc/timeconst.sh                   |    5 +-
 contrib/bc/tests/bcl.c                             |    2 +-
 contrib/bc/tests/dc/scripts/easter.dc              |   49 +
 contrib/bc/tests/dc/scripts/easter.sh              |   93 -
 contrib/bc/tests/dc/scripts/easter.txt             |    5 +
 contrib/bc/tests/dc/scripts/prime.dc               |    2 +-
 contrib/bc/tests/error.sh                          |    4 +-
 contrib/bc/tests/errors.sh                         |    4 +-
 contrib/bc/tests/extra_required.txt                |   17 +-
 contrib/bc/tests/history.py                        |    4 +-
 contrib/bc/tests/history.sh                        |    2 +-
 contrib/bc/tests/other.sh                          |  593 --
 contrib/bc/tests/read.sh                           |  166 -
 contrib/bc/tests/script.sh                         |   25 +-
 contrib/bc/tests/scripts.sh                        |   17 +-
 contrib/bc/tests/stdin.sh                          |    2 +-
 contrib/bc/tests/test.sh                           |   24 +-
 contrib/bc/vs/bc.vcxproj                           |    1 -
 contrib/bc/vs/bc.vcxproj.filters                   |    3 -
 contrib/bc/vs/bcl.vcxproj                          |    1 -
 contrib/bc/vs/bcl.vcxproj.filters                  |    3 -
 usr.bin/gh-bc/Makefile                             |    6 +-
 usr.bin/gh-bc/tests/Makefile                       |    9 +-
 715 files changed, 28229 insertions(+), 3016 deletions(-)

diff --git a/contrib/bc/LICENSE.md b/contrib/bc/LICENSE.md
index c8f6758e6d4b..e5d44dee6dab 100644
--- a/contrib/bc/LICENSE.md
+++ b/contrib/bc/LICENSE.md
@@ -1,6 +1,6 @@
 # License
 
-Copyright (c) 2018-2024 Gavin D. Howard <gavin@gavinhoward.com>
+Copyright (c) 2018-2025 Gavin D. Howard <gavin@gavinhoward.com>
 
 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:
@@ -60,7 +60,7 @@ The files `src/rand.c` and `include/rand.h` are under the following copyrights
 and license:
 
 Copyright (c) 2014-2017 Melissa O'Neill and PCG Project contributors<br>
-Copyright (c) 2018-2024 Gavin D. Howard <gavin@gavinhoward.com>
+Copyright (c) 2018-2025 Gavin D. Howard <gavin@gavinhoward.com>
 
 Permission is hereby granted, free of charge, to any person obtaining a copy of
 this software and associated documentation files (the "Software"), to deal in
diff --git a/contrib/bc/MAINTENANCE-TERMS.md b/contrib/bc/MAINTENANCE-TERMS.md
new file mode 100644
index 000000000000..ef24202cc6c2
--- /dev/null
+++ b/contrib/bc/MAINTENANCE-TERMS.md
@@ -0,0 +1,80 @@
+# Maintenance Terms
+
+> Last Updated: 27 June 2025
+
+The code, text, and other materials in this repository are provided as-is under
+the terms of the repository's [`LICENSE.md`][0] file, as a gift to the commons
+and the common good. In providing this software as-is, its author(s) admit no
+further obligations from anyone using the software for any reason, particularly
+with respect to:
+
+* Releases,
+* Response time,
+* Change review and integration,
+* Disclosure schedules,
+* Discretionary, proprietary or otherwise secretive communications, and
+* Any other non-contractual obligations or conventions, regardless of their
+  presumed urgency or severity.
+
+Should anyone wish to make a contract with me (Gavin Howard) to ensure that work
+he or she deems critical gets done, the terms are as follows:
+
+* Compute time will be charged at \$25/hr.
+* My time will be charged at \$100/hr.
+* All issues deemed critical by either me or the requester, that also change the
+  source code (anything in `gen`, `include`, or `src`) will require at least two
+  weeks of fuzzing without error.
+	* If errors are found, those hours will still be charged on top of the final
+	  two weeks.
+* All changes will require running the [release script][2] on Linux (GCC), Linux
+  (Clang), FreeBSD, OpenBSD, macOS, Windows.
+* Any hours spent on bugs or code that have been, or are suspected to have been,
+  generated by "AI" will be charged double rates.
+
+Compute time includes, but is not limited to:
+
+* Fuzzing.
+* Running my [release script][2].
+* Running tests and my [release script][2] on macOS.
+
+My time includes, but is not limited to:
+
+* Code review.
+* Reading bug reports.
+* Design.
+* Coding.
+* Any compute time that interferes with my ability to do any other work:
+	* Fuzzing makes my computer unusable, so fuzzing for the 8-12 hours of the
+	  day that I could be working will be charged at \$100/hr.
+	* Same with running my [release script][2] because I run two instances on my
+	  machine and two in VMs at the same time.
+	* Running my [release script][2] or any other compute time on Windows
+	  because Windows blocks me from doing my main work on Linux.
+	* Any other instances of blocking compute time.
+
+All amounts will be billed by, and paid to, [Yzena, LLC][2]. Invoices will be
+provided, including line items for what each hour was spent on.
+
+It is suggested that the following amounts be budgeted:
+
+* At least \$3000 for a non-critical issue or change.
+
+  The release script takes about 10 hours, and I would need to run it once on
+  Linux (and others at the same time) and once on Windows, which is 20 hours.
+  Most of that won't be at the \$100/hr rate, but some probably will be. Then
+  an extra \$1000 for other work.
+
+* At least \$15,000 for a critical issue or change.
+
+  The \$3000 above is the start, which leaves \$12,000. Fuzzing is expected to
+  cost \$11,400 (6 days a week, 8 hours a day, at \$100, the rest at \$25), and
+  rounded up to \$12,000 for good measure.
+
+---
+
+This document is inspired by [Mike Hoye's Maintenance Terms][1].
+
+[0]: LICENSE.md
+[1]: https://github.com/mhoye/maintenance-terms
+[2]: scripts/release.sh
+[3]: https://yzena.com/
diff --git a/contrib/bc/Makefile.in b/contrib/bc/Makefile.in
index c63dc242e79a..f8b120c1328e 100644
--- a/contrib/bc/Makefile.in
+++ b/contrib/bc/Makefile.in
@@ -1,7 +1,7 @@
 #
 # SPDX-License-Identifier: BSD-2-Clause
 #
-# Copyright (c) 2018-2024 Gavin D. Howard and contributors.
+# Copyright (c) 2018-2025 Gavin D. Howard and contributors.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are met:
@@ -38,6 +38,8 @@ GENDIR = $(ROOTDIR)/gen
 
 BUILDDIR = %%BUILDDIR%%
 
+VERSION = %%VERSION%%
+
 SRC = %%SRC%%
 OBJ = %%OBJ%%
 GCDA = %%GCDA%%
@@ -99,17 +101,16 @@ BC_FUZZER_C = $(BIN)/$(BC)_fuzzer_C
 DC_FUZZER = $(BIN)/$(DC)_fuzzer_c
 DC_FUZZER_C = $(BIN)/$(DC)_fuzzer_C
 
-BC_TEST_OUTPUTS = tests/bc_outputs
 BC_FUZZ_OUTPUTS = tests/fuzzing/bc_outputs1 tests/fuzzing/bc_outputs2 tests/fuzzing/bc_outputs3
-DC_TEST_OUTPUTS = tests/dc_outputs
 DC_FUZZ_OUTPUTS = tests/fuzzing/dc_outputs
 
 LIB = libbcl
 LIB_NAME = $(LIB).a
 LIBBC = $(BIN)/$(LIB_NAME)
 BCL = bcl
-BCL_TEST = $(BIN)/$(BCL)
-BCL_TEST_C = $(TESTSDIR)/$(BCL).c
+
+GENERATE_TESTS = %%GENERATE_TESTS%%
+PROBLEMATIC_TESTS = %%PROBLEMATIC_TESTS%%
 
 MANUALS = manuals
 BC_MANPAGE_NAME = $(EXEC_PREFIX)$(BC)$(EXEC_SUFFIX).1
@@ -152,11 +153,11 @@ BC_ENABLE_EXTRA_MATH = %%EXTRA_MATH%%
 BC_ENABLE_NLS = %%NLS%%
 BC_EXCLUDE_EXTRA_MATH = %%EXCLUDE_EXTRA_MATH%%
 
-BC_ENABLE_AFL = %%FUZZ%%
-BC_ENABLE_OSSFUZZ = %%OSSFUZZ%%
-BC_ENABLE_MEMCHECK = %%MEMCHECK%%
+BC_ENABLE_AFL = 0
+BC_ENABLE_OSSFUZZ = 0
+BC_ENABLE_MEMCHECK = 0
 
-LIB_FUZZING_ENGINE = %%LIB_FUZZING_ENGINE%%
+LIB_FUZZING_ENGINE = 0
 
 BC_DEFAULT_BANNER = %%BC_DEFAULT_BANNER%%
 BC_DEFAULT_SIGINT_RESET = %%BC_DEFAULT_SIGINT_RESET%%
@@ -189,10 +190,6 @@ KARATSUBA = $(SCRIPTSDIR)/karatsuba.py
 LOCALE_INSTALL = $(SCRIPTSDIR)/locale_install.sh
 LOCALE_UNINSTALL = $(SCRIPTSDIR)/locale_uninstall.sh
 
-VALGRIND_ARGS = --error-exitcode=100 --leak-check=full --show-leak-kinds=all --errors-for-leak-kinds=all
-
-TEST_STARS = ***********************************************************************
-
 BC_NUM_KARATSUBA_LEN = %%KARATSUBA_LEN%%
 
 BC_DEFS0 = -DBC_DEFAULT_BANNER=$(BC_DEFAULT_BANNER)
@@ -218,7 +215,7 @@ CPPFLAGS6 = $(CPPFLAGS5) -DBC_ENABLE_NLS=$(BC_ENABLE_NLS)
 CPPFLAGS7 = $(CPPFLAGS6) -D$(BC_ENABLE_EXTRA_MATH_NAME)=$(BC_ENABLE_EXTRA_MATH)
 CPPFLAGS8 = $(CPPFLAGS7) -DBC_ENABLE_HISTORY=$(BC_ENABLE_HISTORY) -DBC_ENABLE_LIBRARY=$(BC_ENABLE_LIBRARY)
 CPPFLAGS9 = $(CPPFLAGS8) -DBC_ENABLE_MEMCHECK=$(BC_ENABLE_MEMCHECK) -DBC_ENABLE_AFL=$(BC_ENABLE_AFL)
-CPPFLAGS = $(CPPFLAGS9) -DBC_ENABLE_OSSFUZZ=$(BC_ENABLE_OSSFUZZ)
+CPPFLAGS = -DVERSION=$(VERSION) $(CPPFLAGS9) -DBC_ENABLE_OSSFUZZ=$(BC_ENABLE_OSSFUZZ)
 CFLAGS = $(CPPFLAGS) $(BC_DEFS) $(DC_DEFS) %%CPPFLAGS%% %%CFLAGS%%
 LDFLAGS = %%LDFLAGS%%
 
@@ -293,236 +290,10 @@ help:
 	@printf '    check           alias for `make test`\n'
 	@printf '    clean           removes all build files\n'
 	@printf '    clean_config    removes all build files as well as the generated Makefile\n'
-	@printf '    clean_tests     removes all build files, the generated Makefile,\n'
-	@printf '                    and generated tests\n'
 	@printf '    install         installs binaries to "%s%s"\n' "$(DESTDIR)" "$(BINDIR)"
 	@printf '                    and (if enabled) manpages to "%s%s"\n' "$(DESTDIR)" "$(MAN1DIR)"
-	@printf '    karatsuba       runs the karatsuba script (requires Python 3)\n'
-	@printf '    karatsuba_test  runs the karatsuba script while running tests\n'
-	@printf '                    (requires Python 3)\n'
 	@printf '    uninstall       uninstalls binaries from "%s%s"\n' "$(DESTDIR)" "$(BINDIR)"
 	@printf '                    and (if enabled) manpages from "%s%s"\n' "$(DESTDIR)" "$(MAN1DIR)"
-	@printf '    test            runs the test suite\n'
-	@printf '    test_bc         runs the bc test suite, if bc has been built\n'
-	@printf '    test_dc         runs the dc test suite, if dc has been built\n'
-	@printf '    time_test       runs the test suite, displaying times for some things\n'
-	@printf '    time_test_bc    runs the bc test suite, displaying times for some things\n'
-	@printf '    time_test_dc    runs the dc test suite, displaying times for some things\n'
-	@printf '    timeconst       runs the test on the Linux timeconst.bc script,\n'
-	@printf '                    if it exists and bc has been built\n'
-
-run_all_tests: bc_all_tests timeconst_all_tests dc_all_tests
-
-run_all_tests_np: bc_all_tests_np timeconst_all_tests dc_all_tests_np
-
-bc_all_tests:
-	%%BC_ALL_TESTS%%
-
-bc_all_tests_np:
-	%%BC_ALL_TESTS_NP%%
-
-timeconst_all_tests:
-	%%TIMECONST_ALL_TESTS%%
-
-dc_all_tests:
-	%%DC_ALL_TESTS%%
-
-dc_all_tests_np:
-	%%DC_ALL_TESTS_NP%%
-
-history_all_tests:
-	%%HISTORY_TESTS%%
-
-check: test
-
-test: %%TESTS%%
*** 37561 LINES SKIPPED ***