# Y-cruncher

y-cruncher is a computer program for the calculation of some mathematical constant with theoretical accuracy (limited only by computing time and available storage space). It was originally developed to calculate the Euler-Mascheroni constant γ; the y is derived from it in the name.
Since 2010, y-cruncher has been used for all record calculations of the number pi and other constants.
The software is downloadable from the website of the developers for Microsoft Windows and Linux. It does not have a graphical interface, but works on the command line. Calculation options are selected or entered via the text menu, the results are saved as a file.
Some popular uses of y-cruncher are running hardware benchmarks to measure performance of computer system. An example of such benchmark is HWBOT. y-cruncher can also be used for stress-tests, as performed computations are sensitive to RAM errors and the program can automatically detect such errors.

## Development

Alexander J. Yee started developing in high school a Java library for arbitrary-precision arithmetic called "BigNumber". With this he was able together with his roommate Raymond Chan on 8 December 2006 set the world record for the most number of calculated decimal places for the Euler-Mascheroni constant with 116 580 041 decimal places. In January 2009, they broke their own record and calculated 14 922 244 782 decimal places. At this point, the program was renamed to "y-cruncher" and ported to C and C++.
In the aftermath, Shigeru Kondo with the help of y-cruncher calculated $\pi$ to 5 trillion digits on 2 August 2010.
Next year, Yee and Kondo calculated 10 trillion decimal places and broke the then-valid world record for decimal places of π. After that, Yee decided to completely overhaul the program and rewrite it from scratch in version v0.6.1. This enabled determining $\pi$ with 12.1 trillion digits in just 94 days compared to 371 days that were spent for the previous record.

## Properties

y-cruncher has the following characteristic properties:
* Multithreading
* Vector instruction sets (see SIMD)
* Swapping
* Using multiple hard drives (in RAID)
* Automatic detection and correction of smaller arithmetic errors
* Processor-specific optimization

## Calculations

Since 2009, most of the world record-level calculations of mathematical constants have been performed with y-cruncher. The technical challenge does not (any longer) lie in the calculation itself, but in providing an environment that enables a comparatively efficient execution.
Current world records set with y-cruncher :
| Mathematical constant | Digits | Number of decimal places | Date | Carried out by |
| Pi | 3.14159... | 202 112 290 000 000 | 28 Jun 2024 | Jordan Ranous/StorageReview |
| Square root of 2 | 1.41421... | 20 000 000 000 000 | 26 Dec 2023 | Jordan Ranous |
| Square root of 3 | 1.73205... | 3 141 592 653 589 | 12 May 2024 | Dongyue Zhou |
| Square root of 5 | 2.23606... | 2 250 000 000 000 | 07 Oct 2021 | John Kominek |
| Golden ratio | 1.61803... | 20 000 000 000 000 | 27 Nov 2023 | Jordan Ranous |
| Euler's number | 2.71828... | 35 000 000 000 000 | 26 Dec 2023 | Jordan Ranous |
| Euler-Mascheroni constant | 0.57721... | 1 337 000 000 000 | 07 Sep 2023 | Andrew Sun |
| Apéry constant | 1.20205... | 2 020 569 031 595 | 22 Dec 2023 | Andrew Sun |
| Lemniscate constant | 2.62205... | 1 200 000 000 100 | 15 Jul 2022 | Seungmin Kim |
| Catalan's constant | 0.91596... | 1 200 000 000 100 | 21 Mar 2022 | Jordan Ranous |
| Natural logarithm of 2 | 0.69314... | 3 000 000 000 100 | 13 Feb 2024 | Jordan Ranous |
| Natural logarithm of 10 | 2.30258... | 1 200 000 000 100 | 06 Sep 2020 | Seungmin Kim |

## Purpose

The tool can serve several purposes. On the one hand, it allows the capabilities of CPUs and RAM to be determined and compared with other models. On the other hand, these hardware components can also be tested for stability and error susceptibility through stress testing. An alternative program for this would be Prime95. The advantage of the program lies in the fact that (partial) calculations can be carried out on an old Pentium PC, an up-to-date workstation, and theoretically even supercomputers, without measured performance falling off a measurement scale (or complex benchmarks becoming incompatible due to new hardware and interfaces). Setting new computing records also represents a contemporary feasibility study and can serve as an indicator of computer performance improvement over time when regularly performed and with similar parameters.