Herbie: автоматическая оптимизация вычислений с плавающей запятой
Herbie — это инструмент для автоматической оптимизации вычислений с плавающей запятой, чтобы минимизировать ошибки. Он удобен для разработчиков, работающих с числовыми вычислениями и нуждающимся в повышении точности своих формул.
Проект отличается от стандартных подходов тем, что использует специфические методы преобразования выражений для значительного снижения ошибок округления. Его можно запустить после установки Racket, используя команду raco pkg install --auto herbie. Поддерживает Windows, Linux и macOS, что делает его доступным для разных платформ.
Ограничение в том, что для разработки может потребоваться более акутальная версия Racket и Rust, а опыт работы с этими языками будет полезен. Кроме того, если ты ищешь простой способ улучшить численные вычисления в научных или инженерных приложениях, Herbie может быть полезным инструментом.
Herbie — это инструмент, который автоматически улучшает точность арифметических выражений с плавающей запятой. Этот проект реализован совместно Университетами Вашингтона и Юты. Его целью является оптимизация обработки чисел с плавающей запятой в вычислениях, что особенно полезно для программирования и научных вычислений.
Установка
Рекомендуется устанавливать Herbie через Racket Package Archive. Для этого сначала нужно установить Racket, пройдя по ссылке установки Racket. Затем выполните команду:
raco pkg install --auto herbie
После этого запустите Herbie с помощью команды:
racket -l herbie
Herbie поддерживает операционные системы Windows, Linux и macOS на архитектурах x86 и AArch64.
Установка из исходников
Если ты заинтересован в разработке Herbie, его можно установить из исходников. Для этого потребуется установленный Racket (версии 8.0 или выше) и Rust (версии 1.87.0 или выше). Обрати внимание, что на Linux не следует использовать установщик Snap для Racket. Скачай репозиторий и выполните команду:
make install
Затем можно запустить Herbie так же, как и в случае с установкой через пакетный менеджер:
racket -l herbie
Либо можно запустить файл напрямую:
src/main.rkt
Запуск Herbie
Чтобы запустить веб-интерфейс Herbie, используй следующую команду:
$ racket -l herbie web
Для получения дополнительной информации о запуске Herbie и его использовании, ознакомься с руководством.
Также Herbie может работать из командной строки:
$ racket -l herbie shell
При этом ты увидишь следующее приветствие:
Herbie 1.3 with seed 1866513483
Find help on https://herbie.uwplse.org/, exit with Ctrl-D
Можно вводить выражения в формате FPCore. Например, для ввода программы `(1 + x) - x` вывод будет `1`:
herbie> (FPCore (x) (- (+ 1 x) x))
(FPCore (x)
...
1)
Кроме того, Herbie поддерживает команды `improve` и `report`. Более подробную информацию об их использовании можно найти в документации.
Открыть на GitHub: herbie-fp/herbie →
RepoRadar