Full Code of uwplse/herbie for AI

main c01a0a12a04d cached
368 files
19.5 MB
681.8k tokens
178 symbols
1 requests
Download .txt
Showing preview only (2,725K chars total). Download the full file or copy to clipboard to get everything.
Repository: uwplse/herbie
Branch: main
Commit: c01a0a12a04d
Files: 368
Total size: 19.5 MB

Directory structure:
gitextract_znglj2cb/

├── .dockerignore
├── .fmt.rkt
├── .github/
│   └── workflows/
│       ├── distribute.yml
│       ├── plugins.yml
│       ├── release.yml
│       ├── resyntax-autofixer.yml
│       ├── tests.yml
│       └── unit-test.yml
├── .gitignore
├── AGENTS.md
├── Dockerfile
├── LICENSE.md
├── Makefile
├── README.md
├── bench/
│   ├── .gitignore
│   ├── arrays/
│   │   ├── basic.fpcore
│   │   ├── ops.fpcore
│   │   └── outputs.fpcore
│   ├── demo.fpcore
│   ├── graphics/
│   │   ├── fidget/
│   │   │   ├── bear.fpcore
│   │   │   ├── colonnade.fpcore
│   │   │   ├── gyroid-sphere.fpcore
│   │   │   ├── hi.fpcore
│   │   │   ├── prospero.fpcore
│   │   │   └── quarter.fpcore
│   │   ├── lod.fpcore
│   │   ├── log-transform.fpcore
│   │   └── pbrt.fpcore
│   ├── hamming/
│   │   ├── machine-decide.fpcore
│   │   ├── overflow-underflow.fpcore
│   │   ├── quadratic.fpcore
│   │   ├── rearrangement.fpcore
│   │   ├── series.fpcore
│   │   └── trigonometry.fpcore
│   ├── haskell.fpcore
│   ├── libraries/
│   │   ├── fast-math.fpcore
│   │   ├── jmatjs.fpcore
│   │   ├── mathjs/
│   │   │   ├── arithmetic.fpcore
│   │   │   ├── complex.fpcore
│   │   │   ├── probability.fpcore
│   │   │   └── trigonometry.fpcore
│   │   ├── octave/
│   │   │   ├── CollocWt.fpcore
│   │   │   └── randgamma.fpcore
│   │   └── rust.fpcore
│   ├── mathematics/
│   │   ├── arvind.fpcore
│   │   ├── beta-distribution.fpcore
│   │   ├── dirichlet-mixture-model.fpcore
│   │   ├── excel.fpcore
│   │   ├── gui.fpcore
│   │   ├── hyperbolic-functions.fpcore
│   │   ├── latlong.fpcore
│   │   ├── logistic-regression.fpcore
│   │   ├── sarnoff.fpcore
│   │   ├── statistics.fpcore
│   │   ├── symmetry.fpcore
│   │   └── xkcd-expr.fpcore
│   ├── numerics/
│   │   ├── conte.fpcore
│   │   ├── every-cs.fpcore
│   │   ├── fma.fpcore
│   │   ├── great-debate.fpcore
│   │   ├── hamming-misc.fpcore
│   │   ├── kahan.fpcore
│   │   ├── libm.fpcore
│   │   ├── martel.fpcore
│   │   ├── polynomial-cancellation.fpcore
│   │   ├── rosa.fpcore
│   │   └── rump.fpcore
│   ├── physics/
│   │   ├── ballistics.fpcore
│   │   ├── dimer-escape.fpcore
│   │   ├── gated-magnetic-field.fpcore
│   │   ├── gravitation.fpcore
│   │   ├── kalman.fpcore
│   │   ├── multiphoton-states.fpcore
│   │   ├── quantum-walk.fpcore
│   │   ├── sidey.fpcore
│   │   ├── superfluidity-breakdown.fpcore
│   │   ├── tea-flows.fpcore
│   │   ├── tea-whistle.fpcore
│   │   └── universal-linear-optics.fpcore
│   ├── proj/
│   │   ├── krovak.fpcore
│   │   ├── omerc.fpcore
│   │   ├── som.fpcore
│   │   ├── somerc.fpcore
│   │   └── tmerc.fpcore
│   ├── regression.fpcore
│   └── tutorial.fpcore
├── egg-herbie/
│   ├── .gitignore
│   ├── Cargo.toml
│   ├── LICENSE
│   ├── README.md
│   ├── info.rkt
│   ├── main.rkt
│   └── src/
│       ├── lib.rs
│       └── math.rs
├── infra/
│   ├── .gitignore
│   ├── analyze-rules.rkt
│   ├── bench/
│   │   ├── posit-pherbie.fpcore
│   │   └── posits.fpcore
│   ├── ci.rkt
│   ├── convert-demo-json.sh
│   ├── convert-demo.rkt
│   ├── convert-json.rkt
│   ├── coverage.rkt
│   ├── diagrams/
│   │   ├── .gitignore
│   │   ├── 1.5/
│   │   │   └── herbie-system.drawio
│   │   ├── 1.6/
│   │   │   └── herbie-system.drawio
│   │   ├── 1.6-changes/
│   │   │   └── herbie-system.drawio
│   │   ├── 2.1/
│   │   │   └── herbie-system.drawio
│   │   └── 2.2/
│   │       └── system.key
│   ├── diff.rkt
│   ├── fidget2core.py
│   ├── herbie-demo.service
│   ├── merge.rkt
│   ├── nightly.sh
│   ├── softposit.rkt
│   ├── sort-fpcore.rkt
│   ├── survey/
│   │   ├── .gitignore
│   │   ├── README.md
│   │   ├── seed-variance.sh
│   │   └── src/
│   │       ├── plot-results.sh
│   │       ├── seed-bar-chart.py
│   │       ├── seed-violin-plot.py
│   │       ├── test-versus-plot.py
│   │       └── test-violin-plot.py
│   ├── survey.rkt
│   └── test-api.mjs
├── src/
│   ├── api/
│   │   ├── datafile.rkt
│   │   ├── demo.rkt
│   │   ├── run.rkt
│   │   ├── sandbox.rkt
│   │   ├── server.rkt
│   │   └── shell.rkt
│   ├── config.rkt
│   ├── core/
│   │   ├── alt-table.rkt
│   │   ├── alternative.rkt
│   │   ├── arrays.rkt
│   │   ├── batch-reduce.rkt
│   │   ├── bsearch.rkt
│   │   ├── compiler.rkt
│   │   ├── derivations.rkt
│   │   ├── egg-herbie.rkt
│   │   ├── egglog-herbie-tests.rkt
│   │   ├── egglog-herbie.rkt
│   │   ├── egglog-subprocess.rkt
│   │   ├── explain.rkt
│   │   ├── localize.rkt
│   │   ├── mainloop.rkt
│   │   ├── patch.rkt
│   │   ├── points.rkt
│   │   ├── preprocess.rkt
│   │   ├── programs.rkt
│   │   ├── prove-rules.rkt
│   │   ├── regimes.rkt
│   │   ├── rules.rkt
│   │   ├── sampling.rkt
│   │   ├── searchreals.rkt
│   │   ├── taylor.rkt
│   │   └── test-rules.rkt
│   ├── info.rkt
│   ├── main.rkt
│   ├── platform.rkt
│   ├── platforms/
│   │   ├── c-windows.rkt
│   │   ├── c.rkt
│   │   ├── herbie10.rkt
│   │   ├── herbie20.rkt
│   │   ├── julia.rkt
│   │   ├── math.rkt
│   │   ├── python.rkt
│   │   ├── racket.rkt
│   │   ├── reflow.rkt
│   │   └── rival.rkt
│   ├── reports/
│   │   ├── common.rkt
│   │   ├── core2mathjs.rkt
│   │   ├── data.rkt
│   │   ├── history.rkt
│   │   ├── make-graph.rkt
│   │   ├── pages.rkt
│   │   ├── plot.rkt
│   │   ├── resources/
│   │   │   ├── 404.html
│   │   │   ├── demo.js
│   │   │   ├── main.css
│   │   │   ├── report-page.js
│   │   │   ├── report.css
│   │   │   ├── report.html
│   │   │   └── report.js
│   │   ├── timeline.rkt
│   │   └── traceback.rkt
│   ├── syntax/
│   │   ├── batch.rkt
│   │   ├── float.rkt
│   │   ├── generators.rkt
│   │   ├── load-platform.rkt
│   │   ├── matcher.rkt
│   │   ├── platform-language.rkt
│   │   ├── platform.rkt
│   │   ├── read.rkt
│   │   ├── rival.rkt
│   │   ├── sugar.rkt
│   │   ├── syntax-check.rkt
│   │   ├── syntax.rkt
│   │   ├── test-syntax.rkt
│   │   ├── type-check.rkt
│   │   └── types.rkt
│   └── utils/
│       ├── common.rkt
│       ├── dvector.rkt
│       ├── errors.rkt
│       ├── multi-command-line.rkt
│       ├── pareto.rkt
│       ├── pretty-print.rkt
│       ├── profile.rkt
│       └── timeline.rkt
└── www/
    ├── aec.html
    ├── demo.js
    ├── doc/
    │   ├── 0.9/
    │   │   ├── docker.html
    │   │   ├── input.html
    │   │   ├── installing-herbgrind.html
    │   │   ├── installing-herbie.html
    │   │   ├── options.html
    │   │   ├── using-herbgrind.html
    │   │   └── using-herbie.html
    │   ├── 1.0/
    │   │   ├── docker.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing-herbgrind.html
    │   │   ├── installing-herbie.html
    │   │   ├── options.html
    │   │   ├── release-notes.html
    │   │   ├── using-herbgrind.html
    │   │   └── using-herbie.html
    │   ├── 1.1/
    │   │   ├── compare.js
    │   │   ├── docker.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── results-new.json
    │   │   ├── results-old.json
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 1.2/
    │   │   ├── docker.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 1.3/
    │   │   ├── docker.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── plugins.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── toc.js
    │   │   ├── tutorial.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 1.4/
    │   │   ├── docker.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── plugins.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── toc.js
    │   │   ├── tutorial.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 1.5/
    │   │   ├── diagrams.html
    │   │   ├── docker.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── plugins.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── toc.js
    │   │   ├── tutorial.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 1.6/
    │   │   ├── diagrams.html
    │   │   ├── docker.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── plugins.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── toc.js
    │   │   ├── tutorial.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 2.0/
    │   │   ├── api-endpoints.html
    │   │   ├── diagrams.html
    │   │   ├── docker.html
    │   │   ├── error.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── plugins.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── toc.js
    │   │   ├── tutorial.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 2.1/
    │   │   ├── api-endpoints.html
    │   │   ├── diagrams.html
    │   │   ├── docker.html
    │   │   ├── error.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── plugins.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── toc.js
    │   │   ├── tutorial.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 2.2/
    │   │   ├── api-endpoints.html
    │   │   ├── diagrams.html
    │   │   ├── docker.html
    │   │   ├── error.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── platforms.html
    │   │   ├── plugins.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── toc.js
    │   │   ├── tutorial.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   └── 2.3/
    │       ├── api-endpoints.html
    │       ├── diagrams.html
    │       ├── docker.html
    │       ├── error.html
    │       ├── faq.html
    │       ├── input.html
    │       ├── installing.html
    │       ├── options.html
    │       ├── platforms.html
    │       ├── plugins.html
    │       ├── release-notes.html
    │       ├── report.html
    │       ├── toc.js
    │       ├── tutorial.html
    │       ├── using-cli.html
    │       └── using-web.html
    ├── doc.html
    ├── graph.js
    ├── index.html
    ├── main.css
    ├── papers.html
    ├── pldi15-slides.key
    └── results.json

================================================
FILE CONTENTS
================================================

================================================
FILE: .dockerignore
================================================
.git
.github
.gitignore
reports
papers
egg-herbie/target


================================================
FILE: .fmt.rkt
================================================
#lang racket/base

(require fmt/conventions)

(provide the-formatter-map)

(define (the-formatter-map s)
  (case s
    [("define-operators") (standard-formatter-map "begin")]
    [("define-operations") (standard-formatter-map "define")]
    [("define-rules") (standard-formatter-map "define")]
    [("define-generator") (standard-formatter-map "define")]
    [("define-api-endpoint") (standard-formatter-map "define")]
    [else #f]))


================================================
FILE: .github/workflows/distribute.yml
================================================
name: Distribute

on:
  push:
    branches:
      - main

env:
  RUST_BACKTRACE: full

jobs:
  distribute:
    strategy:
      matrix:
        include:
          - os: macos-latest
            arch: aarch64
          - os: macos-15-intel
            arch: x64
          - os: ubuntu-latest
            arch: x64
          - os: windows-latest
            arch: x64

    runs-on: ${{ matrix.os }}

    steps:
      - name: "Install Racket"
        uses: Bogdanp/setup-racket@v1.14
        with:
            version: "8.18"
            architecture: ${{ matrix.arch }}
      - name: Cache Racket dependencies
        uses: actions/cache@v4
        with:
          key: ${{ runner.os }}-deps
          path: |
            ~/.cache/racket
            ~/.local/share/racket
            ~/Library/Racket/
            ${{ env.APPDATA }}/Racket
      - name: Install Rust compiler
        uses: dtolnay/rust-toolchain@stable
        with:
            toolchain: stable
            components: rustfmt, clippy
      - name: Cache cargo build
        uses: Swatinem/rust-cache@v2
      - uses: actions/checkout@v5
      - name: "Install dependencies"
        run: make install
      # Build executable and remove Herbie launcher
      - name: "Build standalone executable"
        run: make distribution
      - name: "Uninstall Herbie launcher"
        run: raco pkg remove herbie egg-herbie
      # Test executable
      - name: "Test executable, improve tool (Windows)"
        if: runner.os == 'Windows'
        run: herbie-compiled/herbie.exe improve --threads yes bench/tutorial.fpcore improve.fpcore
      - name: "Test executable, improve tool (Linux / MacOS)"
        if: runner.os != 'Windows'
        run: herbie-compiled/bin/herbie improve --threads yes bench/tutorial.fpcore improve.fpcore
      - name: "Test executable, report tool (Windows)"
        if: runner.os == 'Windows'
        run: herbie-compiled/herbie.exe report --threads yes bench/tutorial.fpcore tmp
      - name: "Test executable, report tool (Linux / MacOS)"
        if: runner.os != 'Windows'
        run: herbie-compiled/bin/herbie report --threads yes bench/tutorial.fpcore tmp


================================================
FILE: .github/workflows/plugins.yml
================================================
name: Plugins

on: [push]

env:
  RUST_BACKTRACE: full

jobs:
  softposit:
    name: "Plugin tests (Posits)"
    runs-on: ubuntu-latest
    steps:
      - name: "Install Packages"
        run: sudo apt-get install -y libmpfr6 libmpfr-dev
      - name: "Install Racket"
        uses: Bogdanp/setup-racket@v1.14
        with:
          version: "8.18"
      - name: Install Rust compiler
        uses: dtolnay/rust-toolchain@stable
        with:
            toolchain: stable
            components: rustfmt, clippy
      - name: Cache cargo build
        uses: Swatinem/rust-cache@v2
      - uses: actions/checkout@v5
      - name: "Install dependencies"
        run: make install
      - name: "Install SoftPosit support"
        run: raco pkg install softposit-rkt
      - name: "Run posit benchmarks"
        run: racket infra/ci.rkt --rival2 --platform infra/softposit.rkt --precision posit16 --seed 0 infra/bench/posits.fpcore


================================================
FILE: .github/workflows/release.yml
================================================
name: Build new Herbie release

on:
  push:
    tags:
    - 'v*'

jobs:
  build:
    name: Build
    strategy:
      matrix:     # manual matrix
        include:
          - os: windows-latest
            os-name: windows
            arch: x64
          - os: ubuntu-20.04  # keep old for glibc compatability
            os-name: ubuntu
            arch: x64
          - os: macos-latest
            os-name: macOS-m1
            arch: arm64
          - os: macos-15-intel
            os-name: macOS
            arch: x64

    runs-on: ${{ matrix.os }}

    steps:
      - uses: actions/checkout@v5

      - name: Install Racket
        uses: Bogdanp/setup-racket@v1.14
        with:
          version: 8.18
          architecture: ${{ matrix.arch }}

      - name: Install Rust compiler
        uses: dtolnay/rust-toolchain@stable
        with:
            toolchain: stable
            
      - name: build egg-herbie
        run: cargo build --release --manifest-path=egg-herbie/Cargo.toml
      
      - name: Create tarball
        run: raco pkg create --format zip egg-herbie

      - name: Rename tarballs
        run: |
          mv egg-herbie.zip egg-herbie-${{ matrix.os-name }}.zip
          mv egg-herbie.zip.CHECKSUM egg-herbie-${{ matrix.os-name }}.zip.CHECKSUM

      - name: Upload pre-built egg-herbie
        uses: actions/upload-artifact@v4
        with:
          path: egg-herbie-${{ matrix.os-name }}.zip
          name: egg-herbie-${{ matrix.os-name }}.zip
          if-no-files-found: error

      - name: Upload pre-built egg-herbie checksum
        uses: actions/upload-artifact@v4
        with:
          path: egg-herbie-${{ matrix.os-name }}.zip.CHECKSUM
          name: egg-herbie-${{ matrix.os-name }}.zip.CHECKSUM
          if-no-files-found: error

  release:
    name: Create Initial Release
    runs-on: ubuntu-latest
    needs: build
    
    steps:
      - name: Download pre-built artifacts
        uses: actions/download-artifact@v4
        with:
          path: artifacts
          pattern: egg-herbie-*
          merge-multiple: true

      - name: Create Release
        uses: ncipollo/release-action@v1.20.0
        with:
          tag: ${{ github.ref }}
          name: ${{ github.ref }}
          commit: ${{ github.commit }}
          draft: true
          prerelease: false
          artifactErrorsFailBuild: true
          artifacts: "artifacts/*"


================================================
FILE: .github/workflows/resyntax-autofixer.yml
================================================
name: Resyntax Autofixer

on:
  workflow_dispatch:
  schedule:
    - cron: "0 0 * * 0"

jobs:
  autofix:
    runs-on: ubuntu-latest
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    permissions:
      pull-requests: write
      contents: write
    steps:
      - name: "Install Packages"
        run: sudo apt-get install -y libmpfr6 libmpfr-dev
      - name: "Install Racket"
        uses: Bogdanp/setup-racket@v1.14
        with:
          version: current
      - name: Install Rust compiler
        uses: dtolnay/rust-toolchain@stable
        with:
            toolchain: stable
            components: rustfmt, clippy
      - name: Cache cargo build
        uses: Swatinem/rust-cache@v2
      - uses: actions/checkout@v5
      - name: "Install dependencies"
        run: make install
      - name: Create a Resyntax pull request
        uses: jackfirth/create-resyntax-pull-request@v0.5.1
        with:
          private-key: ${{ secrets.RESYNTAX_APP_PRIVATE_KEY }}
          max-fixes: '10'
          max-modified-files: '3'
          max-modified-lines: '100'


================================================
FILE: .github/workflows/tests.yml
================================================
name: Integration

on: [push]

env:
  RUST_BACKTRACE: full

jobs:
  hamming:
    name: "Integration tests (Hamming)"
    runs-on: ubuntu-latest
    strategy:
      matrix:
        racket-version: [ '8.7', '8.18' ]
        precision: [ 'binary32', 'binary64' ]
    steps:
      - name: "Install Packages"
        run: sudo apt-get install -y libmpfr6 libmpfr-dev
      - name: "Install Racket"
        uses: Bogdanp/setup-racket@v1.14
        with:
          version: ${{ matrix.racket-version }}
      - name: Install Rust compiler
        uses: dtolnay/rust-toolchain@stable
        with:
            toolchain: stable
            components: rustfmt, clippy
      - name: Cache cargo build
        uses: Swatinem/rust-cache@v2
      - uses: actions/checkout@v5
      - name: "Install dependencies"
        run: make install
      - run: racket -y infra/ci.rkt --precision ${{ matrix.precision }} --seed 0 bench/hamming/


================================================
FILE: .github/workflows/unit-test.yml
================================================
name: Unit tests

on: [push]

env:
  RUST_BACKTRACE: full

jobs:
  unit-tests:
    name: "Unit Tests"
    runs-on: ubuntu-latest
    steps:
      - name: "Install Packages"
        run: sudo apt-get install -y libmpfr6 libmpfr-dev
      - name: "Install Racket"
        uses: Bogdanp/setup-racket@v1.14
        with:
          version: "8.18"
      - name: Install Rust compiler
        uses: dtolnay/rust-toolchain@stable
        with:
            toolchain: stable
            components: rustfmt, clippy
      - name: Cache cargo build
        uses: Swatinem/rust-cache@v2
      - uses: actions/checkout@v5
      - name: "Install dependencies"
        run: make install
      # SoftPosit is required to test the softposit platform we use for testing
      - name: "Install SoftPosit support"
        run: raco pkg install softposit-rkt

      - name: "Test raco fmt compliance"
        run: make fmt && git diff --exit-code

      # Run the Herbie unit tests
      - name: "Run Herbie unit tests"
        run: raco test src/ infra/ egg-herbie/

      # Test the command-line tools
      - name: "Test the shell command-line tool"
        run: |
          <bench/tutorial.fpcore racket -l herbie shell >/tmp/out.fpcore
          test `grep -c :precision /tmp/out.fpcore` -eq 3
          test `grep -c ';;' /tmp/out.fpcore` -eq 0
      - name: "Test the improve command-line tool"
        run: |
          racket -l herbie improve bench/tutorial.fpcore /tmp/out.fpcore
          test `grep -c :precision /tmp/out.fpcore` -eq 3
          test `grep -c '^; ' /tmp/out.fpcore` -eq 0
      - name: "Run the report command-line tool"
        run: |
          racket -l herbie report bench/tutorial.fpcore /tmp/out/
          test -d /tmp/out/
          test -f /tmp/out/index.html
          test -f /tmp/out/results.json
      - name: "Run two reports with the same seed and diff them"
        run: |
          racket -l herbie report --threads yes --seed 1 bench/hamming/rearrangement.fpcore tmp-0
          racket -l herbie report --threads yes --seed 1 bench/hamming/rearrangement.fpcore tmp-1
          racket infra/diff.rkt tmp-0 tmp-1

      - name: "Run Herbie on array benchmarks"
        run: racket -l herbie improve bench/arrays /tmp/out.fpcore
      - name: "Run Herbie with egglog"
        run: racket -y infra/ci.rkt --egglog --precision binary64 --seed 1 bench/tutorial.fpcore

      # Test the egg-herbie Rust code
      - run: cd egg-herbie && cargo clippy --tests
        continue-on-error: true
      - run: cd egg-herbie && cargo test
      - run: cd egg-herbie && cargo fmt -- --check
      - run: cd egg-herbie && raco test ./

      # Test the API
      - uses: actions/setup-node@v6
        with:
          node-version: 20
      - name: "Test the endpoint"
        run: node infra/test-api.mjs


================================================
FILE: .gitignore
================================================
# OS cruft
*~
*.swp
.DS_Store

# Standard directories
www/demo
demo.log
test.fpcore
tmp
tmp-*
dump-*
.codex

# Related repositories
/reports
papers
plugins
plugin
rival
rival3
regraph
egg-herbie/pkg
odyssey
generic-flonum

# Racket
*.zo
*.dep
herbie-compiled/

# Python
.env/
.worktrees



================================================
FILE: AGENTS.md
================================================

# Formatting

- Use `map` over `for/list` only if it avoids a `lambda`.
- Always use `in-list` and similar with `for` variants.
- Always pass `#:length N` to `for/vector`.
- Do not code defensively. Do not do runtime type checks or fallback.
  Prefer to examine all callers to establish types, or if they can
  differ prefer `match` with explicit patterns for all cases, to
  ensure that an unanticipated values at any point cause errors.
- Format Racket code with `make fmt` at the top level.
- Check `git diff` and delete dead code before finishing a task.
- Update docs in `www/doc/2.3/` if you change user-visible options.
- Enforce module layering `utils < syntax < core < reports < api`: do not add imports from a lower layer to a higher layer.

# Testing

- If you change the Herbie core, test that your changes work with
  `racket src/main.rkt report bench/tutorial.fpcore tmp`. This should
  take about 5-10 seconds and all of the tests should pass with
  perfect accuracy. You can also use other benchmark suites if asked.
- If you need to store two reports name the folders `tmp-X` for some X.
- Arguments come after the word `report` before any other arguments.
- Herbie prints a seed every time it runs; you can pass `--seed N`
  after the "report" argument to fix the seed reproducibly.
- You can pass `--timeout T` to time out a benchmark after T seconds.
- After running tests, `tmp` will have one directory per benchmark.
  Each has a detailed `graph.html`, including tracebacks for crashes.
- The default e-graph backend is `egg`; pass `--enable generate:egglog`
  to enable the `egglog` backend. You may need to add `~/.cargo/bin`
  to the `PATH`.
- Some files have unit tests; run them with `raco test <file>`.

# Observability

- `jq` is installed, use it
- If you're investigating a single benchmark, copy it to a file named
  `test.fpcore` and run just that file.
- Herbie runs output a `tmp/<benchmark>/timeline.json` with rich
  observability data for each benchmark.
- A timeline is a list of phases, each a map from key to "table",
  each table is a list of fixed-length arrays.
- Timeline types are defined in `src/utils/timeline.rkt`; HTML
  generation is defined in `src/reports/timeline.rkt`.
- Add to the timeline with `(timeline-push! 'type val1 val2 ...)`. The
  `val`s must be JSON-compatible, so convert symbols to strings.
- Herbie runs generates a profile in `tmp/<benchmark>/profile.json`.
- You can also dump GC/memory data to `dump-trace.json` with `--enable
  dump:trace`, Rival commands with `--enable dump:rival`, and egglog
  commands with `--enable dump:egglog`. Dumps go in `dump-XXX` in the
  current directory. Clean that directory when done.


================================================
FILE: Dockerfile
================================================
# Multistage build: https://docs.docker.com/develop/develop-images/multistage-build/
# We build necessary binaries in one image, then COPY them to a second production 
# image to save some space.

# Build image
# Builds output under /herbie/egg-herbie
FROM rust:1.88.0 AS egg-herbie-builder
WORKDIR /herbie
COPY egg-herbie egg-herbie
RUN cargo build --release --manifest-path=egg-herbie/Cargo.toml
RUN cargo install egglog --version 1.0.0

# Production image
FROM racket/racket:8.17-full AS production
LABEL maintainer="Pavel Panchekha <me@pavpanchekha.com>"
COPY --from=egg-herbie-builder /herbie/egg-herbie /src/egg-herbie
RUN raco pkg install --no-docs /src/egg-herbie
COPY --from=egg-herbie-builder /usr/local/cargo/bin/egglog /usr/local/bin/egglog
COPY src /src/herbie
RUN raco pkg install --no-docs --auto /src/herbie
ENTRYPOINT ["racket", "/src/herbie/main.rkt"]
EXPOSE 80
# NOTE --public allows the Docker host to interact with the demo,
# typical users shouldn't need to use it.
CMD ["web", "--public", "--port", "80", "--quiet", "--demo", "--threads", "2"]


================================================
FILE: LICENSE.md
================================================
Copyright (c) 2015-2024 Herbie Project
Modified work Copyright 2016 Google Inc.

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 the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


================================================
FILE: Makefile
================================================
.PHONY: help install egg-herbie nightly index start-server deploy coverage

help:
	@echo "Type 'make install' to install Herbie"
	@echo "Then type 'racket -l herbie web' to run it."

install: clean egg-herbie egglog-herbie update

clean:
	raco pkg remove --force --no-docs herbie && echo "Uninstalled old herbie" || :
	raco pkg remove --force --no-docs egg-herbie && echo "Uninstalled old egg-herbie" || :
	raco pkg remove --force --no-docs egg-herbie-linux && echo "Uninstalled old egg-herbie" || :
	raco pkg remove --force --no-docs egg-herbie-windows && echo "Uninstalled old egg-herbie" || :
	raco pkg remove --force --no-docs egg-herbie-osx && echo "Uninstalled old egg-herbie" || :
	raco pkg remove --force --no-docs egg-herbie-macosm1 && echo "Uninstalled old egg-herbie" || :

update:
	raco pkg install --update-deps --no-docs --auto --name herbie src/
	raco pkg update --auto rival
	raco pkg update --auto rival3
	raco pkg update --name herbie --deps search-auto src/

egg-herbie:
	cargo build --release --manifest-path=egg-herbie/Cargo.toml
	raco pkg remove --force --no-docs egg-herbie && echo "Warning: uninstalling egg-herbie and reinstalling local version" || :
	raco pkg remove --force --no-docs egg-herbie-linux && echo "Warning: uninstalling egg-herbie and reinstalling local version" || :
	raco pkg remove --force --no-docs egg-herbie-windows && echo "Warning: uninstalling egg-herbie and reinstalling local version" || :
	raco pkg remove --force --no-docs egg-herbie-osx && echo "Warning: uninstalling egg-herbie and reinstalling local version" || :
	raco pkg remove --force --no-docs egg-herbie-macosm1 && echo "Warning: uninstalling egg-herbie and reinstalling local version" || :
	raco pkg install ./egg-herbie

egglog-herbie:
	cargo install --git "https://github.com/egraphs-good/egglog-experimental" --branch main egglog-experimental

distribution: minimal-distribution
	cp -r bench herbie-compiled/

minimal-distribution:
	mkdir -p herbie-compiled/
	cp README.md herbie-compiled/
	cp LICENSE.md herbie-compiled/
	cp logo.png herbie-compiled/
	raco exe -o herbie --orig-exe --embed-dlls --vv src/main.rkt
	[ ! -f herbie.exe ] || (raco distribute herbie-compiled herbie.exe && rm herbie.exe)
	[ ! -f herbie.app ] || (raco distribute herbie-compiled herbie.app && rm herbie.app)
	[ ! -f herbie ] || (raco distribute herbie-compiled herbie && rm herbie)

nightly:
	bash infra/nightly.sh bench reports --threads 2

upgrade:
	git pull
	$(MAKE) install

start-server:
	racket -y src/main.rkt web --seed 1 --timeout 150 --threads 8 \
		--demo --public --prefix /demo/ --port 4053 --save-session www/demo/ \
		--log infra/server.log --quiet 2>&1

fmt:
	@raco fmt -i $(shell find egg-herbie src infra -name '*.rkt' -not -path 'src/platforms/*.rkt' -not -path 'infra/softposit.rkt')

coverage:
	@racket infra/coverage.rkt --benchmark $(or $(BENCH),bench/hamming) $(ARGS)

herbie.zip herbie.zip.CHECKSUM:
	raco pkg create src/
	mv src.zip herbie.zip
	mv src.zip.CHECKSUM herbie.zip.CHECKSUM

random-file:
	@find src infra -path '*/compiled/*' -prune \
		    -o -path 'infra/survey/*' -prune \
		    -o -type f -print | \
	sort -R | head -n1


================================================
FILE: README.md
================================================
![Herbie](logo.png)


Herbie automatically improves the error of floating point expressions.
Visit [our website](https://herbie.uwplse.org) for tutorials,
documentation, and an online demo. Herbie is a joint project of the
Universities of [Washington](https://uwplse.org) and
[Utah](https://cpu.cs.utah.edu).

## Installing

We recommend installing Herbie from the Racket Package Archive. To do
so, [install Racket](https://download.racket-lang.org/) and then run:

    raco pkg install --auto herbie

You can then run `racket -l herbie` to run Herbie. Herbie supports
Windows, Linux, and macOS on both x86 and AArch64. For full
instructions, see the
[documentation](https://herbie.uwplse.org/doc/latest/installing.html).

## Installing from Source

You can install Herbie from source if you want to participate in
Herbie development. This requires
[Racket](https://download.racket-lang.org/) (8.0 or later) and
[Rust](https://www.rust-lang.org/tools/install) (1.87.0 or later).
On Linux, avoid the Snap installer for Racket. Then, download the
this repository and run:

    make install

You can then run `racket -l herbie` to run Herbie, or run
`src/main.rkt` directly.

## Running Herbie

You can run Herbie's web interface with:

    $ racket -l herbie web

For more information on running Herbie, please see the
[tutorial](https://herbie.uwplse.org/doc/latest/using-web.html).

You can also use Herbie from the command line:

    $ racket -l herbie shell
    Herbie 1.3 with seed 1866513483
    Find help on https://herbie.uwplse.org/, exit with Ctrl-D
    herbie> (FPCore (x) (- (+ 1 x) x))
    (FPCore (x)
      ...
      1)

Here the input is the program `(1 + x) - x` and the output is `1`. The
input format is [FPCore](https://fpbench.org/spec/fpcore-1.2.html);
you can see more examples in `bench/`.

Besides `shell`, Herbie has batch the `improve` and `report` commands.
The [documentation](https://herbie.uwplse.org/doc/latest/options.html)
has more details.


================================================
FILE: bench/.gitignore
================================================
random.rkt


================================================
FILE: bench/arrays/basic.fpcore
================================================
; -*- mode: scheme -*-

(FPCore first-element ((v 2))
 :name "First element from 2-element vector input"
 (ref v 0))

(FPCore nested-literal ()
 :name "Element from nested array literal"
 (ref (ref (array (array 2.0 0.5)
                  (array -0.25 1.5))
           1)
      0))

(FPCore bias-add ()
 :name "Sum two literal bias terms"
 (let* ([bias (array 0.1 -0.2)])
   (+ (ref bias 0) (ref bias 1))))


================================================
FILE: bench/arrays/ops.fpcore
================================================
; -*- mode: scheme -*-

(FPCore vector-sum ((v 2))
 :name "Sum two-element vector"
 :pre (and (<= (fabs (ref v 0)) 1e150)
           (<= (fabs (ref v 1)) 1e150))
 (+ (ref v 0) (ref v 1)))

(FPCore dot-product-2d ((a 2) (b 2))
 :name "2D vector dot product"
 :pre (and (<= (fabs (ref a 0)) 1e150)
           (<= (fabs (ref a 1)) 1e150)
           (<= (fabs (ref b 0)) 1e150)
           (<= (fabs (ref b 1)) 1e150))
 (+ (* (ref a 0) (ref b 0))
    (* (ref a 1) (ref b 1))))

(FPCore weighted-combo (w (v 2))
 :name "Weighted combination of scalar and vector"
 :pre (and (<= (fabs w) 1e150)
           (<= (fabs (ref v 0)) 1e150)
           (<= (fabs (ref v 1)) 1e150))
 (+ (* w (ref v 0)) (ref v 1)))

(FPCore scaled-sum ((v 2) s)
 :name "Scaled sum of vector elements"
 :pre (and (<= (fabs s) 1e150)
           (<= (fabs (ref v 0)) 1e150)
           (<= (fabs (ref v 1)) 1e150))
 (+ (* s (ref v 0))
    (* s (ref v 1))))

(FPCore mat-vec-first-row ((v 2))
 :name "Apply fixed 2x2 matrix row to vector"
 :pre (and (<= (fabs (ref v 0)) 1e150)
           (<= (fabs (ref v 1)) 1e150))
 (let* ([row0 (array 1.5 -0.75)]
        [row1 (array -0.1 0.3)])
   (+ (* (ref row0 0) (ref v 0))
      (* (ref row0 1) (ref v 1)))))


================================================
FILE: bench/arrays/outputs.fpcore
================================================
; -*- mode: scheme -*-

(FPCore literal-vector ()
 :name "Return fixed 2-element array literal"
 :precision binary64
 (array 1.0
        -1.0))

(FPCore copy-vector ((v 2))
 :name "Return input vector elements as array"
 :precision binary64
 (array (ref v 0)
        (ref v 1)))

(FPCore ((x 2))
  :name "2sin (example 3.3) using vector"
  :pre (and (<= -1e4 (ref x 0)) (<= (ref x 0) 1e4) (< (* 1e-16 (fabs (ref x 0))) (ref x 1)) (< (ref x 1) (* (fabs (ref x 0)))))
  (- (sin (+ (ref x 0) (ref x 1))) (sin (ref x 0))))

(FPCore create-vector ((! :precision binary64 v0) (! :precision binary64 v1))
 :name "Return input elements as array"
 :precision binary64
 (array v0 v1))

(FPCore reverse-vector ((v 2))
 :name "Reverse input vector elements"
 :precision binary64
 (array (ref v 1)
        (ref v 0)))

(FPCore mean-and-span ((v 2))
 :name "Mean and half-difference of vector"
 :precision binary64
 :pre (and (<= (fabs (ref v 0)) 1e150)
           (<= (fabs (ref v 1)) 1e150))
 (let* ([mean (* 0.5 (+ (ref v 0) (ref v 1)))]
        [half-span (* 0.5 (- (ref v 0) (ref v 1)))])
   (array mean half-span)))

(FPCore duplicate-scalar ((! :precision binary64 s))
 :name "Duplicate scalar into array"
 :precision binary64
 :pre (<= (fabs s) 1e150)
 (array s s))

(FPCore pairwise-sum ((a 2) (b 2))
 :name "Pairwise sum of two input vectors"
 :precision binary64
 (array (+ (ref a 0) (ref b 0))
        (+ (ref a 1) (ref b 1))))


================================================
FILE: bench/demo.fpcore
================================================
; -*- mode: scheme -*-

(FPCore (x y z)
 :name "fabs fraction 1"
 (fabs (- (/ (+ x 4) y) (* (/ x y) z))))

(FPCore (a b)
 :name "fabs fraction 2"
 (/ (fabs (- a b)) 2))

(FPCore (f n)
 :name "subtraction fraction"
 (/ (- (+ f n)) (- f n)))

(FPCore (x)
 :name "exp neg sub"
 (exp (- (- 1 (* x x)))))

(FPCore (x)
 :name "sqrt times"
 (* (sqrt (- x 1)) (sqrt x)))

(FPCore (x)
 :name "neg log"
 (- (log (- (/ 1 x) 1))))

(FPCore (x)
 :name "sqrt sqr"
 :alt 
 (! :herbie-platform default (if (< x 0) 2 0))

 (- (/ x x) (* (/ 1 x) (sqrt (* x x)))))

(FPCore (a b c)
 :name "jeff quadratic root 1"
 (let ((d (sqrt (- (* b b) (* (* 4 a) c)))))
   (if (>= b 0) (/ (- (- b) d) (* 2 a)) (/ (* 2 c) (+ (- b) d)))))

(FPCore (a b c)
 :name "jeff quadratic root 2"
 (let ((d (sqrt (- (* b b) (* (* 4 a) c)))))
   (if (>= b 0) (/ (* 2 c) (- (- b) d)) (/ (+ (- b) d) (* 2 a)))))

(FPCore (p)
  :name "peicewise-defined"
  :pre (and (>= p -1.79e308) (<= p 1.79e308))
  :alt
    (if (and (>= p -1e-6) (<= p 0))
      (- (+ p 1) (/ (* p p) (- p 1)))
      (- p (fma (/ p (- p 1)) p -1)))
  (- (+ p 1.0) (/ (pow (fmin p 0.0) 2.0) (- (fmin p 0.0) 1.0))))

(FPCore (x)
  :name "(x - 1) to (x - 20)"
  :precision binary64
  :pre (<= 1 x 20)
  (* (* (* (* (* (* (* (* (* (* (* (* (* (* (* (* (* (* (* (- x 1.0) (- x 2.0)) (- x 3.0)) (- x 4.0)) (- x 5.0)) (- x 6.0)) (- x 7.0)) (- x 8.0)) (- x 9.0)) (- x 10.0)) (- x 11.0)) (- x 12.0)) (- x 13.0)) (- x 14.0)) (- x 15.0)) (- x 16.0)) (- x 17.0)) (- x 18.0)) (- x 19.0)) (- x 20.0)))

(FPCore (a b C)
  :name "Law of Cosines"
  :precision binary64
  :pre (and (<= 0 a 1e9) (<= 0 b 1e9) (<= 0 C PI))
  (sqrt (- (+ (pow a 2.0) (pow b 2.0)) (* (* (* 2.0 a) b) (cos C)))))

(FPCore (a b c)
  :name "Q^3 (Cubic Equation Discriminant Part)"
  :precision binary64
  :pre (and (<= -1e9 a 1e9) (<= -1e9 b 1e9) (<= -1e9 c 1e9))
  (pow (/ (- (* 3.0 (* a c)) (pow b 2.0)) (* 9.0 (pow a 2.0))) 3.0))

(FPCore (x a)
  :name "Success Probability"
  :precision binary64
  :pre (and (<= 0.0 x 1) (<= 1/3 a 3.0))
  (- 1.0 (pow (- 1.0 x) a)))

(FPCore (x)
 :name "Quantum aproximation with lots of constants"
 :precision binary64
 (let* (
        (E (exp 1))
        (sqrtE (sqrt E))
        (invSqrtE (/ 1 sqrtE))
        (logTerm (log (- 1 invSqrtE)))
        (log2Term (* logTerm logTerm))
        (log3Term (* log2Term logTerm))
        (E3/2 (pow E 1.5))
        (E5/2 (pow E 2.5))
        (E7/2 (pow E 3.5))
        (dx (- x 1/2))

        ;; Common denominator
        (D (+ (* sqrtE log2Term)
              (* 16 sqrtE logTerm)
              (* -64 sqrtE)
              (* -8 (pow E 2) log2Term)
              (* -4 (pow E 2) logTerm)
              (* -8 E log2Term)
              (* -84 E logTerm)
              (* 16 E)
              (* 2 E3/2 log2Term)
              (* 16 E3/2 logTerm)
              (* -4 E3/2)
              (* E5/2 log2Term)
              -24))

        ;; Numerators
        (n1 (+ (* sqrtE log3Term)
               (* 20 sqrtE log2Term)
               (* 210 sqrtE logTerm)
               (* -1200 sqrtE)
               (* -18 (pow E 3) log3Term)
               (* -20 (pow E 3) log2Term)
               (* -116 (pow E 2) log3Term)
               (* -720 (pow E 2) log2Term)
               (* 120 (pow E 2) logTerm)
               (* -18 E log3Term)
               (* -220 E log2Term)
               (* -1280 E logTerm)
               (* -300 E)
               (* 3 E3/2 log3Term)
               (* -20 E3/2 log2Term)
               (* -930 E3/2 logTerm)
               (* 3 E5/2 log3Term)
               (* 120 E5/2 log2Term)
               (* -20 E5/2 logTerm)
               (* E7/2 log3Term)
               -120))

        (n2 (+ (* sqrtE log3Term)
               (* 18 sqrtE log2Term)
               (* -108 sqrtE logTerm)
               (* -192 sqrtE)
               (* (pow E 3) log3Term)
               (* -16 (pow E 2) log3Term)
               (* 6 (pow E 2) log2Term)
               (* -18 (pow E 2) logTerm)
               (* -9 E log3Term)
               (* -94 E log2Term)
               (* -378 E logTerm)
               (* 48 E)
               (* -16 E3/2 log3Term)
               (* -174 E3/2 log2Term)
               (* 72 E3/2 logTerm)
               (* -12 E3/2)
               (* -9 E5/2 log3Term)
               (* -4 E5/2 log2Term)
               (* -12 logTerm)
               -72))

        (n3 (+ (* sqrtE logTerm)
               (* -216 sqrtE)
               (* -8 (pow E 3) logTerm)
               (* 2 (pow E 3))
               (* -176 (pow E 2) logTerm)
               (* 96 (pow E 2))
               (* -8 E logTerm)
               (* 266 E)
               (* 83 E3/2 logTerm)
               (* -232 E3/2)
               (* 83 E5/2 logTerm)
               (* -16 E5/2)
               (* E7/2 logTerm)
               12))

        (n4 (+ (* -18 sqrtE logTerm)
               (* -110 sqrtE)
               (* (pow E 3) logTerm)
               (* 53 (pow E 2) logTerm)
               (* 13 E logTerm)
               (* 30 E)
               (* -66 E3/2 logTerm)
               (* 30 E3/2)
               (* -8 E5/2 logTerm)
               logTerm
               10))

        (n5 (+ (* -18 sqrtE log2Term)
               (* -115 sqrtE logTerm)
               (* -340 sqrtE)
               (* (pow E 3) log2Term)
               (* 3 (pow E 2) log2Term)
               (* 90 (pow E 2) logTerm)
               (* -10 (pow E 2))
               (* 3 E log2Term)
               (* 20 E logTerm)
               (* -390 E)
               (* -116 E3/2 log2Term)
               (* -530 E3/2 logTerm)
               (* 60 E3/2)
               (* -18 E5/2 log2Term)
               (* -15 E5/2 logTerm)
               log2Term
               (* 10 logTerm)
               60))

        (n6 (+ (* sqrtE log2Term)
               (* 15 sqrtE logTerm)
               (* -156 sqrtE)
               (* (pow E 3) log2Term)
               (* -16 (pow E 2) log2Term)
               (* 30 (pow E 2) logTerm)
               (* -6 (pow E 2))
               (* -9 E log2Term)
               (* -70 E logTerm)
               (* -126 E)
               (* -16 E3/2 log2Term)
               (* -180 E3/2 logTerm)
               (* 24 E3/2)
               (* -9 E5/2 log2Term)
               (* -7 E5/2 logTerm)
               -12))
       )
   (+ 1
      (/
       (+
         (/ (* n1 (* dx dx)) (* 30 (pow (- 1 sqrtE) 2) D))
         (/ (* n2 dx) (* 3 (- 1 sqrtE) D))
         (/ (* sqrtE n3 (pow dx 4)) (* 360 (pow (- 1 sqrtE) 4) D))
         (/ (* sqrtE n4 (pow dx 3)) (* 30 (pow (- 1 sqrtE) 3) D))
         (/ (* sqrtE n5 (pow dx 2)) (* 30 (pow (- 1 sqrtE) 2) D))
         (/ (* n6 dx) (* 3 (- 1 sqrtE) D))
         logTerm)
       ))))

================================================
FILE: bench/graphics/fidget/bear.fpcore
================================================
(FPCore (x y z)
  :name "The bear head is based on a design by Hazel Fraticelli and Anthony Taconi"
  :precision binary64
  (fmin (/ (- (log (+ (exp (* -11 (- (/ (- (log (+ (exp (* -30.555555 (/ (- (log (+ (exp (* -11 (/ (- (log (+ (exp (* -11 (- (/ (- (log (+ (exp (* -16 (/ (- (log (+ (exp (* -5.612245 (- (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) -0.4) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.1) 2))) 1.4))) (exp (* -5.612245 (- (sqrt (+ (+ (pow (* (* (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) (- 1 (* 0.5 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) 2))) 1)))))) (+ 1 (* 2 (exp (- (/ (sqrt (+ (+ (pow (* (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) (- 1 (* 0.5 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) 2))) 1)))))) 2) (pow (+ (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) (- 1 (* 0.5 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) 2))) 1)))))) 1.5) 2)) (pow (+ 0.8 (* (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) (- 1 (* 0.5 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) 2))) 1))))))) 2))) 1)))))) 2) (pow (- (* (+ (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) (- 1 (* 0.5 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) 2))) 1)))))) 1.5) (+ 1 (* 2 (exp (- (/ (sqrt (+ (+ (pow (* (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) (- 1 (* 0.5 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) 2))) 1)))))) 2) (pow (+ (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) (- 1 (* 0.5 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) 2))) 1)))))) 1.5) 2)) (pow (+ 0.8 (* (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) (- 1 (* 0.5 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) 2))) 1))))))) 2))) 1)))))) 2) 2)) (pow (- (* (+ 0.8 (* (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) (- 1 (* 0.5 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) 2))) 1))))))) (+ 1 (* 2 (exp (- (/ (sqrt (+ (+ (pow (* (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) (- 1 (* 0.5 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) 2))) 1)))))) 2) (pow (+ (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) (- 1 (* 0.5 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) 2))) 1)))))) 1.5) 2)) (pow (+ 0.8 (* (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) (- 1 (* 0.5 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8) 2))) 1))))))) 2))) 1)))))) -0.2) 2))) 0.9)))))) 5.612245))) (exp (* -16 (- (/ (- (log (+ (exp (* -5.612245 (- (- (sqrt (+ (+ (pow (- (* (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.48241276) (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.7513133)) 0.5854049) (+ 1 (* 1.2 (exp (- (/ (sqrt (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.48241276) (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.7513133)) 0.5854049) 2) (+ (pow (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.33768892) 0.55581105) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.5259193)) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.625) 1.09375) 2)))) 0.5)))))) -0.5) 2) (pow (* (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.33768892) 0.55581105) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.5259193)) (+ 1 (* 1.2 (exp (- (/ (sqrt (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.48241276) (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.7513133)) 0.5854049) 2) (+ (pow (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.33768892) 0.55581105) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.5259193)) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.625) 1.09375) 2)))) 0.5)))))) 2)) (pow (- (* (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.625) 1.09375) (+ 1 (* 1.2 (exp (- (/ (sqrt (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.48241276) (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.7513133)) 0.5854049) 2) (+ (pow (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.33768892) 0.55581105) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.5259193)) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.625) 1.09375) 2)))) 0.5)))))) -0.5) 2))) 0.5)))) (exp (* -5.612245 (- (sqrt (+ (pow (+ 0.3 (* (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.48241276) (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.7513133)) 0.5854049) (+ 1 (* 1.2 (exp (- (/ (sqrt (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.48241276) (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.7513133)) 0.5854049) 2) (+ (pow (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.33768892) 0.55581105) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.5259193)) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.625) 1.09375) 2)))) 0.5))))))) 2) (+ (pow (* (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.33768892) 0.55581105) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.5259193)) (+ 1 (* 1.2 (exp (- (/ (sqrt (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.48241276) (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.7513133)) 0.5854049) 2) (+ (pow (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.33768892) 0.55581105) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.5259193)) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.625) 1.09375) 2)))) 0.5)))))) 2) (pow (- (* (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.625) 1.09375) (+ 1 (* 1.2 (exp (- (/ (sqrt (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.48241276) (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.7513133)) 0.5854049) 2) (+ (pow (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.33768892) 0.55581105) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.5259193)) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.625) 1.09375) 2)))) 0.5)))))) -0.5) 2)))) 0.2)))))) 5.612245))))))) 16)))) (exp (* -11 (- (sqrt (+ (pow (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.4) 2) (+ (pow (/ (- (- (+ (* (/ y 1.5) 2.0808594) (* (/ z 1) 2.3650744)) (* (/ x 1.5) 1.089751)) 0.92795134) 0.7) 2) (pow (/ (- 0.0625 (- (* (/ z 1) 1.7215275) (+ (* (/ y 1.5) 2.5876334) (* (/ x 1.5) 1.2048262)))) 1.5) 2)))) 0.2)))))) 11))) (exp (* -11 (- (sqrt (+ (pow (- (* (- (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) 1) (- 1 (* 2 (exp (- (/ (sqrt (+ (pow (- (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) 1) 2) (+ (pow (* (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) 2) (pow (- (* (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) -1) 2)))) 0.5)))))) -1) 2) (+ (pow (* (* (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) (- 1 (* 2 (exp (- (/ (sqrt (+ (pow (- (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) 1) 2) (+ (pow (* (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) 2) (pow (- (* (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) -1) 2)))) 0.5)))))) 2) (pow (* (- (* (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) -1) (- 1 (* 2 (exp (- (/ (sqrt (+ (pow (- (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) 1) 2) (+ (pow (* (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) 2) (pow (- (* (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) -1) 2)))) 0.5)))))) 2)))) 0.3)))))) 11))) (exp (* -30.555555 (fmax (fmax (fmax (- -1.5 (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) (- (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 1.5)) (fmax (- 0.5 (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3)) (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 3))) (fmax (- (- (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) (/ 0.1 (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3))) -0.7)) (- (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) (/ 0.1 (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3))) -0.7)))))))) 30.555555)))) (exp (* -11 (fmin (fmin (fmax (- (sqrt (+ (pow (/ (* (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) (+ 1 (* 4 (exp (- (/ (sqrt (+ (pow (- (+ (* (- (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1)))))) (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6)) (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1))))) (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))))) -1) 2) (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (pow (- (+ (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1))))) (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6)) (* (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1))))) (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))))) -1.5) 2)))) 0.5)))))) 0.8) 2) (+ (pow (- (* (- (+ (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1))))) (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6)) (* (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1))))) (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))))) -1.5) (+ 1 (* 4 (exp (- (/ (sqrt (+ (pow (- (+ (* (- (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1)))))) (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6)) (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1))))) (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))))) -1) 2) (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (pow (- (+ (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1))))) (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6)) (* (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1))))) (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))))) -1.5) 2)))) 0.5)))))) 1.5) 2) (pow (* (- (+ (* (- (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1)))))) (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6)) (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1))))) (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))))) -1) (+ 1 (* 4 (exp (- (/ (sqrt (+ (pow (- (+ (* (- (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1)))))) (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6)) (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1))))) (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))))) -1) 2) (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (pow (- (+ (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1))))) (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6)) (* (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (- (+ (* (/ z 1) 0.5766893) (* (/ y 1.5) 2.1271143)) (* (/ x 1.5) 0.10320534)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.7495963)) 1.115259) 0.6) 2) (+ (pow (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) 2) (pow (/ (- (+ 0.9244498 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.6) 2)))) 1))))) (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))))) -1.5) 2)))) 0.5)))))) 2)))) 0.7) (fmax (fmax (- (+ (- (+ (* (/ z 1) 0.96114874) (* (/ y 1.5) 3.5451903)) (* (/ x 1.5) 0.17200887)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.2493271)) 2.8587651) (fmax (- 0.858765 (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.2493271) (- (+ (* (/ z 1) 0.96114874) (* (/ y 1.5) 3.5451903)) (* (/ x 1.5) 0.17200887)))) (- (+ 0.54074955 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1.6334443)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.33111554)))) (fmax (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (* (/ z 1) 0.35865277) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172)))) 1.4760667) (fmax (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0522937) (- (+ (* (/ z 1) 0.35865277) 0.5239333) (+ (* (/ y 1.5) 4.247789) (* (/ x 1.5) 0.6231172))))) (- (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.33111554) (+ 2.5407495 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1.6334443))))))) (fmax (- (sqrt (+ (pow (/ (* (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) (+ 1 (* 4 (exp (- (/ (sqrt (+ (pow (- (+ (* (- (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1)))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9)) (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889))) -1) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (pow (- (+ (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9)) (* (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889))) -1.5) 2)))) 0.5)))))) 0.8) 2) (+ (pow (- (* (- (+ (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9)) (* (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889))) -1.5) (+ 1 (* 4 (exp (- (/ (sqrt (+ (pow (- (+ (* (- (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1)))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9)) (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889))) -1) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (pow (- (+ (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9)) (* (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889))) -1.5) 2)))) 0.5)))))) 1.5) 2) (pow (* (- (+ (* (- (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1)))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9)) (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889))) -1) (+ 1 (* 4 (exp (- (/ (sqrt (+ (pow (- (+ (* (- (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1)))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9)) (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889))) -1) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (pow (- (+ (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9)) (* (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.38941833) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.921061)) 0.75479674) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.921061) 1.2962569) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.38941833)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889))) -1.5) 2)))) 0.5)))))) 2)))) 0.7) (fmax (fmax (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0234011) (+ 0.16133696 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.43268704)))) (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.43268704) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0234011)) 1.8386631)) (fmax (fmax (- (* (+ (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 1.1111112)) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.8888889)) (fmax (- (+ 0.44028544 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1.0234011)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.43268704)) (- (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.43268704) (+ 2.4402854 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1.0234011)))))))) (fmax (- (sqrt (+ (pow (/ (* (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) (+ 1 (* 4 (exp (- (/ (sqrt (+ (pow (- (+ (* (- (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1)))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9)) (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221))) -1) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (pow (- (+ (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9)) (* (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221))) -1.5) 2)))) 0.5)))))) 0.8) 2) (+ (pow (- (* (- (+ (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9)) (* (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221))) -1.5) (+ 1 (* 4 (exp (- (/ (sqrt (+ (pow (- (+ (* (- (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1)))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9)) (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221))) -1) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (pow (- (+ (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9)) (* (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221))) -1.5) 2)))) 0.5)))))) 1.5) 2) (pow (* (- (+ (* (- (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1)))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9)) (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221))) -1) (+ 1 (* 4 (exp (- (/ (sqrt (+ (pow (- (+ (* (- (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1)))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9)) (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221))) -1) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (pow (- (+ (* (cos (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1))))) (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9)) (* (sin (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.19866933) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.9800666)) 0.8012642) 0.9) 2) (+ (pow (/ (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.9800666) 1.0807292) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.19866933)) 0.9) 2) (pow (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221) 2)))) 1))))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221))) -1.5) 2)))) 0.5)))))) 2)))) 0.7) (fmax (fmax (- (+ (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0889629) (+ 0.1097064 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.2207437)))) (- (+ (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 0.2207437) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 1.0889629)) 1.8902936)) (fmax (fmax (- (+ 1.7777778 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112))) (- (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1.1111112) 0.22222221)) (fmax (- (+ 0.20081031 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1.0889629)) (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.2207437)) (- (* (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.2207437) (+ 2.2008104 (* (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 1.0889629))))))))))))) 11) (fmin (- (sqrt (+ (pow (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.4) 2) (+ (pow (/ (- (- (+ (* (/ y 1.5) 2.0808594) (* (/ z 1) 2.3650744)) (* (/ x 1.5) 1.089751)) 0.92795134) 0.7) 2) (pow (/ (- 0.0625 (- (* (/ z 1) 1.7215275) (+ (* (/ y 1.5) 2.5876334) (* (/ x 1.5) 1.2048262)))) 1.5) 2)))) 0.25) (- (/ (- (log (+ (exp (* -30.555555 (- (- (sqrt (+ (pow (- (* (- (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) 1) (- 1 (* 2 (exp (- (/ (sqrt (+ (pow (- (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) 1) 2) (+ (pow (* (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) 2) (pow (- (* (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) -1) 2)))) 0.5)))))) -1) 2) (+ (pow (* (* (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) (- 1 (* 2 (exp (- (/ (sqrt (+ (pow (- (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) 1) 2) (+ (pow (* (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) 2) (pow (- (* (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) -1) 2)))) 0.5)))))) 2) (pow (* (- (* (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) -1) (- 1 (* 2 (exp (- (/ (sqrt (+ (pow (- (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) 1) 2) (+ (pow (* (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) 2) (pow (- (* (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) (- 1 (exp (- (/ (sqrt (+ (+ (pow (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3) 2) (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2) 2)) (pow (- (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 1) 2))) 0.5))))) -1) 2)))) 0.5)))))) 2)))) 0.4)))) (exp (* -30.555555 (- (sqrt (+ (+ (pow (- (* (- (* (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) (- 1 (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) 2) (+ (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) 2) (pow (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) 2)))) 0.15)))))) 0.2) (- 1 (exp (- (/ (sqrt (+ (+ (pow (- (* (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) (- 1 (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) 2) (+ (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) 2) (pow (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) 2)))) 0.15)))))) 0.2) 2) (pow (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) (- 1 (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) 2) (+ (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) 2) (pow (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) 2)))) 0.15)))))) 2)) (pow (- (* (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) (- 1 (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) 2) (+ (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) 2) (pow (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) 2)))) 0.15)))))) 0.35) 2))) 0.15))))) -0.2) 2) (pow (* (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) (- 1 (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) 2) (+ (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) 2) (pow (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) 2)))) 0.15)))))) (- 1 (exp (- (/ (sqrt (+ (+ (pow (- (* (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) (- 1 (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) 2) (+ (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) 2) (pow (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) 2)))) 0.15)))))) 0.2) 2) (pow (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) (- 1 (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) 2) (+ (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) 2) (pow (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) 2)))) 0.15)))))) 2)) (pow (- (* (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) (- 1 (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) 2) (+ (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) 2) (pow (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) 2)))) 0.15)))))) 0.35) 2))) 0.15))))) 2)) (pow (- (* (- (* (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) (- 1 (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) 2) (+ (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) 2) (pow (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) 2)))) 0.15)))))) 0.35) (- 1 (exp (- (/ (sqrt (+ (+ (pow (- (* (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) (- 1 (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) 2) (+ (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) 2) (pow (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) 2)))) 0.15)))))) 0.2) 2) (pow (* (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) (- 1 (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) 2) (+ (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) 2) (pow (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) 2)))) 0.15)))))) 2)) (pow (- (* (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) (- 1 (* 1.5 (exp (- (/ (sqrt (+ (pow (/ (- (fabs (/ (+ (* 0.87758255 (+ (* 0.9950042 (/ x 1.5)) (* -0.099833414 (/ y 1.5)))) (* 0.47942555 (/ z 1))) 0.3)) 0.25) 0.9) 2) (+ (pow (- (/ (- (* (/ z 1) 0.8753842) (+ (* (/ x 1.5) 0.4828974) (* (/ y 1.5) 0.022641014))) 0.3) 2.19) 2) (pow (+ 0.30833334 (* (/ (+ (+ (* (/ z 1) 0.06207773) (* (/ x 1.5) 0.06583953)) (* (/ y 1.5) 0.99589735)) 0.3) 0.8333333)) 2)))) 0.15)))))) 0.35) 2))) 0.15))))) -0.1) 2))) 0.14)))))) 30.555555)))))



================================================
FILE: bench/graphics/fidget/colonnade.fpcore
================================================
(FPCore (x y z)
  :name "Model of a colonnade with a balcony and outside staircase"
  :precision binary64
  (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmax (fmax (fmax (fmax (fmax (fmax (- (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmax (fmax (fmax (- (* y 10) 3.5) (- 0.5 (* y 10))) (- (+ 3.5 (* z 10)))) (+ 1 (* z 10))) (- (sqrt (+ (pow (- (* y 10) 2) 2) (pow (+ 1 (* z 10)) 2))) 1.5)) (fmax (fmax (fmax (- (* y 10) 7) (- 4 (* y 10))) (- (+ 3.5 (* z 10)))) (+ 1 (* z 10)))) (- (sqrt (+ (pow (- (* y 10) 5.5) 2) (pow (+ 1 (* z 10)) 2))) 1.5)) (fmax (fmax (fmax (- 7.5 (* y 10)) (- (* y 10) 10.5)) (- (+ 3.5 (* z 10)))) (+ 1 (* z 10)))) (- (sqrt (+ (pow (- (* y 10) 9) 2) (pow (+ 1 (* z 10)) 2))) 1.5)) (fmax (fmax (fmax (- (+ 3 (* y 10))) (* y 10)) (- (+ 3.5 (* z 10)))) (+ 1 (* z 10)))) (- (sqrt (+ (pow (+ 1.5 (* y 10)) 2) (pow (+ 1 (* z 10)) 2))) 1.5))) (+ 2.5 (* x 10))) (- (+ 3 (* x 10)))) (- (* z 10) 2.5)) (- (* y 10) 9)) (- (+ 3.5 (* y 10)))) (- (+ 3.5 (* z 10)))) (fmax (fmax (fmax (fmax (fmax (fmax (- (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmax (fmax (fmax (- (* y 10) 3.5) (- 0.5 (* y 10))) (- (+ 3.5 (* z 10)))) (+ 1 (* z 10))) (- (sqrt (+ (pow (- (* y 10) 2) 2) (pow (+ 1 (* z 10)) 2))) 1.5)) (fmax (fmax (fmax (- (* y 10) 7) (- 4 (* y 10))) (- (+ 3.5 (* z 10)))) (+ 1 (* z 10)))) (- (sqrt (+ (pow (- (* y 10) 5.5) 2) (pow (+ 1 (* z 10)) 2))) 1.5)) (fmax (fmax (fmax (- 7.5 (* y 10)) (- (* y 10) 10.5)) (- (+ 3.5 (* z 10)))) (+ 1 (* z 10)))) (- (sqrt (+ (pow (- (* y 10) 9) 2) (pow (+ 1 (* z 10)) 2))) 1.5)) (fmax (fmax (fmax (- (+ 3 (* y 10))) (* y 10)) (- (+ 3.5 (* z 10)))) (+ 1 (* z 10)))) (- (sqrt (+ (pow (+ 1.5 (* y 10)) 2) (pow (+ 1 (* z 10)) 2))) 1.5))) (- (* x 10) 5.7)) (- 5.2 (* x 10))) (- (* z 10) 2.5)) (- (* y 10) 9)) (- (+ 3.5 (* y 10)))) (- (+ 3.5 (* z 10))))) (fmax (fmax (fmax (fmax (fmax (fmax (- (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmax (fmax (fmax (fmax (fmax (- (* z 10) 16.5) (- 3.5 (* z 10))) (+ 4.1 (* y 10))) (- (+ (* y 10) 13.5))) (- (* x 10) 9)) (- 5 (* x 10))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 16.5) (- (* x 10) 9)) (- 5 (* x 10))) (- 0.5 (* z 10))) (+ 7.5 (* y 10))) (- (+ 8.5 (* y 10))))) (fmax (fmax (fmax (fmax (fmax (- (* x 10) 9) (- 3.1 (* z 10))) (- (* y 10) 10.5)) (- 6.5 (* y 10))) (- 3 (* x 10))) (- (* z 10) 6.5))) (fmax (fmax (fmax (fmax (fmax (fmax (- (* z 10) 16.5) (+ 4.1 (* y 10))) (- 5 (* x 10))) (- 1.5 (* z 10))) (- (+ 6.1 (* y 10)))) (- (* x 10) 5.8)) (- (* x 8) (+ 2.5 (* z 10))))) (fmax (fmax (fmax (fmax (fmax (- 5 (* x 10)) (- 3.1 (* z 10))) (- (* x 10) 5.8)) (- (* z 10) 6)) (- (* y 10) 6.2)) (- (+ 2.5 (* y 10))))) (fmax (fmax (fmax (fmax (fmax (- 5 (* x 10)) (- (* z 10) 5.8)) (- (* y 10) 6)) (- (+ 2.3 (* y 10)))) (- (* x 10) 6)) (- 3.3 (* z 10)))) (fmax (fmax (fmax (fmax (fmax (fmax (- (* z 10) 16.5) (+ 4.1 (* y 10))) (- 1.5 (* z 10))) (- (+ 6.1 (* y 10)))) (- 6.7 (* x 10))) (- (* x 10) 7.5)) (- 7.5 (+ (* x 8) (* z 10))))) (fmax (fmax (fmax (fmax (fmax (- 3.1 (* z 10)) (- (* z 10) 6)) (- (* y 10) 6.2)) (- (+ 2.5 (* y 10)))) (- 6.7 (* x 10))) (- (* x 10) 7.5))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 5.8) (- (* y 10) 6)) (- (+ 2.3 (* y 10)))) (- (* x 10) 7.5)) (- 6.5 (* x 10))) (- 3.3 (* z 10))))) (- 5.5 (* x 10))) (- (* y 10) 9)) (- (+ 8.5 (* y 10)))) (- (* x 10) 7)) (- (* z 10) 6.5)) (- (+ 3.5 (* z 10))))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 3.5) (+ 5.4 (* y 10))) (- (+ 6.5 (* y 10)))) (- (* x 10) 6.8)) (- 5.7 (* x 10))) (- 3.3 (* z 10)))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 6.7) (- (* y 10) 6.5)) (- (+ 4.3 (* y 10)))) (- (* x 10) 7.2)) (- 5.3 (* x 10))) (- 6.5 (* z 10)))) (fmax (fmax (fmax (fmax (fmax (+ (+ (* z 1.7238) 5.43983) (* y 9.8503)) (- (* z 1.7238) (+ 7.95658 (* y 9.8503)))) (- (+ (* z 1.84289) (* x 9.82872)) 7.48826)) (- (+ (* z 1.84289) 4.79765) (* x 9.82872))) (- (* z 10) 3.9)) (- 3.3 (* z 10)))) (fmax (fmax (- (* x 10) 6.7) (- 5.8 (* x 10))) (- (sqrt (+ (pow (+ 4.1 (* y 10)) 2) (pow (- (* z 10) 3.3) 2))) 1.5))) (fmax (fmax (fmax (fmax (- (* x 10) 6.8) (- 5.7 (* x 10))) (- (sqrt (+ (pow (+ 4.1 (* y 10)) 2) (pow (- (* z 10) 3.3) 2))) 1.5)) (- 1.3 (sqrt (+ (pow (+ 4.1 (* y 10)) 2) (pow (- (* z 10) 3.3) 2))))) (- 3.3 (* z 10)))) (- (sqrt (+ (+ (pow (- (* z 10) 5.6) 2) (pow (- (* x 10) 4.85) 2)) (pow (+ 3.15 (* y 10)) 2))) 0.1)) (fmax (fmin (fmin (fmin (fmax (fmax (fmax (fmax (fmax (- 2.8 (* z 10)) (- 5.4 (* y 10))) (- (* x 10) 9)) (- (* y 10) 9)) (- (* z 10) 3.1)) (- (+ 9 (* x 10)))) (fmax (fmax (fmax (- (* z 30) (+ 5.4 (* y 10))) (- (fmax (- (* z 30) (+ 3 (* y 10))) (- (fmin (- 9 (* x 10)) (- (* x 10) 5.5)))))) (- (fmin (+ 0.0999999 (* z 10)) (- 3.1 (* z 10))))) (- (fmin (- 9 (* x 10)) (- (* x 10) 5.5))))) (fmax (fmax (- (* z 30) (+ 9.3 (* y 10))) (- (fmin (- 9 (* x 10)) (- (* x 10) 5.5)))) (- (fmin (fmin (fmax (- (fmin (- 9 (* x 10)) (- (* x 10) 5.5))) (- (* z 30) (+ 6.9 (* y 10)))) (- 0.2 (* z 10))) (+ 8.5 (* y 10)))))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 0.2) (- (+ 0.0999999 (* z 10)))) (+ 3.2 (* y 10))) (- (+ 7.2 (* y 10)))) (- 7 (* x 10))) (- (* x 10) 9))) (- (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmax (- 0.2 (* z 10)) (+ 3 (* y 10))) (fmax (- 0.371 (* z 10)) (+ 2.5 (* y 10)))) (fmax (+ 2 (* y 10)) (- 0.542 (* z 10)))) (fmax (- 0.713 (* z 10)) (+ 1.5 (* y 10)))) (fmax (+ 1 (* y 10)) (- 0.884 (* z 10)))) (fmax (+ 0.5 (* y 10)) (- 1.055 (* z 10)))) (fmax (- 1.226 (* z 10)) (* y 10))) (fmax (- (* y 10) 0.5) (- 1.397 (* z 10)))) (fmax (- (* y 10) 1) (- 1.568 (* z 10)))) (fmax (- (* y 10) 1.5) (- 1.739 (* z 10)))) (fmax (- 1.91 (* z 10)) (- (* y 10) 2))) (fmax (- (* y 10) 2.5) (- 2.081 (* z 10)))) (fmax (- (* y 10) 3) (- 2.252 (* z 10)))) (fmax (- 2.423 (* z 10)) (- (* y 10) 3.5))) (fmax (- (* y 10) 4) (- 2.594 (* z 10)))) (fmax (- (* y 10) 4.5) (- 2.765 (* z 10)))) (fmax (- (* y 10) 5) (- 2.936 (* z 10)))) (fmax (- 3.107 (* z 10)) (- (* y 10) 5.5))) (fmax (- 3.278 (* z 10)) (- (* y 10) 6))) (fmax (- 3.449 (* z 10)) (- (* y 10) 6.5))) (fmax (+ 9.2 (* y 10)) (- (+ 0.65 (* z 10))))) (fmax (+ 8.7 (* y 10)) (- (+ 0.479 (* z 10))))) (fmax (+ 8.2 (* y 10)) (- (+ 0.308 (* z 10))))) (fmax (+ 7.7 (* y 10)) (- (+ 0.137 (* z 10))))) (fmax (+ 7.2 (* y 10)) (- 0.0339999 (* z 10))))))) (fmax (fmax (- (sqrt (+ (pow (+ 3.15 (* y 10)) 2) (pow (+ 2.75 (* x 10)) 2))) 0.1) (- (* z 10) 7.4)) (- 6.5 (* z 10)))) (- (sqrt (+ (+ (pow (- (* z 10) 7.4) 2) (pow (+ 3.15 (* y 10)) 2)) (pow (+ 2.75 (* x 10)) 2))) 0.1)) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 4.8) (- 2.5 (* z 10))) (- (+ 7.1 (* x 10)))) (+ 2.6 (* y 10))) (- (+ 3.7 (* y 10)))) (+ 6 (* x 10)))) (- (sqrt (+ (+ (pow (- (* z 5) 2.2) 2) (pow (+ 6.55 (* x 10)) 2)) (pow (+ 3.15 (* y 10)) 2))) 0.5)) (fmax (fmax (- (* z 10) 5.6) (- 4.8 (* z 10))) (- (sqrt (+ (pow (+ 6.55 (* x 10)) 2) (pow (+ 3.15 (* y 10)) 2))) 0.1))) (- (sqrt (+ (+ (pow (+ 6.55 (* x 10)) 2) (pow (- (* z 10) 5.6) 2)) (pow (+ 3.15 (* y 10)) 2))) 0.1)) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 4.8) (- 2.5 (* z 10))) (- (* x 10) 1.6)) (- 0.5 (* x 10))) (+ 2.6 (* y 10))) (- (+ 3.7 (* y 10))))) (- (sqrt (+ (+ (pow (- (* z 5) 2.2) 2) (pow (- (* x 10) 1.05) 2)) (pow (+ 3.15 (* y 10)) 2))) 0.5)) (fmax (fmax (- (* z 10) 5.6) (- 4.8 (* z 10))) (- (sqrt (+ (pow (- (* x 10) 1.05) 2) (pow (+ 3.15 (* y 10)) 2))) 0.1))) (- (sqrt (+ (+ (pow (- (* z 10) 5.6) 2) (pow (- (* x 10) 1.05) 2)) (pow (+ 3.15 (* y 10)) 2))) 0.1)) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 4.8) (- 2.5 (* z 10))) (- (* x 10) 5.4)) (- 4.3 (* x 10))) (+ 2.6 (* y 10))) (- (+ 3.7 (* y 10))))) (- (sqrt (+ (+ (pow (- (* z 5) 2.2) 2) (pow (- (* x 10) 4.85) 2)) (pow (+ 3.15 (* y 10)) 2))) 0.5)) (fmax (fmax (- (* z 10) 5.6) (- 4.8 (* z 10))) (- (sqrt (+ (pow (- (* x 10) 4.85) 2) (pow (+ 3.15 (* y 10)) 2))) 0.1))) (fmax (fmax (fmax (fmax (fmax (fmax (fmax (- (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmax (fmax (fmax (fmax (fmax (- (* x 10) 5.5) (- (+ 9 (* x 10)))) (- (* z 10) 4.2)) (- 3.3 (* z 10))) (+ 3.4 (* y 10))) (- (+ 3.6 (* y 10)))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 4.1) (- 3.4 (* z 10))) (+ 2.5 (* y 10))) (+ 8.1 (* x 10))) (- (+ 8.9 (* x 10)))) (- (+ 3.5 (* y 10))))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 4.1) (- 3.4 (* z 10))) (+ 2.5 (* y 10))) (+ 7.15 (* x 10))) (- (+ 7.95 (* x 10)))) (- (+ 3.5 (* y 10))))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 4.1) (- 3.4 (* z 10))) (+ 2.5 (* y 10))) (+ 5.2 (* x 10))) (- (+ 6 (* x 10)))) (- (+ 3.5 (* y 10))))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 4.1) (- 3.4 (* z 10))) (+ 2.5 (* y 10))) (+ 4.25 (* x 10))) (- (+ 5.05 (* x 10)))) (- (+ 3.5 (* y 10))))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 4.1) (- 3.4 (* z 10))) (+ 2.5 (* y 10))) (+ 3.3 (* x 10))) (- (+ 4.1 (* x 10)))) (- (+ 3.5 (* y 10))))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 4.1) (- 3.4 (* z 10))) (+ 2.5 (* y 10))) (+ 1.4 (* x 10))) (- (+ 2.2 (* x 10)))) (- (+ 3.5 (* y 10))))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 4.1) (- 3.4 (* z 10))) (+ 2.5 (* y 10))) (+ 0.45 (* x 10))) (- (+ 1.25 (* x 10)))) (- (+ 3.5 (* y 10))))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 4.1) (- 3.4 (* z 10))) (+ 2.5 (* y 10))) (- (* x 10) 0.5)) (- (+ 0.3 (* x 10)))) (- (+ 3.5 (* y 10))))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 4.1) (- 3.4 (* z 10))) (+ 2.5 (* y 10))) (- (* x 10) 2.4)) (- 1.6 (* x 10))) (- (+ 3.5 (* y 10))))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 4.1) (- 3.4 (* z 10))) (+ 2.5 (* y 10))) (- (* x 10) 3.35)) (- 2.55 (* x 10))) (- (+ 3.5 (* y 10))))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 4.1) (- 3.4 (* z 10))) (+ 2.5 (* y 10))) (- (* x 10) 4.3)) (- 3.5 (* x 10))) (- (+ 3.5 (* y 10)))))) (+ 3 (* y 10))) (- (+ 3.5 (* y 10)))) (- (* z 10) 4.4)) (- (+ 3.5 (* z 10)))) (- (* x 10) 6)) (- (+ 9 (* x 10)))) (- (fmin (fmin (fmin (fmin (fmin (fmin (fmin (fmax (fmax (fmax (- (+ 3.5 (* z 10))) (+ 1 (* z 10))) (+ 7.5 (* x 10))) (- (+ (* x 10) 10.5))) (- (sqrt (+ (pow (+ 1 (* z 10)) 2) (pow (+ 9 (* x 10)) 2))) 1.5)) (fmax (fmax (fmax (- (+ 3.5 (* z 10))) (+ 1 (* z 10))) (+ 4 (* x 10))) (- (+ 7 (* x 10))))) (- (sqrt (+ (pow (+ 1 (* z 10)) 2) (pow (+ 5.5 (* x 10)) 2))) 1.5)) (fmax (fmax (fmax (- (+ 3.5 (* z 10))) (+ 1 (* z 10))) (- (* x 10) 1.5)) (- (+ 1.5 (* x 10))))) (- (sqrt (+ (pow (+ 1 (* z 10)) 2) (pow (* x 10) 2))) 1.5)) (fmax (fmax (fmax (- (+ 3.5 (* z 10))) (+ 1 (* z 10))) (- (* x 10) 5)) (- 2 (* x 10)))) (- (sqrt (+ (pow (+ 1 (* z 10)) 2) (pow (- (* x 10) 3.5) 2))) 1.5))))) (fmax (fmax (fmax (fmax (fmax (- (+ 4 (* z 10))) (- (* y 10) 9)) (- (+ 8.5 (* y 10)))) (- (* x 10) 7)) (+ 3.5 (* z 10))) (- (+ 9 (* x 10))))) (fmax (fmax (fmax (fmax (fmax (- (* y 10) 9) (- (* x 10) 7)) (- (* z 10) 2.3)) (- 2 (* z 10))) (- (+ 3.9 (* y 10)))) (- (+ 9 (* x 10))))) (fmax (fmax (fmax (fmax (fmax (- (* y 10) 9) (- (* x 10) 7)) (- (* z 10) 3.1)) (- 2.3 (* z 10))) (- (+ 3.8 (* y 10)))) (- (+ 9 (* x 10))))) (fmax (fmax (fmax (fmax (fmax (- (* x 10) 7) (- (+ 3.9 (* y 10)))) (- (* z 10) 3.2)) (- 2.9 (* z 10))) (+ 3.5 (* y 10))) (- (+ 9 (* x 10))))) (fmax (fmax (fmax (fmax (fmax (- (* z 10) 6.5) (+ 2.6 (* y 10))) (- (+ 3.7 (* y 10)))) (+ 2.2 (* x 10))) (- (+ 3.3 (* x 10)))) (- (+ 3.5 (* z 10))))) (- (sqrt (+ (+ (pow (- (* z 5) 3.05) 2) (pow (+ 3.15 (* y 10)) 2)) (pow (+ 2.75 (* x 10)) 2))) 0.5)))



================================================
FILE: bench/graphics/fidget/gyroid-sphere.fpcore
================================================
(FPCore (x y z)
  :name "Gyroid sphere"
  :precision binary64
  (let* ([scale 30]
         [gyroid (+ (+ (* (sin (* x scale)) (cos (* y scale))) (* (sin (* y scale)) (cos (* z scale)))) (* (sin (* z scale)) (cos (* x scale))))]
         [fill (- (fabs gyroid) 0.2)]
         [sphere (- (sqrt (+ (+ (pow (* x scale) 2) (pow (* y scale) 2)) (pow (* z scale) 2))) 25)])
    (fmax sphere fill)))


================================================
FILE: bench/graphics/fidget/hi.fpcore
================================================
(FPCore (x y)
  :name "The letters hi in the upper-right quadrant"
  :precision binary64
  (fmin (fmin (fmin (fmin (fmax (fmax (fmax (- y 0.55) (- y)) (- x 0.825)) (- 0.725 x)) (- (sqrt (+ (pow (- y 0.7) 2) (pow (- x 0.775) 2))) 0.075)) (fmax (fmax (fmax (- y) (- y 0.275)) (- x 0.55)) (- 0.45 x))) (fmax (fmax (fmax (- y) (- y 1)) (- x 0.1)) (- x))) (fmax (fmax (fmax (fmax (fmax (- y 0.55) (- x 0.55)) (- x)) (- 0.275 y)) (- 0.175 (sqrt (+ (pow (- y 0.275) 2) (pow (- x 0.275) 2))))) (- (sqrt (+ (pow (- y 0.275) 2) (pow (- x 0.275) 2))) 0.275))))


================================================
FILE: bench/graphics/fidget/prospero.fpcore
================================================
(FPCore
 (x y)
 :name
 "Text of a monologue from The Tempest"
 :precision
 binary64
 (fmin
  (fmin
   (fmin
    (fmin
     (fmin
      (fmin
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (+ 2.95 (* x 8.13008)) (- (+ 3.675 (* x 8.13008))))
              (-
               0.175
               (sqrt
                (+
                 (pow (- (+ 2.95 (* x 8.13008))) 2)
                 (pow (+ 6.025 (* y 8.13008)) 2)))))
             (-
              (sqrt
               (+
                (pow (- (+ 2.95 (* x 8.13008))) 2)
                (pow (+ 6.025 (* y 8.13008)) 2)))
              0.275))
            (+ 5.3 (* y 8.13008)))
           (- (+ 6.3 (* y 8.13008))))
          (fmax
           (fmax
            (fmax (+ 4.025 (* x 8.13008)) (- (+ 4.125 (* x 8.13008))))
            (+ 5.3 (* y 8.13008)))
           (- (+ 6.3 (* y 8.13008)))))
         (fmin
          (fmax
           (fmax
            (fmax (+ 4.275 (* x 8.13008)) (- (+ 4.375 (* x 8.13008))))
            (+ 5.3 (* y 8.13008)))
           (- (+ 6.3 (* y 8.13008))))
          (fmin
           (fmax
            (fmax
             (fmax (+ 5.5 (* y 8.13008)) (- (+ 5.75 (* y 8.13008))))
             (+ 4.5 (* x 8.13008)))
            (- (+ 4.6 (* x 8.13008))))
           (fmax
            (fmax
             (fmax (- (+ 5.4 (* y 8.13008))) (+ 4.7 (* x 8.13008)))
             (- (+ 5.2 (* x 8.13008))))
            (+ 5.3 (* y 8.13008))))))
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (+ 4.7 (* x 8.13008)) (- (+ 5.2 (* x 8.13008))))
            (+ 6.2 (* y 8.13008)))
           (- (+ 6.3 (* y 8.13008))))
          (fmax
           (fmax
            (fmax (+ 4.9 (* x 8.13008)) (- (+ 5 (* x 8.13008))))
            (+ 5.3 (* y 8.13008)))
           (- (+ 6.3 (* y 8.13008)))))
         (fmin
          (fmax
           (fmax
            (fmax (+ 4.2 (* y 8.13008)) (- (+ 5.2 (* y 8.13008))))
            (- 5.7205 (* x 8.13008)))
           (- (* x 8.13008) 5.8205))
          (fmin
           (fmax
            (fmax
             (fmax (+ 4.65 (* y 8.13008)) (- (+ 4.75 (* y 8.13008))))
             (- 5.54551 (* x 8.13008)))
            (- (* x 8.13008) 5.7205))
           (fmax
            (fmax
             (fmax (- (+ 5.2 (* y 8.13008))) (- 5.54551 (* x 8.13008)))
             (- (* x 8.13008) 5.7205))
            (+ 5.1 (* y 8.13008)))))))
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (- (+ 1.53565 (* y 2.84553)) (* x 4.47154))
            (- (* x 4.47154) (+ 0.90565 (* y 2.03252))))
           (- (+ 0.575 (* y 0.813008))))
          (fmax
           (fmax
            (- (+ (+ (* y 2.03252) 2.24435) (* x 4.47154)))
            (+ (+ 2.81935 (* y 2.84553)) (* x 4.47154)))
           (- (+ 0.63 (* y 0.813008)))))
         (fmin
          (fmax
           (fmax
            (+ (+ (* y 2.03252) 2.24435) (* x 4.47154))
            (- (+ (+ 2.81935 (* y 2.84553)) (* x 4.47154))))
           (+ 0.63 (* y 0.813008)))
          (fmin
           (fmax
            (fmax
             (- (+ (+ 2.81935 (* y 2.84553)) (* x 4.47154)))
             (+ (+ (* y 2.03252) 2.18935) (* x 4.47154)))
            (+ 0.575 (* y 0.813008)))
           (fmax
            (fmax
             (+ (+ 2.81935 (* y 2.84553)) (* x 4.47154))
             (- (+ (+ (* y 2.03252) 2.18935) (* x 4.47154))))
            (- (+ 0.575 (* y 0.813008)))))))
        (fmin
         (fmin
          (fmax
           (-
            0.175
            (sqrt
             (+
              (pow (+ 1.842 (* x 8.13008)) 2)
              (pow (+ 6.025 (* y 8.13008)) 2))))
           (-
            (sqrt
             (+
              (pow (+ 1.842 (* x 8.13008)) 2)
              (pow (+ 6.025 (* y 8.13008)) 2)))
            0.275))
          (fmax
           (fmax
            (fmax (+ 2.475 (* x 8.13008)) (- (+ 2.575 (* x 8.13008))))
            (+ 5.75 (* y 8.13008)))
           (- (+ 6.3 (* y 8.13008)))))
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (+ 3.12857 (* x 11.6144)) (- (+ 3.67857 (* x 11.6144))))
              (-
               0.45
               (sqrt
                (+
                 (pow (+ 6.3 (* y 8.13008)) 2)
                 (pow (+ 3.91072 (* x 14.518)) 2)))))
             (-
              (sqrt
               (+
                (pow (+ 6.3 (* y 8.13008)) 2)
                (pow (+ 3.12857 (* x 11.6144)) 2)))
              0.55))
            (+ 5.75 (* y 8.13008)))
           (- (+ 6.3 (* y 8.13008))))
          (fmin
           (fmax
            (fmax
             (fmax (- (+ 2.775 (* x 8.13008))) (+ 2.675 (* x 8.13008)))
             (+ 5.3 (* y 8.13008)))
            (- (+ 6.3 (* y 8.13008))))
           (fmax
            (fmax
             (fmax (+ 2.775 (* x 8.13008)) (- (+ 2.95 (* x 8.13008))))
             (+ 5.75 (* y 8.13008)))
            (- (+ 5.85 (* y 8.13008)))))))))
      (fmin
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (+ 2.775 (* x 8.13008)) (- (+ 2.95 (* x 8.13008))))
            (+ 6.2 (* y 8.13008)))
           (- (+ 6.3 (* y 8.13008))))
          (fmax
           (-
            (fmin
             (-
              (sqrt
               (+
                (pow (- 1.33245 (* x 3.61337)) 2)
                (pow (- (+ 4.815 (* y 8.13008))) 2)))
              0.0625)
             (fmax
              (fmax
               (fmax (- (+ 4.975 (* y 8.13008))) (+ 4.8125 (* y 8.13008)))
               (- 2.00117 (* x 5.42005)))
              (- (* x 5.42005) 2.16367))))
           (-
            (sqrt
             (+
              (pow (- (+ 4.8125 (* y 8.13008))) 2)
              (pow (- 2.00117 (* x 5.42005)) 2)))
            0.1625)))
         (fmin
          (fmax
           (-
            (fmin
             (fmax
              (fmax
               (fmax (- (+ 5.0375 (* y 8.13008))) (- (* x 5.42005) 2.00117))
               (- 1.83867 (* x 5.42005)))
              (+ 4.875 (* y 8.13008)))
             (-
              (sqrt
               (+
                (pow (+ 5.035 (* y 8.13008)) 2)
                (pow (- (* x 3.61337) 1.33578) 2)))
              0.0625)))
           (-
            (sqrt
             (+
              (pow (+ 5.0375 (* y 8.13008)) 2)
              (pow (- (* x 5.42005) 2.00117) 2)))
            0.1625))
          (fmin
           (fmax
            (fmax
             (fmax (+ 4.2 (* y 8.13008)) (- (+ 4.95 (* y 8.13008))))
             (- (* x 8.13008) 1.808))
            (- 1.708 (* x 8.13008)))
           (fmax
            (fmax
             (fmax (+ 4.55 (* y 8.13008)) (- (+ 4.65 (* y 8.13008))))
             (- (* x 8.13008) 1.958))
            (- 1.558 (* x 8.13008))))))
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (- (+ 5.2 (* y 8.13008))) (+ 4.95 (* y 8.13008)))
              (- (* x 8.13008) 1.958))
             (- 1.558 (* x 8.13008)))
            (-
             0.15
             (sqrt
              (+
               (pow (+ 4.95 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) 1.958) 2)))))
           (-
            (sqrt
             (+
              (pow (+ 4.95 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 1.958) 2)))
            0.25))
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (+ 4.2 (* y 8.13008)) (- (+ 5.2 (* y 8.13008))))
              (- 4.8205 (* x 8.13008)))
             (- (* x 8.13008) 5.5455))
            (-
             0.175
             (sqrt
              (+
               (pow (+ 4.925 (* y 8.13008)) 2)
               (pow (- 5.54551 (* x 8.13008)) 2)))))
           (-
            (sqrt
             (+
              (pow (+ 4.925 (* y 8.13008)) 2)
              (pow (- 5.54551 (* x 8.13008)) 2)))
            0.275)))
         (fmin
          (fmax
           (fmax
            (fmax (- (+ 5.2 (* y 8.13008))) (+ 4.875 (* y 8.13008)))
            (- (* x 8.13008) 5.1955))
           (- 5.0955 (* x 8.13008)))
          (fmin
           (fmax
            (fmax
             (fmax (- (+ 5.2 (* y 8.13008))) (+ 4.65 (* y 8.13008)))
             (- (* x 8.13008) 4.7455))
            (- 4.6455 (* x 8.13008)))
           (fmax
            (fmax
             (fmax
              (fmax
               (fmax (+ 4.65 (* y 8.13008)) (- (* x 8.13008) 5.1955))
               (- 4.6455 (* x 8.13008)))
              (- (+ 4.875 (* y 8.13008))))
             (-
              0.175
              (sqrt
               (+
                (pow (+ 4.925 (* y 8.13008)) 2)
                (pow (- (* x 8.13008) 4.9205) 2)))))
            (-
             (sqrt
              (+
               (pow (+ 4.925 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) 4.9205) 2)))
             0.275))))))
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (- (+ 5.2 (* y 8.13008))) (+ 4.65 (* y 8.13008)))
            (- (* x 8.13008) 4.5455))
           (- 4.4455 (* x 8.13008)))
          (fmax
           (fmax
            (fmax (+ 4.65 (* y 8.13008)) (- (+ 4.925 (* y 8.13008))))
            (- (* x 8.13008) 4.0955))
           (- 3.9955 (* x 8.13008))))
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (- (+ 5.2 (* y 8.13008))) (+ 4.925 (* y 8.13008)))
              (- (* x 8.13008) 4.5455))
             (- 3.9955 (* x 8.13008)))
            (-
             0.175
             (sqrt
              (+
               (pow (+ 4.925 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) 4.2705) 2)))))
           (-
            (sqrt
             (+
              (pow (+ 4.925 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 4.2705) 2)))
            0.275))
          (fmin
           (fmax
            (-
             0.175
             (sqrt
              (+
               (pow (+ 4.925 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) 3.6205) 2))))
            (-
             (sqrt
              (+
               (pow (+ 4.925 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) 3.6205) 2)))
             0.275))
           (fmax
            (fmax
             (fmax (- (+ 5.2 (* y 8.13008))) (+ 0.142001 (* x 8.13008)))
             (- (+ 0.242001 (* x 8.13008))))
            (+ 4.85 (* y 8.13008))))))
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (- (+ 5.2 (* y 8.13008))) (+ 0.392001 (* x 8.13008)))
            (- (+ 0.492001 (* x 8.13008))))
           (+ 4.675 (* y 8.13008)))
          (fmin
           (fmax
            (fmax
             (fmax
              (fmax (+ 4.55 (* y 8.13008)) (- (+ 0.492001 (* x 8.13008))))
              (- (* x 8.13008) 0.157999))
             (fmin
              (fmax
               (-
                0.075
                (sqrt
                 (+
                  (pow (+ 0.0670004 (* x 8.13008)) 2)
                  (pow (+ 4.85 (* y 8.13008)) 2))))
               (-
                (sqrt
                 (+
                  (pow (+ 0.0670004 (* x 8.13008)) 2)
                  (pow (+ 4.85 (* y 8.13008)) 2)))
                0.175))
              (fmax
               (-
                0.075
                (sqrt
                 (+
                  (pow (+ 0.317 (* x 8.13008)) 2)
                  (pow (+ 4.85 (* y 8.13008)) 2))))
               (-
                (sqrt
                 (+
                  (pow (+ 0.317 (* x 8.13008)) 2)
                  (pow (+ 4.85 (* y 8.13008)) 2)))
                0.175))))
            (- (+ 4.85 (* y 8.13008))))
           (fmax
            (fmax
             (fmax (- (+ 5.2 (* y 8.13008))) (+ 4.65 (* y 8.13008)))
             (+ 0.592 (* x 8.13008)))
            (- (+ 0.692001 (* x 8.13008))))))
         (fmin
          (fmax
           (fmax
            (fmax (+ 4.65 (* y 8.13008)) (- (+ 4.925 (* y 8.13008))))
            (+ 1.042 (* x 8.13008)))
           (- (+ 1.142 (* x 8.13008))))
          (fmin
           (fmax
            (fmax
             (fmax
              (fmax
               (fmax (- (+ 5.2 (* y 8.13008))) (+ 4.925 (* y 8.13008)))
               (+ 0.592 (* x 8.13008)))
              (- (+ 1.142 (* x 8.13008))))
             (-
              0.175
              (sqrt
               (+
                (pow (+ 4.925 (* y 8.13008)) 2)
                (pow (+ 0.867001 (* x 8.13008)) 2)))))
            (-
             (sqrt
              (+
               (pow (+ 4.925 (* y 8.13008)) 2)
               (pow (+ 0.867001 (* x 8.13008)) 2)))
             0.275))
           (fmax
            (fmax
             (fmax (+ 4.2 (* y 8.13008)) (- (+ 5.2 (* y 8.13008))))
             (+ 1.267 (* x 8.13008)))
            (- (+ 1.367 (* x 8.13008))))))))))
     (fmin
      (fmin
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (+ 4.65 (* y 8.13008)) (- (+ 5.575 (* y 8.13008))))
            (+ 1.942 (* x 8.13008)))
           (- (+ 2.042 (* x 8.13008))))
          (fmax
           (-
            (sqrt
             (+
              (pow (+ 4.925 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 1.183) 2)))
            0.275)
           (fmin
            (fmax
             (fmax
              (fmax (+ 4.885 (* y 8.13008)) (- (+ 4.975 (* y 8.13008))))
              (- (* x 8.13008) 1.458))
             (- 0.958001 (* x 8.13008)))
            (fmax
             (fmax
              (-
               (sqrt
                (+
                 (pow (+ 4.925 (* y 8.13008)) 2)
                 (pow (- (* x 8.13008) 1.183) 2)))
               0.275)
              (-
               (fmin
                (fmax
                 (fmax
                  (+ 3.20125 (* y 5.28455))
                  (- (* x 2.23577) (+ 1.1947 (* y 1.21951))))
                 (- (+ (+ 2.1853 (* x 2.23577)) (* y 4.06504))))
                (fmax
                 (fmax
                  (+ (+ 2.1853 (* x 2.23577)) (* y 4.06504))
                  (- (+ 1.1947 (* y 1.21951)) (* x 2.23577)))
                 (- (+ 3.20125 (* y 5.28455)))))))
             (-
              0.175
              (sqrt
               (+
                (pow (+ 4.925 (* y 8.13008)) 2)
                (pow (- (* x 8.13008) 1.183) 2))))))))
         (fmin
          (fmax
           (fmax
            (fmax (- (+ 5.2 (* y 8.13008))) (+ 4.85 (* y 8.13008)))
            (- (* x 8.13008) 0.808001))
           (- 0.708 (* x 8.13008)))
          (fmin
           (fmax
            (fmax
             (fmax (- (+ 5.2 (* y 8.13008))) (+ 4.85 (* y 8.13008)))
             (- (* x 8.13008) 0.558001))
            (- 0.458 (* x 8.13008)))
           (fmax
            (fmax
             (fmax (- (+ 5.2 (* y 8.13008))) (+ 4.675 (* y 8.13008)))
             (- (* x 8.13008) 0.308001))
            (- 0.208 (* x 8.13008))))))
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax (+ 4.55 (* y 8.13008)) (- 0.208 (* x 8.13008)))
             (- (+ 4.85 (* y 8.13008))))
            (- (* x 8.13008) 0.858))
           (fmin
            (fmax
             (-
              0.075
              (sqrt
               (+
                (pow (+ 4.85 (* y 8.13008)) 2)
                (pow (- (* x 8.13008) 0.633) 2))))
             (-
              (sqrt
               (+
                (pow (+ 4.85 (* y 8.13008)) 2)
                (pow (- (* x 8.13008) 0.633) 2)))
              0.175))
            (fmax
             (-
              0.075
              (sqrt
               (+
                (pow (+ 4.85 (* y 8.13008)) 2)
                (pow (- (* x 8.13008) 0.383) 2))))
             (-
              (sqrt
               (+
                (pow (+ 4.85 (* y 8.13008)) 2)
                (pow (- (* x 8.13008) 0.383) 2)))
              0.175))))
          (fmax
           (fmax
            (fmax (- (+ 5.2 (* y 8.13008))) (+ 4.85 (* y 8.13008)))
            (- (* x 8.13008) 0.108))
           (- 0.00799942 (* x 8.13008))))
         (fmin
          (fmax
           (-
            0.175
            (sqrt
             (+
              (pow (+ 4.925 (* y 8.13008)) 2)
              (pow (+ 1.767 (* x 8.13008)) 2))))
           (-
            (sqrt
             (+
              (pow (+ 4.925 (* y 8.13008)) 2)
              (pow (+ 1.767 (* x 8.13008)) 2)))
            0.275))
          (fmin
           (fmax
            (fmax
             (+ (+ (* y 2.84553) 4.13) (* x 4.47154))
             (- (+ 0.52 (* y 0.813008))))
            (- (+ (+ (* y 2.03252) 3.665) (* x 4.47154))))
           (fmax
            (fmax
             (- (+ (+ (* y 2.84553) 4.13) (* x 4.47154)))
             (+ 0.52 (* y 0.813008)))
            (+ (+ (* y 2.03252) 3.665) (* x 4.47154)))))))
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (- (+ (+ (* y 2.84553) 4.13) (* x 4.47154)))
            (+ (+ (* y 2.03252) 3.61) (* x 4.47154)))
           (+ 0.465 (* y 0.813008)))
          (fmax
           (fmax
            (+ (+ (* y 2.84553) 4.13) (* x 4.47154))
            (- (+ (+ (* y 2.03252) 3.61) (* x 4.47154))))
           (- (+ 0.465 (* y 0.813008)))))
         (fmin
          (fmax
           (-
            (sqrt
             (+
              (pow (+ 4.925 (* y 8.13008)) 2)
              (pow (+ 4.925 (* x 8.13008)) 2)))
            0.275)
           (fmin
            (fmax
             (fmax
              (fmax (+ 4.885 (* y 8.13008)) (- (+ 4.975 (* y 8.13008))))
              (+ 4.65 (* x 8.13008)))
             (- (+ 5.15 (* x 8.13008))))
            (fmax
             (fmax
              (-
               (sqrt
                (+
                 (pow (+ 4.925 (* y 8.13008)) 2)
                 (pow (+ 4.925 (* x 8.13008)) 2)))
               0.275)
              (-
               (fmin
                (fmax
                 (fmax
                  (+ 3.20125 (* y 5.28455))
                  (- (+ 0.485 (* x 2.23577)) (* y 1.21951)))
                 (- (+ (+ (* x 2.23577) 3.865) (* y 4.06504))))
                (fmax
                 (fmax
                  (- (+ 3.20125 (* y 5.28455)))
                  (+ (+ (* x 2.23577) 3.865) (* y 4.06504)))
                 (- (* y 1.21951) (+ 0.485 (* x 2.23577)))))))
             (-
              0.175
              (sqrt
               (+
                (pow (+ 4.925 (* y 8.13008)) 2)
                (pow (+ 4.925 (* x 8.13008)) 2)))))))
          (fmin
           (fmax
            (fmax
             (fmax (+ 3.1 (* y 8.13008)) (- (+ 4.1 (* y 8.13008))))
             (- 7.531 (* x 8.13008)))
            (- (* x 8.13008) 7.631))
           (fmax
            (fmax
             (fmax (+ 3.55 (* y 8.13008)) (- (+ 3.65 (* y 8.13008))))
             (- 7.35601 (* x 8.13008)))
            (- (* x 8.13008) 7.531)))))
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (- (+ 4.1 (* y 8.13008))) (- 7.35601 (* x 8.13008)))
            (- (* x 8.13008) 7.531))
           (+ 4 (* y 8.13008)))
          (fmin
           (fmax
            (fmax
             (fmax
              (fmax
               (fmax (+ 3.1 (* y 8.13008)) (- (+ 4.1 (* y 8.13008))))
               (- 6.631 (* x 8.13008)))
              (- (* x 8.13008) 7.356))
             (-
              0.175
              (sqrt
               (+
                (pow (+ 3.825 (* y 8.13008)) 2)
                (pow (- 7.35601 (* x 8.13008)) 2)))))
            (-
             (sqrt
              (+
               (pow (+ 3.825 (* y 8.13008)) 2)
               (pow (- 7.35601 (* x 8.13008)) 2)))
             0.275))
           (fmax
            (fmax
             (fmax (- (+ 5.2 (* y 8.13008))) (+ 4.65 (* y 8.13008)))
             (+ 3.1 (* x 8.13008)))
            (- (+ 3.2 (* x 8.13008))))))
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (- (+ 5.2 (* y 8.13008))) (+ 4.65 (* y 8.13008)))
              (+ 4.02143 (* x 11.6144)))
             (- (+ 4.57143 (* x 11.6144))))
            (-
             0.45
             (sqrt
              (+
               (pow (+ 5.2 (* y 8.13008)) 2)
               (pow (+ 5.02679 (* x 14.518)) 2)))))
           (-
            (sqrt
             (+
              (pow (+ 5.2 (* y 8.13008)) 2)
              (pow (+ 4.02143 (* x 11.6144)) 2)))
            0.55))
          (fmin
           (fmax
            (-
             (sqrt
              (+
               (pow (+ 4.925 (* y 8.13008)) 2)
               (pow (+ 3.575 (* x 8.13008)) 2)))
             0.275)
            (fmin
             (fmax
              (fmax
               (fmax (+ 4.885 (* y 8.13008)) (- (+ 4.975 (* y 8.13008))))
               (+ 3.3 (* x 8.13008)))
              (- (+ 3.8 (* x 8.13008))))
             (fmax
              (fmax
               (-
                (sqrt
                 (+
                  (pow (+ 4.925 (* y 8.13008)) 2)
                  (pow (+ 3.575 (* x 8.13008)) 2)))
                0.275)
               (-
                (fmin
                 (fmax
                  (fmax
                   (+ 3.20125 (* y 5.28455))
                   (- (+ 0.11375 (* x 2.23577)) (* y 1.21951)))
                  (- (+ (+ (* x 2.23577) 3.49375) (* y 4.06504))))
                 (fmax
                  (fmax
                   (- (+ 3.20125 (* y 5.28455)))
                   (+ (+ (* x 2.23577) 3.49375) (* y 4.06504)))
                  (- (* y 1.21951) (+ 0.11375 (* x 2.23577)))))))
              (-
               0.175
               (sqrt
                (+
                 (pow (+ 4.925 (* y 8.13008)) 2)
                 (pow (+ 3.575 (* x 8.13008)) 2)))))))
           (fmax
            (fmax
             (- (+ 0.52 (* y 0.813008)))
             (- (+ 1.01 (* x 4.47154)) (* y 2.03252)))
            (- (* y 2.84553) (+ 0.545 (* x 4.47154)))))))))
      (fmin
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (+ 0.52 (* y 0.813008))
            (- (+ 0.545 (* x 4.47154)) (* y 2.84553)))
           (- (* y 2.03252) (+ 1.01 (* x 4.47154))))
          (fmax
           (fmax
            (- (+ 0.545 (* x 4.47154)) (* y 2.84553))
            (+ 0.465 (* y 0.813008)))
           (- (* y 2.03252) (+ 1.065 (* x 4.47154)))))
         (fmin
          (fmax
           (fmax
            (- (* y 2.84553) (+ 0.545 (* x 4.47154)))
            (- (+ 1.065 (* x 4.47154)) (* y 2.03252)))
           (- (+ 0.465 (* y 0.813008))))
          (fmin
           (-
            (sqrt
             (+
              (pow (+ 6.225 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 5.733) 2)))
            0.075)
           (fmax
            (fmax
             (fmax
              (fmax
               (-
                (fmin
                 (fmin
                  (fmin
                   (fmax
                    (fmax (+ 2.65 (* y 4.06504)) (- (* x 4.06504) 2.829))
                    (- (+ 0.0709989 (* (+ x y) 4.06504))))
                   (fmax
                    (fmax
                     (+ 0.0709989 (* (+ x y) 4.06504))
                     (- 2.829 (* x 4.06504)))
                    (- (+ 2.65 (* y 4.06504)))))
                  (fmin
                   (fmax
                    (fmax
                     (- (* x 8.13008) (+ (* y 0.813008) 6.188))
                     (- (+ (+ 0.0706995 (* y 2.60163)) (* x 2.84553))))
                    (- (+ (* y 3.41463) 5.9037) (* x 5.28455)))
                   (fmax
                    (fmax
                     (- (* x 5.28455) (+ (* y 3.41463) 5.9037))
                     (+ (+ 0.0706992 (* y 2.60163)) (* x 2.84553)))
                    (- (+ (* y 0.813008) 6.188) (* x 8.13008)))))
                 (fmin
                  (fmin
                   (fmax
                    (fmax (- (+ 1.728 (* y 2.19512))) (- 1.8053 (* x 2.84553)))
                    (- (+ (* y 2.19512) (* x 2.84553)) 0.171801))
                   (fmax
                    (fmax
                     (+ 1.728 (* y 2.19512))
                     (- 0.171801 (+ (* y 2.19512) (* x 2.84553))))
                    (- (* x 2.84553) 1.8053)))
                  (fmin
                   (fmax
                    (fmax
                     (+ 2.12 (* y 3.25203))
                     (- (* x 4.47154) (+ (* y 3.25203) 5.1769)))
                    (- 2.8369 (* x 4.47154)))
                   (fmax
                    (fmax
                     (- (* x 4.47154) 2.8369)
                     (- (+ (* y 3.25203) 5.1769) (* x 4.47154)))
                    (- (+ 2.12 (* y 3.25203))))))))
               (+ 5.3 (* y 8.13008)))
              (- (+ 6.3 (* y 8.13008))))
             (- (* x 8.13008) 5.558))
            (- 5.058 (* x 8.13008))))))
        (fmin
         (fmin
          (fmax
           (-
            0.175
            (sqrt
             (+
              (pow (+ 6.025 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 4.683) 2))))
           (-
            (sqrt
             (+
              (pow (+ 6.025 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 4.683) 2)))
            0.275))
          (fmax
           (-
            0.175
            (sqrt
             (+
              (pow (+ 6.025 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 4.033) 2))))
           (-
            (sqrt
             (+
              (pow (+ 6.025 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 4.033) 2)))
            0.275)))
         (fmin
          (fmax
           (fmax
            (fmax (- (* x 8.13008) 3.233) (- 3.133 (* x 8.13008)))
            (+ 5.3 (* y 8.13008)))
           (- (+ 6.3 (* y 8.13008))))
          (fmin
           (fmax
            (fmax
             (fmax (+ 5.75 (* y 8.13008)) (- (+ 5.85 (* y 8.13008))))
             (- (* x 8.13008) 3.408))
            (- 3.233 (* x 8.13008)))
           (fmax
            (fmax
             (fmax (- (* x 8.13008) 3.408) (- 3.233 (* x 8.13008)))
             (+ 6.2 (* y 8.13008)))
            (- (+ 6.3 (* y 8.13008))))))))
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (- (* x 8.13008) 4.133) (- 3.408 (* x 8.13008)))
              (-
               0.175
               (sqrt
                (+
                 (pow (+ 6.025 (* y 8.13008)) 2)
                 (pow (- (* x 8.13008) 3.408) 2)))))
             (-
              (sqrt
               (+
                (pow (+ 6.025 (* y 8.13008)) 2)
                (pow (- (* x 8.13008) 3.408) 2)))
              0.275))
            (+ 5.3 (* y 8.13008)))
           (- (+ 6.3 (* y 8.13008))))
          (fmax
           (fmax
            (- (+ 0.685 (* y 0.813008)))
            (- (* x 4.47154) (+ (* y 1.82927) 2.5769)))
           (- (+ (* y 2.64228) 3.2069) (* x 4.47154))))
         (fmin
          (fmax
           (fmax
            (+ 0.685 (* y 0.813008))
            (- (* x 4.47154) (+ (* y 2.64228) 3.2069)))
           (- (+ (* y 1.82927) 2.5769) (* x 4.47154)))
          (fmin
           (fmax
            (fmax
             (fmax
              (fmax (- 1.083 (* x 8.13008)) (+ 5.65 (* y 8.13008)))
              (- (+ 5.95 (* y 8.13008))))
             (- (* x 8.13008) 1.733))
            (fmin
             (fmax
              (-
               0.075
               (sqrt
                (+
                 (pow (+ 5.95 (* y 8.13008)) 2)
                 (pow (- (* x 8.13008) 1.508) 2))))
              (-
               (sqrt
                (+
                 (pow (+ 5.95 (* y 8.13008)) 2)
                 (pow (- (* x 8.13008) 1.508) 2)))
               0.175))
             (fmax
              (-
               0.075
               (sqrt
                (+
                 (pow (+ 5.95 (* y 8.13008)) 2)
                 (pow (- (* x 8.13008) 1.258) 2))))
              (-
               (sqrt
                (+
                 (pow (+ 5.95 (* y 8.13008)) 2)
                 (pow (- (* x 8.13008) 1.258) 2)))
               0.175))))
           (fmax
            (fmax
             (fmax (- (+ 6.3 (* y 8.13008))) (+ 5.975 (* y 8.13008)))
             (- (* x 8.13008) 0.282999))
            (- 0.182999 (* x 8.13008))))))
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (+ 5.75 (* y 8.13008)) (- (+ 6.3 (* y 8.13008))))
            (+ 0.167001 (* x 8.13008)))
           (- (+ 0.267001 (* x 8.13008))))
          (fmin
           (fmax
            (fmax
             (fmax
              (fmax
               (fmax (+ 5.75 (* y 8.13008)) (- (* x 8.13008) 0.282999))
               (- (+ 0.267001 (* x 8.13008))))
              (- (+ 5.975 (* y 8.13008))))
             (-
              0.175
              (sqrt
               (+
                (pow (+ 6.025 (* y 8.13008)) 2)
                (pow (- (* x 8.13008) 0.00799847) 2)))))
            (-
             (sqrt
              (+
               (pow (+ 6.025 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) 0.00799847) 2)))
             0.275))
           (fmax
            (fmax
             (- (* x 4.47154) (+ 1.23565 (* y 2.03252)))
             (- (+ 1.81065 (* y 2.84553)) (* x 4.47154)))
            (- (+ 0.63 (* y 0.813008))))))
         (fmin
          (fmax
           (fmax
            (- (* x 4.47154) (+ 1.81065 (* y 2.84553)))
            (- (+ 1.23565 (* y 2.03252)) (* x 4.47154)))
           (+ 0.63 (* y 0.813008)))
          (fmin
           (fmax
            (fmax
             (- (* x 4.47154) (+ 1.81065 (* y 2.84553)))
             (- (+ 1.18065 (* y 2.03252)) (* x 4.47154)))
            (+ 0.575 (* y 0.813008)))
           (fmax
            (fmax
             (- (+ 1.81065 (* y 2.84553)) (* x 4.47154))
             (- (* x 4.47154) (+ 1.18065 (* y 2.03252))))
            (- (+ 0.575 (* y 0.813008)))))))))))
    (fmin
     (fmin
      (fmin
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (- (+ (+ 1.96935 (* y 2.03252)) (* x 4.47154)))
            (+ (+ 2.54435 (* y 2.84553)) (* x 4.47154)))
           (- (+ 0.63 (* y 0.813008))))
          (fmax
           (fmax
            (+ (+ 1.96935 (* y 2.03252)) (* x 4.47154))
            (- (+ (+ 2.54435 (* y 2.84553)) (* x 4.47154))))
           (+ 0.63 (* y 0.813008))))
         (fmin
          (fmax
           (fmax
            (- (+ (+ 2.54435 (* y 2.84553)) (* x 4.47154)))
            (+ (+ 1.91435 (* y 2.03252)) (* x 4.47154)))
           (+ 0.575 (* y 0.813008)))
          (fmin
           (fmax
            (fmax
             (+ (+ 2.54435 (* y 2.84553)) (* x 4.47154))
             (- (+ (+ 1.91435 (* y 2.03252)) (* x 4.47154))))
            (- (+ 0.575 (* y 0.813008))))
           (fmax
            (fmax
             (- (* x 4.47154) (+ 0.96065 (* y 2.03252)))
             (- (+ 1.53565 (* y 2.84553)) (* x 4.47154)))
            (- (+ 0.63 (* y 0.813008)))))))
        (fmin
         (fmin
          (fmax
           (fmax
            (- (* x 4.47154) (+ 1.53565 (* y 2.84553)))
            (- (+ 0.96065 (* y 2.03252)) (* x 4.47154)))
           (+ 0.63 (* y 0.813008)))
          (fmax
           (fmax
            (- (* x 4.47154) (+ 1.53565 (* y 2.84553)))
            (- (+ 0.90565 (* y 2.03252)) (* x 4.47154)))
           (+ 0.575 (* y 0.813008))))
         (fmin
          (fmax
           (fmax
            (- (* x 4.47154) (+ (* y 2.64228) 3.2069))
            (+ 0.63 (* y 0.813008)))
           (- (+ (* y 1.82927) 2.5219) (* x 4.47154)))
          (fmin
           (fmax
            (fmax
             (- (+ (* y 2.64228) 3.2069) (* x 4.47154))
             (- (* x 4.47154) (+ (* y 1.82927) 2.5219)))
            (- (+ 0.63 (* y 0.813008))))
           (fmax
            (fmax
             (- (* x 4.47154) (+ (* y 1.82927) 2.5769))
             (- (+ 0.63 (* y 0.813008))))
            (- (+ (* y 2.64228) 3.1519) (* x 4.47154)))))))
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (- (+ (* y 1.82927) 2.5769) (* x 4.47154))
            (+ 0.63 (* y 0.813008)))
           (- (* x 4.47154) (+ (* y 2.64228) 3.1519)))
          (fmax
           (fmax
            (- (+ (* y 1.82927) 2.5219) (* x 4.47154))
            (- (* x 4.47154) (+ (* y 2.64228) 3.1519)))
           (+ 0.575 (* y 0.813008))))
         (fmin
          (fmax
           (fmax
            (- (* x 4.47154) (+ (* y 1.82927) 2.5219))
            (- (+ (* y 2.64228) 3.1519) (* x 4.47154)))
           (- (+ 0.575 (* y 0.813008))))
          (fmin
           (fmax
            (fmax
             (- (+ 0.63 (* y 0.813008)))
             (- (+ (+ 0.3131 (* y 1.82927)) (* x 4.47154))))
            (+ (+ 0.8881 (* y 2.64228)) (* x 4.47154)))
           (fmax
            (fmax
             (+ 0.63 (* y 0.813008))
             (+ (+ 0.3131 (* y 1.82927)) (* x 4.47154)))
            (- (+ (+ 0.8881 (* y 2.64228)) (* x 4.47154)))))))
        (fmin
         (fmin
          (fmax
           (fmax
            (+ 0.575 (* y 0.813008))
            (- (+ (+ 0.8881 (* y 2.64228)) (* x 4.47154))))
           (+ (+ 0.2581 (* y 1.82927)) (* x 4.47154)))
          (fmax
           (fmax
            (- (+ 0.575 (* y 0.813008)))
            (+ (+ 0.8881 (* y 2.64228)) (* x 4.47154)))
           (- (+ (+ 0.2581 (* y 1.82927)) (* x 4.47154)))))
         (fmin
          (fmax
           (fmax
            (fmax (- (+ 6.3 (* y 8.13008))) (+ 5.95 (* y 8.13008)))
            (- (* x 8.13008) 1.683))
           (- 1.583 (* x 8.13008)))
          (fmin
           (fmax
            (fmax
             (fmax (- (+ 6.3 (* y 8.13008))) (+ 5.95 (* y 8.13008)))
             (- (* x 8.13008) 1.433))
            (- 1.333 (* x 8.13008)))
           (fmax
            (fmax
             (fmax (- (+ 6.3 (* y 8.13008))) (+ 5.775 (* y 8.13008)))
             (- (* x 8.13008) 1.183))
            (- 1.083 (* x 8.13008))))))))
      (fmin
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (+ 2.65 (* y 8.13008)) (- (* x 8.13008) 1.498))
            (- 1.398 (* x 8.13008)))
           (- (+ 3 (* y 8.13008))))
          (fmax
           (fmax
            (fmax (+ 2.65 (* y 8.13008)) (- (* x 8.13008) 1.248))
            (- 1.148 (* x 8.13008)))
           (- (+ 3 (* y 8.13008)))))
         (fmin
          (fmax
           (fmax
            (fmax (+ 2.475 (* y 8.13008)) (- (* x 8.13008) 0.998001))
            (- 0.898001 (* x 8.13008)))
           (- (+ 3 (* y 8.13008))))
          (fmin
           (fmax
            (fmax
             (fmax
              (fmax (- 0.898001 (* x 8.13008)) (- (+ 2.65 (* y 8.13008))))
              (- (* x 8.13008) 1.548))
             (fmin
              (fmax
               (-
                0.075
                (sqrt
                 (+
                  (pow (+ 2.65 (* y 8.13008)) 2)
                  (pow (- (* x 8.13008) 1.323) 2))))
               (-
                (sqrt
                 (+
                  (pow (+ 2.65 (* y 8.13008)) 2)
                  (pow (- (* x 8.13008) 1.323) 2)))
                0.175))
              (fmax
               (-
                0.075
                (sqrt
                 (+
                  (pow (+ 2.65 (* y 8.13008)) 2)
                  (pow (- (* x 8.13008) 1.073) 2))))
               (-
                (sqrt
                 (+
                  (pow (+ 2.65 (* y 8.13008)) 2)
                  (pow (- (* x 8.13008) 1.073) 2)))
                0.175))))
            (+ 2.35 (* y 8.13008)))
           (fmax
            (-
             0.175
             (sqrt
              (+
               (pow (- (* x 8.13008) 0.523) 2)
               (pow (+ 2.725 (* y 8.13008)) 2))))
            (-
             (sqrt
              (+
               (pow (- (* x 8.13008) 0.523) 2)
               (pow (+ 2.725 (* y 8.13008)) 2)))
             0.275)))))
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (- (* x 8.13008) 0.0979996) (- (+ 0.00200015 (* x 8.13008))))
            (- (+ 3 (* y 8.13008))))
           (+ 2.725 (* y 8.13008)))
          (fmax
           (fmax
            (fmax (+ 0.352 (* x 8.13008)) (- (+ 0.452 (* x 8.13008))))
            (- (+ 3 (* y 8.13008))))
           (+ 2 (* y 8.13008))))
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (- (* x 8.13008) 0.0979996) (- (+ 0.452 (* x 8.13008))))
              (-
               0.175
               (sqrt
                (+
                 (pow (+ 0.177 (* x 8.13008)) 2)
                 (pow (+ 2.725 (* y 8.13008)) 2)))))
             (-
              (sqrt
               (+
                (pow (+ 0.177 (* x 8.13008)) 2)
                (pow (+ 2.725 (* y 8.13008)) 2)))
              0.275))
            (+ 2.45 (* y 8.13008)))
           (- (+ 2.725 (* y 8.13008))))
          (fmin
           (fmax
            (fmax
             (fmax
              (fmax
               (fmax
                (-
                 0.175
                 (sqrt
                  (+
                   (pow (- (* x 8.13008) 3.4105) 2)
                   (pow (+ 2.725 (* y 8.13008)) 2))))
                (-
                 (sqrt
                  (+
                   (pow (- (* x 8.13008) 3.4105) 2)
                   (pow (+ 2.725 (* y 8.13008)) 2)))
                 0.275))
               (+ 2.45 (* y 8.13008)))
              (- (* x 8.13008) 3.6855))
             (- 3.1355 (* x 8.13008)))
            (- (+ 2.675 (* y 8.13008))))
           (fmax
            (fmax
             (fmax (- (* x 8.13008) 3.0105) (- 2.9105 (* x 8.13008)))
             (- (+ 3 (* y 8.13008))))
            (+ 2.45 (* y 8.13008)))))))
       (fmin
        (fmin
         (fmin
          (-
           (sqrt
            (+ (pow (+ 2.3 (* y 8.13008)) 2) (pow (- (* x 8.13008) 2.9605) 2)))
           0.075)
          (fmax
           (-
            (fmin
             (fmax
              (fmax
               (fmax (- (+ 2.775 (* y 8.13008))) (+ 2.6125 (* y 8.13008)))
               (- 1.22783 (* x 5.42005)))
              (- (* x 5.42005) 1.39033))
             (-
              (sqrt
               (+
                (pow (- (+ 2.615 (* y 8.13008))) 2)
                (pow (- 0.81689 (* x 3.61337)) 2)))
              0.0625)))
           (-
            (sqrt
             (+
              (pow (- (+ 2.6125 (* y 8.13008))) 2)
              (pow (- 1.22783 (* x 5.42005)) 2)))
            0.1625)))
         (fmin
          (fmax
           (-
            (fmin
             (fmax
              (fmax
               (fmax (- (+ 2.8375 (* y 8.13008))) (- (* x 5.42005) 1.22783))
               (- 1.06533 (* x 5.42005)))
              (+ 2.675 (* y 8.13008)))
             (-
              (sqrt
               (+
                (pow (+ 2.835 (* y 8.13008)) 2)
                (pow (- (* x 3.61337) 0.820223) 2)))
              0.0625)))
           (-
            (sqrt
             (+
              (pow (+ 2.8375 (* y 8.13008)) 2)
              (pow (- (* x 5.42005) 1.22783) 2)))
            0.1625))
          (fmin
           (fmax
            (fmax
             (fmax
              (fmax
               (fmax
                (-
                 0.175
                 (sqrt
                  (+
                   (pow (+ 3.207 (* x 8.13008)) 2)
                   (pow (+ 2.725 (* y 8.13008)) 2))))
                (-
                 (sqrt
                  (+
                   (pow (+ 3.207 (* x 8.13008)) 2)
                   (pow (+ 2.725 (* y 8.13008)) 2)))
                 0.275))
               (+ 2.932 (* x 8.13008)))
              (- (+ 3.482 (* x 8.13008))))
             (+ 2.45 (* y 8.13008)))
            (- (+ 2.675 (* y 8.13008))))
           (fmax
            (fmax
             (fmax (+ 3.607 (* x 8.13008)) (- (+ 3.707 (* x 8.13008))))
             (- (+ 3 (* y 8.13008))))
            (+ 2.45 (* y 8.13008))))))
        (fmin
         (fmin
          (-
           (sqrt
            (+ (pow (+ 2.3 (* y 8.13008)) 2) (pow (+ 3.657 (* x 8.13008)) 2)))
           0.075)
          (fmin
           (fmax
            (fmax
             (fmax (+ 2.65 (* y 8.13008)) (+ 3.852 (* x 8.13008)))
             (- (+ 3.952 (* x 8.13008))))
            (- (+ 3 (* y 8.13008))))
           (fmax
            (-
             0.175
             (sqrt
              (+
               (pow (- (+ 3.35486 (* x 8.13008)) (* y 2.32288)) 2)
               (pow (+ 2.725 (* y 8.13008)) 2))))
            (-
             (sqrt
              (+
               (pow (- (+ 3.35486 (* x 8.13008)) (* y 2.32288)) 2)
               (pow (+ 2.725 (* y 8.13008)) 2)))
             0.275))))
         (fmin
          (fmax
           (fmax
            (fmax (+ 4.662 (* x 8.13008)) (- (+ 4.762 (* x 8.13008))))
            (+ 2 (* y 8.13008)))
           (- (+ 2.75 (* y 8.13008))))
          (fmin
           (fmax
            (fmax
             (fmax (+ 4.512 (* x 8.13008)) (- (+ 4.912 (* x 8.13008))))
             (+ 2.35 (* y 8.13008)))
            (- (+ 2.45 (* y 8.13008))))
           (fmax
            (fmax
             (fmax
              (fmax
               (fmax (+ 4.512 (* x 8.13008)) (- (+ 4.912 (* x 8.13008))))
               (-
                0.15
                (sqrt
                 (+
                  (pow (+ 4.512 (* x 8.13008)) 2)
                  (pow (+ 2.75 (* y 8.13008)) 2)))))
              (-
               (sqrt
                (+
                 (pow (+ 4.512 (* x 8.13008)) 2)
                 (pow (+ 2.75 (* y 8.13008)) 2)))
               0.25))
             (- (+ 3 (* y 8.13008))))
            (+ 2.75 (* y 8.13008)))))))))
     (fmin
      (fmin
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (+ 5.27 (* x 8.13008)) (- (+ 5.37 (* x 8.13008))))
            (- (+ 3 (* y 8.13008))))
           (+ 2.45 (* y 8.13008)))
          (fmax
           (fmax
            (fmax (+ 0.702 (* x 8.13008)) (- (+ 0.802 (* x 8.13008))))
            (+ 2 (* y 8.13008)))
           (- (+ 2.75 (* y 8.13008)))))
         (fmin
          (fmax
           (fmax
            (fmax (+ 0.552 (* x 8.13008)) (- (+ 0.952 (* x 8.13008))))
            (+ 2.35 (* y 8.13008)))
           (- (+ 2.45 (* y 8.13008))))
          (fmin
           (fmax
            (fmax
             (fmax
              (fmax
               (fmax (+ 0.552 (* x 8.13008)) (- (+ 0.952 (* x 8.13008))))
               (-
                0.15
                (sqrt
                 (+
                  (pow (+ 0.552 (* x 8.13008)) 2)
                  (pow (+ 2.75 (* y 8.13008)) 2)))))
              (-
               (sqrt
                (+
                 (pow (+ 0.552 (* x 8.13008)) 2)
                 (pow (+ 2.75 (* y 8.13008)) 2)))
               0.25))
             (- (+ 3 (* y 8.13008))))
            (+ 2.75 (* y 8.13008)))
           (fmax
            (fmax
             (fmax (+ 2.65 (* y 8.13008)) (+ 1.072 (* x 8.13008)))
             (- (+ 1.172 (* x 8.13008))))
            (- (+ 3 (* y 8.13008)))))))
        (fmin
         (fmin
          (fmax
           (-
            0.175
            (sqrt
             (+
              (pow (- (+ 0.574857 (* x 8.13008)) (* y 2.32288)) 2)
              (pow (+ 2.725 (* y 8.13008)) 2))))
           (-
            (sqrt
             (+
              (pow (- (+ 0.574857 (* x 8.13008)) (* y 2.32288)) 2)
              (pow (+ 2.725 (* y 8.13008)) 2)))
            0.275))
          (fmax
           (fmax
            (fmax (+ 2.25 (* y 8.13008)) (+ 1.882 (* x 8.13008)))
            (- (+ 1.982 (* x 8.13008))))
           (- (+ 3 (* y 8.13008)))))
         (fmin
          (fmax
           (fmax
            (fmax (- (+ 2.55 (* y 8.13008))) (+ 1.732 (* x 8.13008)))
            (- (+ 2.132 (* x 8.13008))))
           (+ 2.45 (* y 8.13008)))
          (fmin
           (fmax
            (fmax
             (fmax
              (fmax
               (fmax (+ 1.732 (* x 8.13008)) (- (+ 2.132 (* x 8.13008))))
               (- (+ 2.25 (* y 8.13008))))
              (-
               0.15
               (sqrt
                (+
                 (pow (+ 2.25 (* y 8.13008)) 2)
                 (pow (+ 1.732 (* x 8.13008)) 2)))))
             (-
              (sqrt
               (+
                (pow (+ 2.25 (* y 8.13008)) 2)
                (pow (+ 1.732 (* x 8.13008)) 2)))
              0.25))
            (+ 2 (* y 8.13008)))
           (fmax
            (fmax
             (fmax (+ 2.932 (* x 8.13008)) (- (+ 3.032 (* x 8.13008))))
             (- (+ 3 (* y 8.13008))))
            (+ 2.675 (* y 8.13008)))))))
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (+ 3.382 (* x 8.13008)) (- (+ 3.482 (* x 8.13008))))
            (- (+ 3 (* y 8.13008))))
           (+ 2.45 (* y 8.13008)))
          (fmax
           (fmax
            (fmax (+ 1.25 (* y 8.13008)) (- (+ 1.35 (* y 8.13008))))
            (- (* x 8.13008) 6.6385))
           (- 6.2385 (* x 8.13008))))
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (- (* x 8.13008) 6.6385) (- 6.2385 (* x 8.13008)))
              (- (+ 1.9 (* y 8.13008))))
             (-
              0.15
              (sqrt
               (+
                (pow (+ 1.65 (* y 8.13008)) 2)
                (pow (- (* x 8.13008) 6.6385) 2)))))
            (-
             (sqrt
              (+
               (pow (+ 1.65 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) 6.6385) 2)))
             0.25))
           (+ 1.65 (* y 8.13008)))
          (fmin
           (fmax
            (fmax
             (fmax (- (+ 1.9 (* y 8.13008))) (+ 1.35 (* y 8.13008)))
             (- (* x 8.13008) 6.1135))
            (- 6.0135 (* x 8.13008)))
           (-
            (sqrt
             (+
              (pow (+ 1.2 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 6.0635) 2)))
            0.075))))
        (fmin
         (fmin
          (fmax
           (fmax
            (- (+ 0.245 (* y 0.813008)))
            (- (* x 4.47154) (+ (* y 1.82927) 3.15743)))
           (- (+ (* y 2.64228) 3.34743) (* x 4.47154)))
          (fmin
           (fmax
            (fmax
             (+ 0.245 (* y 0.813008))
             (- (* x 4.47154) (+ (* y 2.64228) 3.34743)))
            (- (+ (* y 1.82927) 3.15743) (* x 4.47154)))
           (fmax
            (fmax
             (- (* x 4.47154) (+ (* y 2.64228) 3.34743))
             (+ 0.19 (* y 0.813008)))
            (- (+ (* y 1.82927) 3.10243) (* x 4.47154)))))
         (fmin
          (fmax
           (fmax
            (- (+ (* y 2.64228) 3.34743) (* x 4.47154))
            (- (* x 4.47154) (+ (* y 1.82927) 3.10243)))
           (- (+ 0.19 (* y 0.813008))))
          (fmin
           (fmax
            (fmax
             (- (* x 4.47154) (+ (* y 1.82927) 3.15743))
             (- (+ 0.19 (* y 0.813008))))
            (- (+ (* y 2.64228) 3.29243) (* x 4.47154)))
           (fmax
            (fmax
             (- (+ (* y 1.82927) 3.15743) (* x 4.47154))
             (+ 0.19 (* y 0.813008)))
            (- (* x 4.47154) (+ (* y 2.64228) 3.29243))))))))
      (fmin
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (- (+ (* y 1.82927) 3.10243) (* x 4.47154))
            (- (* x 4.47154) (+ (* y 2.64228) 3.29243)))
           (+ 0.135 (* y 0.813008)))
          (fmax
           (fmax
            (- (* x 4.47154) (+ (* y 1.82927) 3.10243))
            (- (+ (* y 2.64228) 3.29243) (* x 4.47154)))
           (- (+ 0.135 (* y 0.813008)))))
         (fmin
          (fmax
           (fmax
            (- (+ 0.19 (* y 0.813008)))
            (- 2.24743 (+ (* y 1.82927) (* x 4.47154))))
           (- (+ (* y 2.64228) (* x 4.47154)) 2.11243))
          (fmin
           (fmax
            (fmax
             (fmax
              (fmax
               (fmax (+ 7.12143 (* x 11.6144)) (- (+ 7.67143 (* x 11.6144))))
               (-
                0.45
                (sqrt
                 (+
                  (pow (+ 3 (* y 8.13008)) 2)
                  (pow (+ 8.90179 (* x 14.518)) 2)))))
              (-
               (sqrt
                (+
                 (pow (+ 3 (* y 8.13008)) 2)
                 (pow (+ 7.12143 (* x 11.6144)) 2)))
               0.55))
             (- (+ 3 (* y 8.13008))))
            (+ 2.45 (* y 8.13008)))
           (fmax
            (-
             (sqrt
              (+
               (pow (+ 5.745 (* x 8.13008)) 2)
               (pow (+ 2.725 (* y 8.13008)) 2)))
             0.275)
            (fmin
             (fmax
              (fmax
               (fmax (+ 5.47 (* x 8.13008)) (- (+ 5.97 (* x 8.13008))))
               (+ 2.685 (* y 8.13008)))
              (- (+ 2.775 (* y 8.13008))))
             (fmax
              (fmax
               (-
                (sqrt
                 (+
                  (pow (+ 5.745 (* x 8.13008)) 2)
                  (pow (+ 2.725 (* y 8.13008)) 2)))
                0.275)
               (-
                (fmin
                 (fmax
                  (fmax
                   (- (+ 1.0405 (* x 2.23577)) (* y 1.21951))
                   (- (+ (+ (* x 2.23577) 2.9905) (* y 4.06504))))
                  (+ 1.77125 (* y 5.28455)))
                 (fmax
                  (fmax
                   (+ (+ (* x 2.23577) 2.9905) (* y 4.06504))
                   (- (* y 1.21951) (+ 1.0405 (* x 2.23577))))
                  (- (+ 1.77125 (* y 5.28455)))))))
              (-
               0.175
               (sqrt
                (+
                 (pow (+ 5.745 (* x 8.13008)) 2)
                 (pow (+ 2.725 (* y 8.13008)) 2))))))))))
        (fmin
         (fmin
          (fmax
           (fmax
            (-
             (fmin
              (fmax
               (fmax
                (- (* y 2.23577) (+ 1.02163 (* x 2.27642)))
                (+ 3.35775 (* x 4.5122)))
               (- (+ (* (+ x y) 2.23577) 2.48875)))
              (fmax
               (fmax
                (+ (* (+ x y) 2.23577) 2.48875)
                (- (+ 3.35775 (* x 4.5122))))
               (- (+ 1.02162 (* x 2.27642)) (* y 2.23577)))))
            (-
             0.175
             (sqrt
              (+
               (pow (+ 6.325 (* x 8.13008)) 2)
               (pow (+ 2.725 (* y 8.13008)) 2)))))
           (-
            (sqrt
             (+
              (pow (+ 6.325 (* x 8.13008)) 2)
              (pow (+ 2.725 (* y 8.13008)) 2)))
            0.275))
          (fmax
           (fmax
            (fmax (+ 0.9 (* y 8.13008)) (- (+ 1.65 (* y 8.13008))))
            (- (* x 8.13008) 6.4885))
           (- 6.3885 (* x 8.13008))))
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (- (+ 1.9 (* y 8.13008))) (+ 0.9 (* y 8.13008)))
              (-
               0.175
               (sqrt
                (+
                 (pow (+ 1.625 (* y 8.13008)) 2)
                 (pow (- (* x 8.13008) 3.1805) 2)))))
             (-
              (sqrt
               (+
                (pow (+ 1.625 (* y 8.13008)) 2)
                (pow (- (* x 8.13008) 3.1805) 2)))
              0.275))
            (- (* x 8.13008) 3.9055))
           (- 3.1805 (* x 8.13008)))
          (fmin
           (fmax
            (fmax
             (fmax
              (fmax
               (fmax
                (-
                 (fmin
                  (fmax
                   (fmax
                    (- (* x 2.84553) (+ (* y 0.813008) 0.880675))
                    (- (+ (+ 0.590637 (* x 1.82927)) (* y 4.06504))))
                   (- (+ 1.27381 (* y 4.87805)) (* x 1.01626)))
                  (fmax
                   (fmax
                    (+ (+ 0.590637 (* x 1.82927)) (* y 4.06504))
                    (- (* x 1.01626) (+ 1.27381 (* y 4.87805))))
                   (- (+ (* y 0.813008) 0.880675) (* x 2.84553)))))
                (+ 1.825 (* y 8.13008)))
               (- (+ 2.05 (* y 8.13008))))
              (- (* x 8.13008) 2.0805))
             (- 1.9305 (* x 8.13008)))
            (-
             (sqrt
              (+
               (pow (+ 0.608333 (* y 2.71003)) 2)
               (pow (- (* x 8.13008) 2.0055) 2)))
             0.075))
           (-
            (sqrt
             (+
              (pow (+ 1.825 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 2.0305) 2)))
            0.075)))))
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (- (+ 1.9 (* y 8.13008))) (+ 1.15 (* y 8.13008)))
            (- (* x 8.13008) 1.6805))
           (- 1.5805 (* x 8.13008)))
          (fmax
           (fmax
            (fmax (+ 1.35 (* y 8.13008)) (- (* x 8.13008) 1.8305))
            (- 1.4305 (* x 8.13008)))
           (- (+ 1.45 (* y 8.13008)))))
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (+ 0.9 (* y 8.13008)) (- (* x 8.13008) 1.8305))
              (- 1.4305 (* x 8.13008)))
             (- (+ 1.15 (* y 8.13008))))
            (-
             0.15
             (sqrt
              (+
               (pow (+ 1.15 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) 1.8305) 2)))))
           (-
            (sqrt
             (+
              (pow (+ 1.15 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 1.8305) 2)))
            0.25))
          (fmin
           (fmax
            (fmax
             (fmax (- (+ 1.9 (* y 8.13008))) (+ 1.15 (* y 8.13008)))
             (- (* x 8.13008) 1.1805))
            (- 1.0805 (* x 8.13008)))
           (fmax
            (fmax
             (+ 0.19 (* y 0.813008))
             (- 2.11243 (+ (* y 2.64228) (* x 4.47154))))
            (- (+ (* y 1.82927) (* x 4.47154)) 2.24743)))))
        (fmin
         (fmin
          (fmax
           (fmax
            (+ 0.135 (* y 0.813008))
            (- 2.11243 (+ (* y 2.64228) (* x 4.47154))))
           (- (+ (* y 1.82927) (* x 4.47154)) 2.30243))
          (fmin
           (fmax
            (fmax
             (- (+ 0.135 (* y 0.813008)))
             (- (+ (* y 2.64228) (* x 4.47154)) 2.11243))
            (- 2.30243 (+ (* y 1.82927) (* x 4.47154))))
           (fmax
            (fmax
             (fmax (- (+ 1.9 (* y 8.13008))) (+ 1.35 (* y 8.13008)))
             (- (* x 8.13008) 4.2805))
            (- 4.1805 (* x 8.13008)))))
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (- (+ 1.9 (* y 8.13008))) (+ 1.35 (* y 8.13008)))
              (- (* x 11.6144) 6.52214))
             (- 5.97215 (* x 11.6144)))
            (-
             0.45
             (sqrt
              (+
               (pow (+ 1.9 (* y 8.13008)) 2)
               (pow (- (* x 14.518) 8.15268) 2)))))
           (-
            (sqrt
             (+
              (pow (+ 1.9 (* y 8.13008)) 2)
              (pow (- (* x 11.6144) 6.52214) 2)))
            0.55))
          (fmin
           (fmax
            (fmax
             (fmax (- (+ 1.9 (* y 8.13008))) (+ 1.35 (* y 8.13008)))
             (- (* x 8.13008) 4.0805))
            (- 3.9805 (* x 8.13008)))
           (fmax
            (fmax
             (fmax (+ 1.35 (* y 8.13008)) (- (+ 1.625 (* y 8.13008))))
             (- (* x 8.13008) 3.6305))
            (- 3.5305 (* x 8.13008)))))))))))
   (fmin
    (fmin
     (fmin
      (fmin
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (- (+ 1.9 (* y 8.13008))) (- (* x 8.13008) 4.0805))
              (- 3.5305 (* x 8.13008)))
             (+ 1.625 (* y 8.13008)))
            (-
             0.175
             (sqrt
              (+
               (pow (+ 1.625 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) 3.8055) 2)))))
           (-
            (sqrt
             (+
              (pow (+ 1.625 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 3.8055) 2)))
            0.275))
          (fmax
           (fmax
            (fmax (- (+ 1.9 (* y 8.13008))) (+ 0.9 (* y 8.13008)))
            (- (* x 8.13008) 3.0055))
           (- 2.9055 (* x 8.13008))))
         (fmin
          (fmax
           (fmax
            (fmax (+ 1.35 (* y 8.13008)) (- (+ 1.45 (* y 8.13008))))
            (- (* x 8.13008) 3.1805))
           (- 3.0055 (* x 8.13008)))
          (fmin
           (fmax
            (fmax
             (fmax (- (+ 1.9 (* y 8.13008))) (- (* x 8.13008) 3.1805))
             (- 3.0055 (* x 8.13008)))
            (+ 1.8 (* y 8.13008)))
           (fmax
            (-
             0.175
             (sqrt
              (+
               (pow (+ 3.825 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) (+ (* y 2.32288) 5.57243)) 2))))
            (-
             (sqrt
              (+
               (pow (+ 3.825 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) (+ (* y 2.32288) 5.57243)) 2)))
             0.275)))))
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (- (+ 4.1 (* y 8.13008))) (+ 3.825 (* y 8.13008)))
            (- (* x 8.13008) 4.051))
           (- 3.951 (* x 8.13008)))
          (fmax
           (fmax
            (fmax (+ 3.1 (* y 8.13008)) (- (+ 4.1 (* y 8.13008))))
            (- (* x 8.13008) 3.601))
           (- 3.501 (* x 8.13008))))
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (+ 3.55 (* y 8.13008)) (- (* x 8.13008) 4.051))
              (- 3.501 (* x 8.13008)))
             (- (+ 3.825 (* y 8.13008))))
            (-
             0.175
             (sqrt
              (+
               (pow (+ 3.825 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) 3.776) 2)))))
           (-
            (sqrt
             (+
              (pow (+ 3.825 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 3.776) 2)))
            0.275))
          (fmin
           (fmax
            (fmax
             (fmax (+ 3.1 (* y 8.13008)) (- (+ 3.85 (* y 8.13008))))
             (- (* x 8.13008) 3.251))
            (- 3.151 (* x 8.13008)))
           (fmax
            (fmax
             (fmax (+ 3.45 (* y 8.13008)) (- (+ 3.55 (* y 8.13008))))
             (- (* x 8.13008) 3.401))
            (- 3.001 (* x 8.13008)))))))
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (- (+ 4.1 (* y 8.13008))) (+ 3.85 (* y 8.13008)))
              (- (* x 8.13008) 3.401))
             (- 3.001 (* x 8.13008)))
            (-
             0.15
             (sqrt
              (+
               (pow (+ 3.85 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) 3.401) 2)))))
           (-
            (sqrt
             (+
              (pow (+ 3.85 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 3.401) 2)))
            0.25))
          (fmax
           (fmax
            (fmax (- (+ 4.1 (* y 8.13008))) (+ 3.55 (* y 8.13008)))
            (- (* x 8.13008) 1.943))
           (- 1.843 (* x 8.13008))))
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (- (+ 4.1 (* y 8.13008))) (+ 3.55 (* y 8.13008)))
              (- (* x 11.6144) 3.18286))
             (- 2.63286 (* x 11.6144)))
            (-
             0.45
             (sqrt
              (+
               (pow (+ 4.1 (* y 8.13008)) 2)
               (pow (- (* x 14.518) 3.97857) 2)))))
           (-
            (sqrt
             (+
              (pow (+ 4.1 (* y 8.13008)) 2)
              (pow (- (* x 11.6144) 3.18286) 2)))
            0.55))
          (fmin
           (fmax
            (fmax
             (fmax (- (+ 4.1 (* y 8.13008))) (+ 3.55 (* y 8.13008)))
             (- (* x 8.13008) 6.981))
            (- 6.881 (* x 8.13008)))
           (-
            (sqrt
             (+ (pow (+ 3.4 (* y 8.13008)) 2) (pow (- (* x 8.13008) 6.931) 2)))
            0.075))))
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (+ 3.1 (* y 8.13008)) (- (+ 4.1 (* y 8.13008))))
            (- 6.656 (* x 8.13008)))
           (- (* x 8.13008) 6.756))
          (fmax
           (fmax
            (fmax (+ 3.55 (* y 8.13008)) (- (+ 3.65 (* y 8.13008))))
            (- 6.48101 (* x 8.13008)))
           (- (* x 8.13008) 6.656)))
         (fmin
          (fmax
           (fmax
            (fmax (- (+ 4.1 (* y 8.13008))) (+ 4 (* y 8.13008)))
            (- 6.48101 (* x 8.13008)))
           (- (* x 8.13008) 6.656))
          (fmin
           (fmax
            (fmax
             (fmax
              (fmax
               (fmax (+ 3.1 (* y 8.13008)) (- (+ 4.1 (* y 8.13008))))
               (- 5.756 (* x 8.13008)))
              (- (* x 8.13008) 6.481))
             (-
              0.175
              (sqrt
               (+
                (pow (+ 3.825 (* y 8.13008)) 2)
                (pow (- 6.48101 (* x 8.13008)) 2)))))
            (-
             (sqrt
              (+
               (pow (+ 3.825 (* y 8.13008)) 2)
               (pow (- 6.48101 (* x 8.13008)) 2)))
             0.275))
           (fmax
            (fmax
             (fmax (- (+ 4.1 (* y 8.13008))) (+ 3.775 (* y 8.13008)))
             (- (* x 8.13008) 5.431))
            (- 5.331 (* x 8.13008))))))))
      (fmin
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (- (+ 4.1 (* y 8.13008))) (+ 3.55 (* y 8.13008)))
            (- (* x 8.13008) 4.981))
           (- 4.881 (* x 8.13008)))
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax (+ 3.55 (* y 8.13008)) (- (* x 8.13008) 5.431))
              (- 4.881 (* x 8.13008)))
             (- (+ 3.775 (* y 8.13008))))
            (-
             0.175
             (sqrt
              (+
               (pow (+ 3.825 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) 5.156) 2)))))
           (-
            (sqrt
             (+
              (pow (+ 3.825 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 5.156) 2)))
            0.275)))
         (fmin
          (fmax
           (fmax
            (fmax (- (+ 4.1 (* y 8.13008))) (+ 3.75 (* y 8.13008)))
            (- (* x 8.13008) 4.761))
           (- 4.661 (* x 8.13008)))
          (fmin
           (fmax
            (fmin
             (fmax
              (fmax
               (-
                0.175
                (sqrt
                 (+
                  (pow (+ 3.825 (* y 8.13008)) 2)
                  (pow (- (* x 8.13008) 0.167999) 2))))
               (-
                (sqrt
                 (+
                  (pow (+ 3.825 (* y 8.13008)) 2)
                  (pow (- (* x 8.13008) 0.167999) 2)))
                0.275))
              (-
               (fmin
                (fmax
                 (fmax
                  (+ 2.48625 (* y 5.28455))
                  (- (* x 2.23577) (+ 0.750575 (* y 1.21951))))
                 (- (+ (+ 1.91443 (* x 2.23577)) (* y 4.06504))))
                (fmax
                 (fmax
                  (- (+ 2.48625 (* y 5.28455)))
                  (+ (+ 1.91443 (* x 2.23577)) (* y 4.06504)))
                 (- (+ 0.750575 (* y 1.21951)) (* x 2.23577))))))
             (fmax
              (fmax
               (fmax (+ 3.785 (* y 8.13008)) (- (+ 3.875 (* y 8.13008))))
               (- (* x 8.13008) 0.443))
              (- (+ 0.0570004 (* x 8.13008)))))
            (-
             (sqrt
              (+
               (pow (+ 3.825 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) 0.167999) 2)))
             0.275))
           (fmax
            (-
             (sqrt
              (+
               (pow (+ 3.825 (* y 8.13008)) 2)
               (pow (+ 0.482 (* x 8.13008)) 2)))
             0.275)
            (fmin
             (fmax
              (fmax
               (fmax (+ 0.207 (* x 8.13008)) (- (+ 0.707 (* x 8.13008))))
               (+ 3.785 (* y 8.13008)))
              (- (+ 3.875 (* y 8.13008))))
             (fmax
              (fmax
               (-
                (sqrt
                 (+
                  (pow (+ 3.825 (* y 8.13008)) 2)
                  (pow (+ 0.482 (* x 8.13008)) 2)))
                0.275)
               (-
                (fmin
                 (fmax
                  (fmax
                   (- (* x 2.23577) (+ 0.571825 (* y 1.21951)))
                   (- (+ (+ 2.09318 (* x 2.23577)) (* y 4.06504))))
                  (+ 2.48625 (* y 5.28455)))
                 (fmax
                  (fmax
                   (+ (+ 2.09318 (* x 2.23577)) (* y 4.06504))
                   (- (+ 0.571825 (* y 1.21951)) (* x 2.23577)))
                  (- (+ 2.48625 (* y 5.28455)))))))
              (-
               0.175
               (sqrt
                (+
                 (pow (+ 3.825 (* y 8.13008)) 2)
                 (pow (+ 0.482 (* x 8.13008)) 2))))))))))
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (+ 3.1 (* y 8.13008)) (- (+ 4.1 (* y 8.13008))))
            (- (+ 0.957 (* x 8.13008))))
           (+ 0.857 (* x 8.13008)))
          (fmax
           (fmax
            (fmax (+ 3.55 (* y 8.13008)) (- (+ 3.65 (* y 8.13008))))
            (- (+ 1.132 (* x 8.13008))))
           (+ 0.957 (* x 8.13008))))
         (fmin
          (fmax
           (fmax
            (fmax (- (+ 4.1 (* y 8.13008))) (+ 4 (* y 8.13008)))
            (- (+ 1.132 (* x 8.13008))))
           (+ 0.957 (* x 8.13008)))
          (fmin
           (fmax
            (fmax
             (fmax
              (fmax
               (fmax (+ 3.1 (* y 8.13008)) (- (+ 4.1 (* y 8.13008))))
               (- (+ 1.857 (* x 8.13008))))
              (+ 1.132 (* x 8.13008)))
             (-
              0.175
              (sqrt
               (+
                (pow (+ 3.825 (* y 8.13008)) 2)
                (pow (- (+ 1.132 (* x 8.13008))) 2)))))
            (-
             (sqrt
              (+
               (pow (+ 3.825 (* y 8.13008)) 2)
               (pow (- (+ 1.132 (* x 8.13008))) 2)))
             0.275))
           (fmax
            (fmax
             (fmax (+ 3.1 (* y 8.13008)) (- (+ 4.1 (* y 8.13008))))
             (- (+ 2.282 (* x 8.13008))))
            (+ 2.182 (* x 8.13008)))))))
       (fmin
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax (+ 3.55 (* y 8.13008)) (- (+ 3.65 (* y 8.13008))))
            (+ 2.282 (* x 8.13008)))
           (- (+ 2.457 (* x 8.13008))))
          (fmax
           (fmax
            (fmax (- (+ 4.1 (* y 8.13008))) (+ 4 (* y 8.13008)))
            (+ 2.282 (* x 8.13008)))
           (- (+ 2.457 (* x 8.13008)))))
         (fmin
          (fmax
           (-
            (sqrt
             (+
              (pow (+ 3.825 (* y 8.13008)) 2)
              (pow (- (* x 8.13008) 1.468) 2)))
            0.275)
           (fmin
            (fmax
             (fmax
              (fmax (+ 3.785 (* y 8.13008)) (- (+ 3.875 (* y 8.13008))))
              (- (* x 8.13008) 1.743))
             (- 1.243 (* x 8.13008)))
            (fmax
             (fmax
              (-
               (sqrt
                (+
                 (pow (+ 3.825 (* y 8.13008)) 2)
                 (pow (- (* x 8.13008) 1.468) 2)))
               0.275)
              (-
               (fmin
                (fmax
                 (fmax
                  (+ 2.48625 (* y 5.28455))
                  (- (* x 2.23577) (+ 1.10808 (* y 1.21951))))
                 (- (+ (+ 1.55693 (* x 2.23577)) (* y 4.06504))))
                (fmax
                 (fmax
                  (+ (+ 1.55693 (* x 2.23577)) (* y 4.06504))
                  (- (+ 1.10808 (* y 1.21951)) (* x 2.23577)))
                 (- (+ 2.48625 (* y 5.28455)))))))
             (-
              0.175
              (sqrt
               (+
                (pow (+ 3.825 (* y 8.13008)) 2)
                (pow (- (* x 8.13008) 1.468) 2)))))))
          (fmin
           (fmax
            (fmax
             (fmax (+ 3.55 (* y 8.13008)) (- (+ 4.475 (* y 8.13008))))
             (- (* x 8.13008) 0.643001))
            (- 0.543 (* x 8.13008)))
           (fmax
            (-
             0.175
             (sqrt
              (+
               (pow (+ 3.825 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) 0.818) 2))))
            (-
             (sqrt
              (+
               (pow (+ 3.825 (* y 8.13008)) 2)
               (pow (- (* x 8.13008) 0.818) 2)))
             0.275)))))
        (fmin
         (fmin
          (fmax
           (fmax
            (fmax
             (fmax
              (fmax
               (-
                (sqrt
                 (+
                  (pow (+ 4.937 (* x 8.13008)) 2)
                  (pow (+ 1.34167 (* y 2.71003)
Download .txt
gitextract_znglj2cb/

├── .dockerignore
├── .fmt.rkt
├── .github/
│   └── workflows/
│       ├── distribute.yml
│       ├── plugins.yml
│       ├── release.yml
│       ├── resyntax-autofixer.yml
│       ├── tests.yml
│       └── unit-test.yml
├── .gitignore
├── AGENTS.md
├── Dockerfile
├── LICENSE.md
├── Makefile
├── README.md
├── bench/
│   ├── .gitignore
│   ├── arrays/
│   │   ├── basic.fpcore
│   │   ├── ops.fpcore
│   │   └── outputs.fpcore
│   ├── demo.fpcore
│   ├── graphics/
│   │   ├── fidget/
│   │   │   ├── bear.fpcore
│   │   │   ├── colonnade.fpcore
│   │   │   ├── gyroid-sphere.fpcore
│   │   │   ├── hi.fpcore
│   │   │   ├── prospero.fpcore
│   │   │   └── quarter.fpcore
│   │   ├── lod.fpcore
│   │   ├── log-transform.fpcore
│   │   └── pbrt.fpcore
│   ├── hamming/
│   │   ├── machine-decide.fpcore
│   │   ├── overflow-underflow.fpcore
│   │   ├── quadratic.fpcore
│   │   ├── rearrangement.fpcore
│   │   ├── series.fpcore
│   │   └── trigonometry.fpcore
│   ├── haskell.fpcore
│   ├── libraries/
│   │   ├── fast-math.fpcore
│   │   ├── jmatjs.fpcore
│   │   ├── mathjs/
│   │   │   ├── arithmetic.fpcore
│   │   │   ├── complex.fpcore
│   │   │   ├── probability.fpcore
│   │   │   └── trigonometry.fpcore
│   │   ├── octave/
│   │   │   ├── CollocWt.fpcore
│   │   │   └── randgamma.fpcore
│   │   └── rust.fpcore
│   ├── mathematics/
│   │   ├── arvind.fpcore
│   │   ├── beta-distribution.fpcore
│   │   ├── dirichlet-mixture-model.fpcore
│   │   ├── excel.fpcore
│   │   ├── gui.fpcore
│   │   ├── hyperbolic-functions.fpcore
│   │   ├── latlong.fpcore
│   │   ├── logistic-regression.fpcore
│   │   ├── sarnoff.fpcore
│   │   ├── statistics.fpcore
│   │   ├── symmetry.fpcore
│   │   └── xkcd-expr.fpcore
│   ├── numerics/
│   │   ├── conte.fpcore
│   │   ├── every-cs.fpcore
│   │   ├── fma.fpcore
│   │   ├── great-debate.fpcore
│   │   ├── hamming-misc.fpcore
│   │   ├── kahan.fpcore
│   │   ├── libm.fpcore
│   │   ├── martel.fpcore
│   │   ├── polynomial-cancellation.fpcore
│   │   ├── rosa.fpcore
│   │   └── rump.fpcore
│   ├── physics/
│   │   ├── ballistics.fpcore
│   │   ├── dimer-escape.fpcore
│   │   ├── gated-magnetic-field.fpcore
│   │   ├── gravitation.fpcore
│   │   ├── kalman.fpcore
│   │   ├── multiphoton-states.fpcore
│   │   ├── quantum-walk.fpcore
│   │   ├── sidey.fpcore
│   │   ├── superfluidity-breakdown.fpcore
│   │   ├── tea-flows.fpcore
│   │   ├── tea-whistle.fpcore
│   │   └── universal-linear-optics.fpcore
│   ├── proj/
│   │   ├── krovak.fpcore
│   │   ├── omerc.fpcore
│   │   ├── som.fpcore
│   │   ├── somerc.fpcore
│   │   └── tmerc.fpcore
│   ├── regression.fpcore
│   └── tutorial.fpcore
├── egg-herbie/
│   ├── .gitignore
│   ├── Cargo.toml
│   ├── LICENSE
│   ├── README.md
│   ├── info.rkt
│   ├── main.rkt
│   └── src/
│       ├── lib.rs
│       └── math.rs
├── infra/
│   ├── .gitignore
│   ├── analyze-rules.rkt
│   ├── bench/
│   │   ├── posit-pherbie.fpcore
│   │   └── posits.fpcore
│   ├── ci.rkt
│   ├── convert-demo-json.sh
│   ├── convert-demo.rkt
│   ├── convert-json.rkt
│   ├── coverage.rkt
│   ├── diagrams/
│   │   ├── .gitignore
│   │   ├── 1.5/
│   │   │   └── herbie-system.drawio
│   │   ├── 1.6/
│   │   │   └── herbie-system.drawio
│   │   ├── 1.6-changes/
│   │   │   └── herbie-system.drawio
│   │   ├── 2.1/
│   │   │   └── herbie-system.drawio
│   │   └── 2.2/
│   │       └── system.key
│   ├── diff.rkt
│   ├── fidget2core.py
│   ├── herbie-demo.service
│   ├── merge.rkt
│   ├── nightly.sh
│   ├── softposit.rkt
│   ├── sort-fpcore.rkt
│   ├── survey/
│   │   ├── .gitignore
│   │   ├── README.md
│   │   ├── seed-variance.sh
│   │   └── src/
│   │       ├── plot-results.sh
│   │       ├── seed-bar-chart.py
│   │       ├── seed-violin-plot.py
│   │       ├── test-versus-plot.py
│   │       └── test-violin-plot.py
│   ├── survey.rkt
│   └── test-api.mjs
├── src/
│   ├── api/
│   │   ├── datafile.rkt
│   │   ├── demo.rkt
│   │   ├── run.rkt
│   │   ├── sandbox.rkt
│   │   ├── server.rkt
│   │   └── shell.rkt
│   ├── config.rkt
│   ├── core/
│   │   ├── alt-table.rkt
│   │   ├── alternative.rkt
│   │   ├── arrays.rkt
│   │   ├── batch-reduce.rkt
│   │   ├── bsearch.rkt
│   │   ├── compiler.rkt
│   │   ├── derivations.rkt
│   │   ├── egg-herbie.rkt
│   │   ├── egglog-herbie-tests.rkt
│   │   ├── egglog-herbie.rkt
│   │   ├── egglog-subprocess.rkt
│   │   ├── explain.rkt
│   │   ├── localize.rkt
│   │   ├── mainloop.rkt
│   │   ├── patch.rkt
│   │   ├── points.rkt
│   │   ├── preprocess.rkt
│   │   ├── programs.rkt
│   │   ├── prove-rules.rkt
│   │   ├── regimes.rkt
│   │   ├── rules.rkt
│   │   ├── sampling.rkt
│   │   ├── searchreals.rkt
│   │   ├── taylor.rkt
│   │   └── test-rules.rkt
│   ├── info.rkt
│   ├── main.rkt
│   ├── platform.rkt
│   ├── platforms/
│   │   ├── c-windows.rkt
│   │   ├── c.rkt
│   │   ├── herbie10.rkt
│   │   ├── herbie20.rkt
│   │   ├── julia.rkt
│   │   ├── math.rkt
│   │   ├── python.rkt
│   │   ├── racket.rkt
│   │   ├── reflow.rkt
│   │   └── rival.rkt
│   ├── reports/
│   │   ├── common.rkt
│   │   ├── core2mathjs.rkt
│   │   ├── data.rkt
│   │   ├── history.rkt
│   │   ├── make-graph.rkt
│   │   ├── pages.rkt
│   │   ├── plot.rkt
│   │   ├── resources/
│   │   │   ├── 404.html
│   │   │   ├── demo.js
│   │   │   ├── main.css
│   │   │   ├── report-page.js
│   │   │   ├── report.css
│   │   │   ├── report.html
│   │   │   └── report.js
│   │   ├── timeline.rkt
│   │   └── traceback.rkt
│   ├── syntax/
│   │   ├── batch.rkt
│   │   ├── float.rkt
│   │   ├── generators.rkt
│   │   ├── load-platform.rkt
│   │   ├── matcher.rkt
│   │   ├── platform-language.rkt
│   │   ├── platform.rkt
│   │   ├── read.rkt
│   │   ├── rival.rkt
│   │   ├── sugar.rkt
│   │   ├── syntax-check.rkt
│   │   ├── syntax.rkt
│   │   ├── test-syntax.rkt
│   │   ├── type-check.rkt
│   │   └── types.rkt
│   └── utils/
│       ├── common.rkt
│       ├── dvector.rkt
│       ├── errors.rkt
│       ├── multi-command-line.rkt
│       ├── pareto.rkt
│       ├── pretty-print.rkt
│       ├── profile.rkt
│       └── timeline.rkt
└── www/
    ├── aec.html
    ├── demo.js
    ├── doc/
    │   ├── 0.9/
    │   │   ├── docker.html
    │   │   ├── input.html
    │   │   ├── installing-herbgrind.html
    │   │   ├── installing-herbie.html
    │   │   ├── options.html
    │   │   ├── using-herbgrind.html
    │   │   └── using-herbie.html
    │   ├── 1.0/
    │   │   ├── docker.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing-herbgrind.html
    │   │   ├── installing-herbie.html
    │   │   ├── options.html
    │   │   ├── release-notes.html
    │   │   ├── using-herbgrind.html
    │   │   └── using-herbie.html
    │   ├── 1.1/
    │   │   ├── compare.js
    │   │   ├── docker.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── results-new.json
    │   │   ├── results-old.json
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 1.2/
    │   │   ├── docker.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 1.3/
    │   │   ├── docker.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── plugins.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── toc.js
    │   │   ├── tutorial.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 1.4/
    │   │   ├── docker.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── plugins.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── toc.js
    │   │   ├── tutorial.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 1.5/
    │   │   ├── diagrams.html
    │   │   ├── docker.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── plugins.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── toc.js
    │   │   ├── tutorial.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 1.6/
    │   │   ├── diagrams.html
    │   │   ├── docker.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── plugins.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── toc.js
    │   │   ├── tutorial.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 2.0/
    │   │   ├── api-endpoints.html
    │   │   ├── diagrams.html
    │   │   ├── docker.html
    │   │   ├── error.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── plugins.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── toc.js
    │   │   ├── tutorial.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 2.1/
    │   │   ├── api-endpoints.html
    │   │   ├── diagrams.html
    │   │   ├── docker.html
    │   │   ├── error.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── plugins.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── toc.js
    │   │   ├── tutorial.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   ├── 2.2/
    │   │   ├── api-endpoints.html
    │   │   ├── diagrams.html
    │   │   ├── docker.html
    │   │   ├── error.html
    │   │   ├── faq.html
    │   │   ├── input.html
    │   │   ├── installing.html
    │   │   ├── options.html
    │   │   ├── platforms.html
    │   │   ├── plugins.html
    │   │   ├── release-notes.html
    │   │   ├── report.html
    │   │   ├── toc.js
    │   │   ├── tutorial.html
    │   │   ├── using-cli.html
    │   │   └── using-web.html
    │   └── 2.3/
    │       ├── api-endpoints.html
    │       ├── diagrams.html
    │       ├── docker.html
    │       ├── error.html
    │       ├── faq.html
    │       ├── input.html
    │       ├── installing.html
    │       ├── options.html
    │       ├── platforms.html
    │       ├── plugins.html
    │       ├── release-notes.html
    │       ├── report.html
    │       ├── toc.js
    │       ├── tutorial.html
    │       ├── using-cli.html
    │       └── using-web.html
    ├── doc.html
    ├── graph.js
    ├── index.html
    ├── main.css
    ├── papers.html
    ├── pldi15-slides.key
    └── results.json
Download .txt
SYMBOL INDEX (178 symbols across 18 files)

FILE: egg-herbie/src/lib.rs
  type Context (line 17) | pub struct Context {
  function egraph_create (line 25) | pub unsafe extern "C" fn egraph_create() -> *mut Context {
  function egraph_destroy (line 34) | pub unsafe extern "C" fn egraph_destroy(ptr: *mut Context) {
  function destroy_egraphiters (line 39) | pub unsafe extern "C" fn destroy_egraphiters(ptr: *mut c_void) {
  function destroy_string (line 46) | pub unsafe extern "C" fn destroy_string(ptr: *mut c_char) {
  function string_length (line 51) | pub unsafe extern "C" fn string_length(ptr: *const c_char) -> u32 {
  type EGraphIter (line 56) | pub struct EGraphIter {
  type FFIRule (line 64) | pub struct FFIRule {
  function egraph_add_expr (line 71) | pub unsafe extern "C" fn egraph_add_expr(ptr: *mut Context, expr: *const...
  function egraph_add_root (line 89) | pub unsafe extern "C" fn egraph_add_root(ptr: *mut Context, id: u32) {
  function egraph_add_node (line 95) | pub unsafe extern "C" fn egraph_add_node(
  function egraph_copy (line 115) | pub unsafe extern "C" fn egraph_copy(ptr: *mut Context) -> *mut Context {
  function ptr_to_string (line 133) | unsafe fn ptr_to_string(ptr: *const c_char) -> String {
  function ffirule_to_tuple (line 139) | unsafe fn ffirule_to_tuple(rule_ptr: *mut FFIRule) -> (String, String, S...
  function egraph_run (line 149) | pub unsafe extern "C" fn egraph_run(
  function egraph_get_stop_reason (line 232) | pub unsafe extern "C" fn egraph_get_stop_reason(ptr: *mut Context) -> u32 {
  function find_extracted (line 245) | fn find_extracted(runner: &Runner, id: u32, iter: u32) -> &Extracted {
  function egraph_find (line 268) | pub unsafe extern "C" fn egraph_find(ptr: *mut Context, id: usize) -> u32 {
  function egraph_serialize (line 276) | pub unsafe extern "C" fn egraph_serialize(ptr: *mut Context) -> *const c...
  function egraph_size (line 308) | pub unsafe extern "C" fn egraph_size(ptr: *mut Context) -> u32 {
  function egraph_eclass_size (line 314) | pub unsafe extern "C" fn egraph_eclass_size(ptr: *mut Context, id: u32) ...
  function egraph_enode_size (line 321) | pub unsafe extern "C" fn egraph_enode_size(ptr: *mut Context, id: u32, i...
  function egraph_get_eclasses (line 329) | pub unsafe extern "C" fn egraph_get_eclasses(ptr: *mut Context, ids_ptr:...
  function egraph_get_node (line 345) | pub unsafe extern "C" fn egraph_get_node(
  function egraph_get_simplest (line 365) | pub unsafe extern "C" fn egraph_get_simplest(
  function egraph_get_proof (line 379) | pub unsafe extern "C" fn egraph_get_proof(
  function egraph_get_variants (line 402) | pub unsafe extern "C" fn egraph_get_variants(
  function egraph_is_unsound_detected (line 445) | pub unsafe extern "C" fn egraph_is_unsound_detected(ptr: *mut Context) -...
  function egraph_get_times_applied (line 458) | pub unsafe extern "C" fn egraph_get_times_applied(ptr: *mut Context, nam...
  function egraph_get_cost (line 472) | pub unsafe extern "C" fn egraph_get_cost(ptr: *mut Context, node_id: u32...
  function egraph_get_size (line 481) | pub unsafe extern "C" fn egraph_get_size(ptr: *mut Context) -> u32 {

FILE: egg-herbie/src/math.rs
  type Constant (line 10) | pub type Constant = num_rational::BigRational;
  type RecExpr (line 11) | pub type RecExpr = egg::RecExpr<Math>;
  type Pattern (line 12) | pub type Pattern = egg::Pattern<Math>;
  type EGraph (line 13) | pub type EGraph = egg::EGraph<Math, ConstantFold>;
  type Rewrite (line 14) | pub type Rewrite = egg::Rewrite<Math, ConstantFold>;
  type Runner (line 15) | pub type Runner = egg::Runner<Math, ConstantFold, IterData>;
  type Iteration (line 16) | pub type Iteration = egg::Iteration<IterData>;
  type IterData (line 18) | pub struct IterData {
    method make (line 59) | fn make(runner: &Runner) -> Self {
  type Extracted (line 22) | pub struct Extracted {
  type AltCost (line 29) | pub struct AltCost<'a> {
  function new (line 34) | pub fn new(egraph: &'a EGraph) -> Self {
  type Cost (line 40) | type Cost = usize;
  function cost (line 42) | fn cost<C>(&mut self, enode: &Math, mut costs: C) -> Self::Cost
  type ConstantFold (line 100) | pub struct ConstantFold {
    type Data (line 130) | type Data = Option<(Constant, (PatternAst<Math>, Subst))>;
    method make (line 131) | fn make(egraph: &mut EGraph, enode: &Math) -> Self::Data {
    method merge (line 238) | fn merge(&mut self, to: &mut Self::Data, from: Self::Data) -> DidMerge {
    method modify (line 255) | fn modify(egraph: &mut EGraph, class_id: Id) {
  method clone (line 107) | fn clone(&self) -> Self {
  method default (line 118) | fn default() -> Self {
  function mk_rules (line 268) | pub fn mk_rules(tuples: &[(&str, &str, &str)]) -> Vec<Rewrite> {

FILE: infra/fidget2core.py
  function parse_node (line 20) | def parse_node(node):
  function recurse_nodes (line 41) | def recurse_nodes(idx):

FILE: infra/test-api.mjs
  function getFreePort (line 9) | function getFreePort() {
  constant PORT (line 20) | const PORT = await getFreePort();
  function waitForPort (line 41) | function waitForPort(port) {
  function makeURL (line 57) | function makeURL(endpoint) {
  constant SAMPLE_SIZE (line 64) | const SAMPLE_SIZE = 8256
  function testAPI (line 71) | async function testAPI(url, body, cb) {
  constant POINTS (line 107) | let POINTS = null;
  function checkLocalErrorNode (line 239) | function checkLocalErrorNode(root, path, name,
  function getNodeFromPath (line 251) | function getNodeFromPath(node, path) {
  function testTranslate (line 285) | async function testTranslate(language, result) {

FILE: src/reports/resources/demo.js
  function tree_errors (line 23) | function tree_errors(tree, expected) /* tree -> list */ {
  function bottom_up (line 100) | function bottom_up(tree, cb) {
  function extract (line 122) | function extract(args) {
  function dump_fpcore (line 126) | function dump_fpcore(formula) {
  function is_comparison (line 145) | function is_comparison(name) {
  function flatten_comparisons (line 149) | function flatten_comparisons(node) {
  function dump_tree (line 187) | function dump_tree(tree, names) {
  function get_unused_var_warnings (line 246) | function get_unused_var_warnings(tree) {
  function get_errors (line 306) | function get_errors() {
  function get_warnings (line 325) | function get_warnings() {
  function check_errors (line 336) | function check_errors() {
  function hide_extra_fields (line 354) | function hide_extra_fields() {
  function Form (line 373) | function Form(form) {
  function get_precondition_from_input_ranges (line 388) | function get_precondition_from_input_ranges(formula) {
  function setup_state (line 397) | function setup_state(state, form) {
  function get_varnames_mathjs (line 442) | function get_varnames_mathjs(mathjs_text) {
  function update_run_button_mathjs (line 452) | function update_run_button_mathjs(form) {
  function get_input_range_errors (line 473) | function get_input_range_errors([low, high] = [undefined, undefined], em...
  function get_input_range_warnings (line 493) | function get_input_range_warnings([low, high] = [undefined, undefined]) {
  function onload (line 500) | function onload() {
  function get_progress (line 649) | function get_progress(loc) {
  function ajax_submit (line 676) | function ajax_submit(url, lisp) {

FILE: src/reports/resources/report-page.js
  function update (line 11) | function update() {
  class DeferredCurveCache (line 16) | class DeferredCurveCache {
    method constructor (line 17) | constructor(readTests) {
    method currentKey (line 24) | currentKey() {
    method get (line 28) | get() {
    method ensure (line 34) | ensure() {
  function Element (line 130) | function Element(tagname, props, children) {
  function calculatePercent (line 150) | function calculatePercent(decimal) {
  function formatTime (line 154) | function formatTime(ms) {
  function calculateSpeedup (line 162) | function calculateSpeedup(mergedCostAccuracy) {
  function paretoUnion (line 177) | function paretoUnion(curve1, curve2) {
  constant PARETO_BLOCK_SIZE (line 226) | const PARETO_BLOCK_SIZE = 32;
  function paretoConvex (line 228) | function paretoConvex(points) {
  function paretoMinimize (line 249) | function paretoMinimize(points) {
  function paretoShift (line 254) | function paretoShift([cost0, error0], frontier) {
  function paretoUnionBalanced (line 258) | function paretoUnionBalanced(curves) {
  function paretoCombineTwo (line 277) | function paretoCombineTwo(combined, frontier) {
  function paretoCombine (line 294) | function paretoCombine(frontiers) {
  function calculateMergedCostAccuracy (line 310) | function calculateMergedCostAccuracy(tests) {
  function getFilteredTests (line 342) | function getFilteredTests() {
  function getFilteredBaselineTests (line 346) | function getFilteredBaselineTests() {
  function getCurveCacheKey (line 350) | function getCurveCacheKey(tests) {
  function toTitleCase (line 358) | function toTitleCase(str) {
  function buildDropdown (line 367) | function buildDropdown(options, selected, placeholder, onChange) {
  function buildHeader (line 381) | function buildHeader(title) {
  function on (line 399) | function on(mark, listeners = {}) {
  function plotXY (line 415) | function plotXY(testsData, otherJsonData) {
  function plotPareto (line 451) | function plotPareto(jsonData, otherJsonData) {
  function buildCheckboxLabel (line 509) | function buildCheckboxLabel(classes, text, boolState) {
  function buildDiffLine (line 516) | function buildDiffLine() {
  function buildCompareForm (line 549) | function buildCompareForm() {
  function summarizeTests (line 577) | function summarizeTests(tests) {
  function buildStats (line 590) | function buildStats(jsonData, mergedCostAccuracy) {
  function buildTableHeader (line 623) | function buildTableHeader(stringName, help) {
  function buildBody (line 642) | function buildBody(jsonData, otherJsonData) {
  function compareTests (line 679) | function compareTests(l, r) {
  function getBaselineTest (line 696) | function getBaselineTest(test) {
  function getVisibleTests (line 700) | function getVisibleTests(jsonData) {
  function buildTableContents (line 708) | function buildTableContents(jsonData) {
  function computeDiffTotal (line 713) | function computeDiffTotal(jsonData) {
  function buildDiffFooter (line 743) | function buildDiffFooter(jsonData, otherJsonData) {
  function getMinimum (line 785) | function getMinimum(target) {
  function buildRow (line 797) | function buildRow(test, other) {
  function buildDiffControls (line 913) | function buildDiffControls() {
  function buildControls (line 929) | function buildControls(jsonData, otherJsonData, diffCount) {
  function buildFilterGroup (line 945) | function buildFilterGroup(name) {
  function countTestsByStatus (line 958) | function countTestsByStatus(tests) {
  function collectSuites (line 966) | function collectSuites(tests) {
  function collectWarnings (line 977) | function collectWarnings(tests) {
  function buildFilterControls (line 987) | function buildFilterControls(jsonData) {
  function showGetJsonError (line 1033) | function showGetJsonError() {
  function filterDirtyEqual (line 1084) | function filterDirtyEqual(baseData, diffData) {
  function filterSuite (line 1131) | function filterSuite(baseData) {
  function filterWarning (line 1139) | function filterWarning(baseData) {
  function filterStatus (line 1143) | function filterStatus(baseData) {
  function filterTest (line 1147) | function filterTest(baseData) {
  function fetchBaseline (line 1156) | async function fetchBaseline(url) {
  function getResultsJson (line 1175) | async function getResultsJson() {

FILE: src/reports/resources/report.js
  function Component (line 3) | function Component(selector, fns) {
  function ComponentInstance (line 9) | function ComponentInstance(elt, component) {
  function Element (line 18) | function Element(tagname, props, children) {
  function pct (line 431) | function pct(val, base) {
  function time (line 435) | function time(s) {
  function path (line 439) | function path(p) {
  function makelabel (line 540) | function makelabel(i, base, factor) {
  function histogram (line 553) | function histogram(id, xdata, ydata, options) {
  function run_components (line 624) | function run_components() {

FILE: www/demo.js
  function tree_errors (line 12) | function tree_errors(tree) /* tree -> list */ {
  function bottom_up (line 57) | function bottom_up(tree, cb) {
  function dump_tree (line 67) | function dump_tree(tree, txt) /* tree string -> string */ {
  function onload (line 98) | function onload() /* null -> null */ {
  function clean_progress (line 162) | function clean_progress(str) {
  function htmlescape (line 174) | function htmlescape(str) {
  function get_progress (line 178) | function get_progress(loc) {
  function ajax_submit (line 197) | function ajax_submit(url, text, lisp) {

FILE: www/doc/1.1/compare.js
  function sort_by (line 6) | function sort_by(i1, i2) {
  function r10 (line 12) | function r10(d) {
  function make_graph (line 16) | function make_graph(node, data, start, end) {
  function draw_results (line 76) | function draw_results(node) {

FILE: www/doc/1.3/toc.js
  function make_toc (line 1) | function make_toc() {

FILE: www/doc/1.4/toc.js
  function make_toc (line 1) | function make_toc() {

FILE: www/doc/1.5/toc.js
  function make_toc (line 1) | function make_toc() {

FILE: www/doc/1.6/toc.js
  function make_toc (line 1) | function make_toc() {

FILE: www/doc/2.0/toc.js
  function make_toc (line 1) | function make_toc() {

FILE: www/doc/2.1/toc.js
  function make_toc (line 1) | function make_toc() {

FILE: www/doc/2.2/toc.js
  function make_toc (line 1) | function make_toc() {

FILE: www/doc/2.3/toc.js
  function make_toc (line 1) | function make_toc() {

FILE: www/graph.js
  function sort_by (line 6) | function sort_by(type) {
  function r10 (line 12) | function r10(d) {
  function make_graph (line 16) | function make_graph(node, data, start, end) {
  function draw_results (line 67) | function draw_results(node) {
Condensed preview — 368 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,771K chars).
[
  {
    "path": ".dockerignore",
    "chars": 57,
    "preview": ".git\n.github\n.gitignore\nreports\npapers\negg-herbie/target\n"
  },
  {
    "path": ".fmt.rkt",
    "chars": 435,
    "preview": "#lang racket/base\n\n(require fmt/conventions)\n\n(provide the-formatter-map)\n\n(define (the-formatter-map s)\n  (case s\n    ["
  },
  {
    "path": ".github/workflows/distribute.yml",
    "chars": 2153,
    "preview": "name: Distribute\n\non:\n  push:\n    branches:\n      - main\n\nenv:\n  RUST_BACKTRACE: full\n\njobs:\n  distribute:\n    strategy:"
  },
  {
    "path": ".github/workflows/plugins.yml",
    "chars": 931,
    "preview": "name: Plugins\n\non: [push]\n\nenv:\n  RUST_BACKTRACE: full\n\njobs:\n  softposit:\n    name: \"Plugin tests (Posits)\"\n    runs-on"
  },
  {
    "path": ".github/workflows/release.yml",
    "chars": 2396,
    "preview": "name: Build new Herbie release\n\non:\n  push:\n    tags:\n    - 'v*'\n\njobs:\n  build:\n    name: Build\n    strategy:\n      mat"
  },
  {
    "path": ".github/workflows/resyntax-autofixer.yml",
    "chars": 1078,
    "preview": "name: Resyntax Autofixer\n\non:\n  workflow_dispatch:\n  schedule:\n    - cron: \"0 0 * * 0\"\n\njobs:\n  autofix:\n    runs-on: ub"
  },
  {
    "path": ".github/workflows/tests.yml",
    "chars": 922,
    "preview": "name: Integration\n\non: [push]\n\nenv:\n  RUST_BACKTRACE: full\n\njobs:\n  hamming:\n    name: \"Integration tests (Hamming)\"\n   "
  },
  {
    "path": ".github/workflows/unit-test.yml",
    "chars": 2815,
    "preview": "name: Unit tests\n\non: [push]\n\nenv:\n  RUST_BACKTRACE: full\n\njobs:\n  unit-tests:\n    name: \"Unit Tests\"\n    runs-on: ubunt"
  },
  {
    "path": ".gitignore",
    "chars": 288,
    "preview": "# OS cruft\n*~\n*.swp\n.DS_Store\n\n# Standard directories\nwww/demo\ndemo.log\ntest.fpcore\ntmp\ntmp-*\ndump-*\n.codex\n\n# Related r"
  },
  {
    "path": "AGENTS.md",
    "chars": 2693,
    "preview": "\n# Formatting\n\n- Use `map` over `for/list` only if it avoids a `lambda`.\n- Always use `in-list` and similar with `for` v"
  },
  {
    "path": "Dockerfile",
    "chars": 1067,
    "preview": "# Multistage build: https://docs.docker.com/develop/develop-images/multistage-build/\n# We build necessary binaries in on"
  },
  {
    "path": "LICENSE.md",
    "chars": 1104,
    "preview": "Copyright (c) 2015-2024 Herbie Project\nModified work Copyright 2016 Google Inc.\n\nPermission is hereby granted, free of c"
  },
  {
    "path": "Makefile",
    "chars": 3154,
    "preview": ".PHONY: help install egg-herbie nightly index start-server deploy coverage\n\nhelp:\n\t@echo \"Type 'make install' to install"
  },
  {
    "path": "README.md",
    "chars": 1972,
    "preview": "![Herbie](logo.png)\n\n\nHerbie automatically improves the error of floating point expressions.\nVisit [our website](https:/"
  },
  {
    "path": "bench/.gitignore",
    "chars": 11,
    "preview": "random.rkt\n"
  },
  {
    "path": "bench/arrays/basic.fpcore",
    "chars": 407,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore first-element ((v 2))\n :name \"First element from 2-element vector input\"\n (ref v 0))\n\n(F"
  },
  {
    "path": "bench/arrays/ops.fpcore",
    "chars": 1215,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore vector-sum ((v 2))\n :name \"Sum two-element vector\"\n :pre (and (<= (fabs (ref v 0)) 1e150"
  },
  {
    "path": "bench/arrays/outputs.fpcore",
    "chars": 1426,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore literal-vector ()\n :name \"Return fixed 2-element array literal\"\n :precision binary64\n (a"
  },
  {
    "path": "bench/demo.fpcore",
    "chars": 6678,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (x y z)\n :name \"fabs fraction 1\"\n (fabs (- (/ (+ x 4) y) (* (/ x y) z))))\n\n(FPCore (a b)"
  },
  {
    "path": "bench/graphics/fidget/bear.fpcore",
    "chars": 85227,
    "preview": "(FPCore (x y z)\n  :name \"The bear head is based on a design by Hazel Fraticelli and Anthony Taconi\"\n  :precision binary6"
  },
  {
    "path": "bench/graphics/fidget/colonnade.fpcore",
    "chars": 11387,
    "preview": "(FPCore (x y z)\n  :name \"Model of a colonnade with a balcony and outside staircase\"\n  :precision binary64\n  (fmin (fmin "
  },
  {
    "path": "bench/graphics/fidget/gyroid-sphere.fpcore",
    "chars": 392,
    "preview": "(FPCore (x y z)\n  :name \"Gyroid sphere\"\n  :precision binary64\n  (let* ([scale 30]\n         [gyroid (+ (+ (* (sin (* x sc"
  },
  {
    "path": "bench/graphics/fidget/hi.fpcore",
    "chars": 550,
    "preview": "(FPCore (x y)\n  :name \"The letters hi in the upper-right quadrant\"\n  :precision binary64\n  (fmin (fmin (fmin (fmin (fmax"
  },
  {
    "path": "bench/graphics/fidget/prospero.fpcore",
    "chars": 231873,
    "preview": "(FPCore\n (x y)\n :name\n \"Text of a monologue from The Tempest\"\n :precision\n binary64\n (fmin\n  (fmin\n   (fmin\n    (fmin\n  "
  },
  {
    "path": "bench/graphics/fidget/quarter.fpcore",
    "chars": 144,
    "preview": "(FPCore (x y)\n  :name \"A quarter-circle in the lower-left quadrant\"\n  :precision binary64\n  (fmax (- (+ (pow y 2) (pow x"
  },
  {
    "path": "bench/graphics/lod.fpcore",
    "chars": 7682,
    "preview": "; -*- mode: scheme -*-\n\n;\n; Level-of-Detail computation\n; Direct3D 11.3\n; Section 7.8.11\n;\n; Texture limits from Section"
  },
  {
    "path": "bench/graphics/log-transform.fpcore",
    "chars": 390,
    "preview": "; This example is taken from the Image Processing domain and referred to \n; as \"Logarithmic Transform\". This in its basi"
  },
  {
    "path": "bench/graphics/pbrt.fpcore",
    "chars": 7878,
    "preview": "(FPCore (cosTheta_i cosTheta_O sinTheta_i sinTheta_O v)\n :name \"HairBSDF, Mp, upper\"\n :precision binary32\n :pre (and (<="
  },
  {
    "path": "bench/hamming/machine-decide.fpcore",
    "chars": 305,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (a x)\n :name \"expax (section 3.5)\"\n ;:herbie-expected 14\n :pre (> 710 (* a x))\n ; Hammin"
  },
  {
    "path": "bench/hamming/overflow-underflow.fpcore",
    "chars": 321,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (x)\n :name \"expq2 (section 3.11)\"\n :pre (> 710 x)\n ; Hamming version (1/1 - e^-x) was no"
  },
  {
    "path": "bench/hamming/quadratic.fpcore",
    "chars": 1906,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (a b c)\n :name \"quadp (p42, positive)\"\n :herbie-expected 10\n ; From Racket Math Lib impl"
  },
  {
    "path": "bench/hamming/rearrangement.fpcore",
    "chars": 4513,
    "preview": "; -*- mode: scheme -*-\n\n; The precondition for this expression is labelled as for large x hence we choose this\n; range t"
  },
  {
    "path": "bench/hamming/series.fpcore",
    "chars": 2636,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (x)\n :name \"expm1 (example 3.7)\"\n ; We want to sample around 0 according to Hamming. We "
  },
  {
    "path": "bench/hamming/trigonometry.fpcore",
    "chars": 5192,
    "preview": "; -*- mode: scheme -*-\n\n; Most of the below functions (except sintan) are subsets of the rearrangement functions. Howeve"
  },
  {
    "path": "bench/haskell.fpcore",
    "chars": 62550,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (x y)\n :name \"Optimisation.CirclePacking:place from circle-packing-0.1.0.4, A\"\n (sqrt (+"
  },
  {
    "path": "bench/libraries/fast-math.fpcore",
    "chars": 1082,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (d1 d2 d3)\n :name \"FastMath dist\"\n :alt \n (! :herbie-platform c\n  (* d1 (+ d2 d3)))\n\n (+"
  },
  {
    "path": "bench/libraries/jmatjs.fpcore",
    "chars": 3524,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (z)\n :name \"Jmat.Real.gamma, branch z greater than 0.5\"\n :pre (> z 0.5)\n (let ((z* (- z "
  },
  {
    "path": "bench/libraries/mathjs/arithmetic.fpcore",
    "chars": 3226,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore modulus (re im)\n :name \"math.abs on complex\"\n (sqrt (+ (* re re) (* im im))))\n\n(FPCore m"
  },
  {
    "path": "bench/libraries/mathjs/complex.fpcore",
    "chars": 85,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (re im)\n :name \"math.arg on complex\"\n (atan2 im re))\n"
  },
  {
    "path": "bench/libraries/mathjs/probability.fpcore",
    "chars": 179,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (u1 u2)\n :name \"normal distribution\"\n :pre (and (<= 0 u1 1) (<= 0 u2 1))\n (+ (* (* (/ 1 "
  },
  {
    "path": "bench/libraries/mathjs/trigonometry.fpcore",
    "chars": 967,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (re im)\n :name \"math.cos on complex, real part\"\n (* (* 0.5 (cos re)) (+ (exp (- im)) (ex"
  },
  {
    "path": "bench/libraries/octave/CollocWt.fpcore",
    "chars": 1319,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (alpha beta)\n :pre (and (> alpha -1) (> beta -1))\n :name \"Octave 3.8, jcobi/1\"\n (let ((a"
  },
  {
    "path": "bench/libraries/octave/randgamma.fpcore",
    "chars": 250,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (a rand)\n :name \"Octave 3.8, oct_fill_randg\"\n (let ((d (- a (/ 1.0 3.0))))\n   (let ((c ("
  },
  {
    "path": "bench/libraries/rust.fpcore",
    "chars": 1139,
    "preview": "(FPCore (x)\n  :name \"Rust f64::asinh\"\n  :spec (asinh x)\n\n  :alt \n  (! :herbie-platform c\n   (let* ([ax (fabs x)] [ix (/ "
  },
  {
    "path": "bench/mathematics/arvind.fpcore",
    "chars": 415,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (a b)\n :name \"Exp of sum of logs\"\n :alt \n (! :herbie-platform c (* a b))\n\n (exp (+ (log "
  },
  {
    "path": "bench/mathematics/beta-distribution.fpcore",
    "chars": 315,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (m v)\n :pre (and (< 0 m) (< 0 v) (< v 0.25))\n :name \"a parameter of renormalized beta di"
  },
  {
    "path": "bench/mathematics/dirichlet-mixture-model.fpcore",
    "chars": 409,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (c_p c_n t s)\n :pre (and (< 0 c_p) (< 0 c_n))\n :name \"Harley's example\"\n :alt \n (! :herb"
  },
  {
    "path": "bench/mathematics/excel.fpcore",
    "chars": 225,
    "preview": "(FPCore (x0 x1)\n  :name \"(- (/ x0 (- 1 x1)) x0)\"\n  :pre (or (and (== x0 1.855) (== x1 0.000209)) (and (== x0 2.985) (== "
  },
  {
    "path": "bench/mathematics/gui.fpcore",
    "chars": 4197,
    "preview": ";; from racket/gui https://github.com/racket/gui/commit/e8decf79852b9dac06ebd91a9aae5c0c3b215c34\n\n;; Robby simplifies th"
  },
  {
    "path": "bench/mathematics/hyperbolic-functions.fpcore",
    "chars": 728,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (x)\n :name \"Hyperbolic sine\"\n (/ (- (exp x) (exp (- x))) 2))\n\n(FPCore (x)\n :name \"Hyperb"
  },
  {
    "path": "bench/mathematics/latlong.fpcore",
    "chars": 2002,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (R lambda1 lambda2 phi1 phi2)\n :name \"Distance on a great circle\"\n (let ((dlambda (- lam"
  },
  {
    "path": "bench/mathematics/logistic-regression.fpcore",
    "chars": 331,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (x y)\n :name \"Logistic regression 2\"\n :alt \n (! :herbie-platform c\n  (if (<= x 0)\n   (- "
  },
  {
    "path": "bench/mathematics/sarnoff.fpcore",
    "chars": 2577,
    "preview": ";; From Jeffrey Sarnoff <jeffrey.sarnoff@gmail.com>\n\n(FPCore (a b c)\n  :name \"Quadratic roots, full range\"\n  (/ (+ (- b)"
  },
  {
    "path": "bench/mathematics/statistics.fpcore",
    "chars": 415,
    "preview": "\n(FPCore (g h a)\n  :name \"2-ancestry mixing, positive discriminant\"\n  (+ (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g"
  },
  {
    "path": "bench/mathematics/symmetry.fpcore",
    "chars": 80,
    "preview": "(FPCore (a b)\n  :name \"symmetry log of sum of exp\"\n  (log (+ (exp a) (exp b))))\n"
  },
  {
    "path": "bench/mathematics/xkcd-expr.fpcore",
    "chars": 103,
    "preview": "(FPCore ()\n  :name \"xkcd217 (a numerical coincidence)\"\n  :precision binary64\n  (- 20 (- (exp PI) PI)))\n"
  },
  {
    "path": "bench/numerics/conte.fpcore",
    "chars": 1241,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (x)\n  :name \"ENA, Section 1.4, Mentioned, A\"\n  :cite (conte-et-al-1980)\n  :pre (<= -0.01"
  },
  {
    "path": "bench/numerics/every-cs.fpcore",
    "chars": 2247,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (a b c)\n :name \"The quadratic formula (r1)\"\n :alt \n (! :herbie-platform c\n  (let ((d (- "
  },
  {
    "path": "bench/numerics/fma.fpcore",
    "chars": 444,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (t)\n :name \"fma_test1\"\n :pre (<= 0.9 t 1.1)\n :alt \n (! :herbie-platform c\n  (let ([x (+ "
  },
  {
    "path": "bench/numerics/great-debate.fpcore",
    "chars": 1264,
    "preview": "(FPCore (y)\n  :name \"Kahan's Monster\"\n  :pre (<= 1 y 9999) ; Integers only in Kahan's example but this is not essential\n"
  },
  {
    "path": "bench/numerics/hamming-misc.fpcore",
    "chars": 404,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (x eps)\n :name \"NMSE Section 6.1 mentioned, A\"\n (/\n  (-\n   (* (+ 1 (/ 1 eps)) (exp (- (*"
  },
  {
    "path": "bench/numerics/kahan.fpcore",
    "chars": 211,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (x)\n :name \"Kahan's exp quotient\"\n :alt \n (! :herbie-platform c\n  (if (and (< x 1) (> x "
  },
  {
    "path": "bench/numerics/libm.fpcore",
    "chars": 224,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (x y z)\n :name \"simple fma test\"\n :alt \n (! :herbie-platform c -1)\n\n (- (fma x y z) (+ 1"
  },
  {
    "path": "bench/numerics/martel.fpcore",
    "chars": 1371,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore ()\n :name \"Rectangular parallelepiped of dimension a×b×c\"\n :alt \n (! :herbie-platform c\n"
  },
  {
    "path": "bench/numerics/polynomial-cancellation.fpcore",
    "chars": 286,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore ()\n :name \"From Warwick Tucker's Validated Numerics\"\n (let ([x 77617] [y 33096])\n   (+ ("
  },
  {
    "path": "bench/numerics/rosa.fpcore",
    "chars": 733,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (u v t1)\n :name \"Rosa's DopplerBench\"\n (/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))\n\n(FPCore "
  },
  {
    "path": "bench/numerics/rump.fpcore",
    "chars": 823,
    "preview": "(FPCore (x y)\n  :name \"Rump's expression from Stadtherr's award speech\"\n  :pre (and (== x 77617) (== y 33096))\n  :spec -"
  },
  {
    "path": "bench/physics/ballistics.fpcore",
    "chars": 117,
    "preview": "\n(FPCore (v H)\n  :name \"Optimal throwing angle\"\n  (let ([g 9.8])\n    (atan (/ v (sqrt (- (* v v) (* (* 2 g) H)))))))\n"
  },
  {
    "path": "bench/physics/dimer-escape.fpcore",
    "chars": 463,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (J K U)\n :name \"Maksimov and Kolovsky, Equation (3)\"\n (* (* (* -2 J) (cos (/ K 2))) (sqr"
  },
  {
    "path": "bench/physics/gated-magnetic-field.fpcore",
    "chars": 254,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)\n :name \"Bulmash initializePoisson\"\n (+\n "
  },
  {
    "path": "bench/physics/gravitation.fpcore",
    "chars": 1838,
    "preview": "; -*- mode: scheme -*-\n\n;; Translated from:\n;; https://github.com/sandialabs/elaenia/blob/main/examples/03_vectors/gravi"
  },
  {
    "path": "bench/physics/kalman.fpcore",
    "chars": 10406,
    "preview": "(FPCore (dt r)\n        :name \"Kalman filter per K\"\n        :pre (and (> dt 0) (> r 0))\n        ; initializing matrices\n "
  },
  {
    "path": "bench/physics/multiphoton-states.fpcore",
    "chars": 266,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (k n)\n :name \"Migdal et al, Equation (51)\"\n (* (/ 1 (sqrt k)) (pow (* (* 2 PI) n) (/ (- "
  },
  {
    "path": "bench/physics/quantum-walk.fpcore",
    "chars": 648,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (v t)\n :name \"Falkner and Boettcher, Equation (20:1,3)\"\n (/\n  (- 1 (* 5 (* v v)))\n  (* ("
  },
  {
    "path": "bench/physics/sidey.fpcore",
    "chars": 497,
    "preview": ";; Code courtesy of Sidey P. Timmins of NASA\n\n;; In the original, x was (- q r)\n(FPCore (p x)\n  :name \"Given's Rotation "
  },
  {
    "path": "bench/physics/superfluidity-breakdown.fpcore",
    "chars": 1119,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (t l Om Omc)\n :name \"Toniolo and Linder, Equation (2)\"\n (asin (sqrt (/ (- 1 (pow (/ Om O"
  },
  {
    "path": "bench/physics/tea-flows.fpcore",
    "chars": 628,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (F l)\n :name \"VandenBroeck and Keller, Equation (6)\"\n (- (* PI l) (* (/ 1 (* F F)) (tan "
  },
  {
    "path": "bench/physics/tea-whistle.fpcore",
    "chars": 613,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (c0 A V l)\n :name \"Henrywood and Agarwal, Equation (3)\"\n (* c0 (sqrt (/ A (* V l)))))\n\n("
  },
  {
    "path": "bench/physics/universal-linear-optics.fpcore",
    "chars": 463,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (a b)\n :name \"Bouland and Aaronson, Equation (24)\"\n (-\n  (+\n   (pow (+ (* a a) (* b b)) "
  },
  {
    "path": "bench/proj/krovak.fpcore",
    "chars": 4117,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (phi0 es)\n :name \"setup-alpha\"\n :pre (and (>= es 0.0)\n           (< es 1.0))\n (sqrt (+ 1"
  },
  {
    "path": "bench/proj/omerc.fpcore",
    "chars": 3870,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (E_var tsfn_phi B)\n :name \"forward-W\"\n (/ E_var (pow tsfn_phi B)))\n\n(FPCore (W)\n :name \""
  },
  {
    "path": "bench/proj/som.fpcore",
    "chars": 3717,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (lam p22 sa t w q)\n :name \"seraz0-s\"\n (let* ([sd (sin lam)]\n        [sdsq (* sd sd)]\n   "
  },
  {
    "path": "bench/proj/somerc.fpcore",
    "chars": 2823,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (phi)\n :name \"forward-tanlog\"\n (log (tan (+ (/ PI 4.0) (* 0.5 phi)))))\n\n(FPCore (phi ecc"
  },
  {
    "path": "bench/proj/tmerc.fpcore",
    "chars": 3607,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (phi)\n :name \"approx-t-guarded\"\n (let ([sinphi (sin phi)]\n       [cosphi (cos phi)])\n   "
  },
  {
    "path": "bench/regression.fpcore",
    "chars": 3313,
    "preview": "; -*- mode: scheme -*-\n\n; This is a cool example that fails in cases of overflow\n\n(FPCore (lo hi x)\n  :name \"xlohi (over"
  },
  {
    "path": "bench/tutorial.fpcore",
    "chars": 230,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (x)\n :name \"Cancel like terms\"\n (- (+ 1 x) x))\n\n(FPCore (x)\n :name \"Expanding a square\"\n"
  },
  {
    "path": "egg-herbie/.gitignore",
    "chars": 88,
    "preview": "target\n**/*.rs.bk\n\ndots/\negg/data/\n\n# nix stuff\n.envrc\ndefault.nix\n\n# Racket\n*.zo\n*.dep\n"
  },
  {
    "path": "egg-herbie/Cargo.toml",
    "chars": 626,
    "preview": "[package]\nname = \"egg-herbie\"\nversion = \"0.3.0\"\nauthors = [ \"Oliver Flatt <oflatt@gmail.com>\", \"Max Willsey <me@mwillsey"
  },
  {
    "path": "egg-herbie/LICENSE",
    "chars": 1050,
    "preview": "Copyright 2019 Max Willsey\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this softwar"
  },
  {
    "path": "egg-herbie/README.md",
    "chars": 789,
    "preview": "# Herbie's FFI to egraphs-good/egg\r\n\r\nThis is a small Rust+Racket package co-developed with Herbie so that\r\nHerbie can b"
  },
  {
    "path": "egg-herbie/info.rkt",
    "chars": 324,
    "preview": "#lang info\n\n(define collection \"egg-herbie\")\n(define version \"2.2\")\n\n(define pkg-desc \"Racket bindings for simplifying m"
  },
  {
    "path": "egg-herbie/main.rkt",
    "chars": 11353,
    "preview": "#lang racket\n\n(require ffi/unsafe\n         ffi/unsafe/define\n         ffi/vector\n         racket/runtime-path)\n\n(provide"
  },
  {
    "path": "egg-herbie/src/lib.rs",
    "chars": 15283,
    "preview": "#![allow(clippy::missing_safety_doc)]\n\npub mod math;\n\nuse egg::{BackoffScheduler, Extractor, FromOp, Id, Language, Simpl"
  },
  {
    "path": "egg-herbie/src/math.rs",
    "chars": 8926,
    "preview": "use egg::*;\nuse std::sync::atomic::{AtomicBool, Ordering};\n\nuse num_bigint::BigInt;\nuse num_integer::Integer;\nuse num_ra"
  },
  {
    "path": "infra/.gitignore",
    "chars": 33,
    "preview": "*.log\n*exceptions*.rkt\ngraphs-*/\n"
  },
  {
    "path": "infra/analyze-rules.rkt",
    "chars": 2373,
    "preview": "#lang racket\n\n(require \"../src/core/egg-herbie.rkt\"\n         \"../src/syntax/batch.rkt\"\n         \"../src/syntax/types.rkt"
  },
  {
    "path": "infra/bench/posit-pherbie.fpcore",
    "chars": 1689,
    "preview": "; -*- mode: scheme -*-\n\n(FPCore (x)\n :name \"2sqrt (example 3.1)\"\n :precision binary32\n :herbie-conversions ((binary32 po"
  },
  {
    "path": "infra/bench/posits.fpcore",
    "chars": 6399,
    "preview": "; -*- mode: scheme -*-\n\n; Herbie cannot properly sample points for this FPCore\n;\n; (FPCore (a b c)\n;  :pre (and (< 0 a) "
  },
  {
    "path": "infra/ci.rkt",
    "chars": 4561,
    "preview": "#lang racket\n\n(require \"../src/utils/common.rkt\"\n         \"../src/core/points.rkt\"\n         \"../src/core/alternative.rkt"
  },
  {
    "path": "infra/convert-demo-json.sh",
    "chars": 739,
    "preview": "#!/bin/bash\n\nif [ \"$#\" -ne 1 ]; then\n    echo \"Usage: supply the directory which contains the demo json files (v10.json,"
  },
  {
    "path": "infra/convert-demo.rkt",
    "chars": 2340,
    "preview": "#lang racket\n\n(require json)\n(require \"../src/core/programs.rkt\")\n\n(define op-map (make-hash `((expt . pow) (sqr . exp2)"
  },
  {
    "path": "infra/convert-json.rkt",
    "chars": 2405,
    "preview": "#lang racket\n\n(require json)\n(require \"../src/core/programs.rkt\")\n\n(define (fix-expr expr pre-fpcore?)\n  (let loop ([exp"
  },
  {
    "path": "infra/coverage.rkt",
    "chars": 17778,
    "preview": "#lang racket\n\n(require cover\n         json\n         racket/cmdline\n         racket/file\n         racket/format\n         "
  },
  {
    "path": "infra/diagrams/.gitignore",
    "chars": 6,
    "preview": "*.png\n"
  },
  {
    "path": "infra/diagrams/1.5/herbie-system.drawio",
    "chars": 4471,
    "preview": "<mxfile host=\"Electron\" modified=\"2022-05-23T20:11:07.584Z\" agent=\"5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
  },
  {
    "path": "infra/diagrams/1.6/herbie-system.drawio",
    "chars": 4675,
    "preview": "<mxfile host=\"Electron\" modified=\"2022-05-23T20:05:01.528Z\" agent=\"5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
  },
  {
    "path": "infra/diagrams/1.6-changes/herbie-system.drawio",
    "chars": 4675,
    "preview": "<mxfile host=\"Electron\" modified=\"2022-05-23T20:05:01.528Z\" agent=\"5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
  },
  {
    "path": "infra/diagrams/2.1/herbie-system.drawio",
    "chars": 29794,
    "preview": "<mxfile host=\"app.diagrams.net\" modified=\"2024-07-16T16:49:51.138Z\" agent=\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_"
  },
  {
    "path": "infra/diff.rkt",
    "chars": 1300,
    "preview": "#lang racket\n\n(require \"../src/api/datafile.rkt\")\n\n(define (field-equal? access t1 t2)\n  (equal? (access t1) (access t2)"
  },
  {
    "path": "infra/fidget2core.py",
    "chars": 1687,
    "preview": "vars = set()\nnodes = []\n\nop_parse = dict({\n            'div':'/',\n            'mul':'*',\n            'add':'+',\n        "
  },
  {
    "path": "infra/herbie-demo.service",
    "chars": 228,
    "preview": "[Unit]\nDescription=The Herbie web demo\nDocumentation=https://herbie.uwplse.org/demo/\nAfter=network.target\n\n[Service]\nExe"
  },
  {
    "path": "infra/merge.rkt",
    "chars": 2985,
    "preview": "#lang racket\n(require json)\n(require \"../src/utils/common.rkt\"\n         \"../src/utils/timeline.rkt\"\n         \"../src/uti"
  },
  {
    "path": "infra/nightly.sh",
    "chars": 1061,
    "preview": "#!/bin/bash\n\n# exit immediately upon first error, log every command executed\nset -e -x\n\n# Ensure egglog is in the path\ne"
  },
  {
    "path": "infra/softposit.rkt",
    "chars": 13610,
    "preview": "#lang s-exp \"../src/syntax/platform-language.rkt\"\n\n;;; Softposit platform, using David Thien's softposit-rkt package for"
  },
  {
    "path": "infra/sort-fpcore.rkt",
    "chars": 861,
    "preview": "#lang racket\n\n(define (read-lines port)\n  (define line (read port))\n  (if (equal? line eof)\n      empty\n      (cons line"
  },
  {
    "path": "infra/survey/.gitignore",
    "chars": 15,
    "preview": ".DS_Store\n.env\n"
  },
  {
    "path": "infra/survey/README.md",
    "chars": 225,
    "preview": "# Dependencies\n\n* [jq](https://stedolan.github.io/jq/)\n* [matplotlib](https://matplotlib.org/)\n* [numpy](https://numpy.o"
  },
  {
    "path": "infra/survey/seed-variance.sh",
    "chars": 4082,
    "preview": "#!/usr/bin/env bash\n\n# exit immediately upon first error\nset -e\n\n# determine physical directory of this script\nsrc=\"${BA"
  },
  {
    "path": "infra/survey/src/plot-results.sh",
    "chars": 2082,
    "preview": "#!/usr/bin/env bash\n\n# determine physical directory of this script\nsrc=\"${BASH_SOURCE[0]}\"\nwhile [ -L \"$src\" ]; do\n  dir"
  },
  {
    "path": "infra/survey/src/seed-bar-chart.py",
    "chars": 554,
    "preview": "import sys\nimport json\nimport matplotlib.pyplot as plt\nimport numpy as np\n\njsonp = sys.argv[1]\nfield = sys.argv[2]\n\nwith"
  },
  {
    "path": "infra/survey/src/seed-violin-plot.py",
    "chars": 430,
    "preview": "import sys\nimport json\nimport matplotlib.pyplot as plt\nimport numpy as np\n\njsonp = sys.argv[1]\nfield = sys.argv[2]\n\nwith"
  },
  {
    "path": "infra/survey/src/test-versus-plot.py",
    "chars": 566,
    "preview": "import sys\nimport json\nimport matplotlib.pyplot as plt\nimport numpy as np\n\njsonp = sys.argv[1]\nx_field = sys.argv[2]\ny_f"
  },
  {
    "path": "infra/survey/src/test-violin-plot.py",
    "chars": 539,
    "preview": "import sys\nimport json\nimport matplotlib.pyplot as plt\nimport numpy as np\n\njsonp = sys.argv[1]\nfield = sys.argv[2]\n\nwith"
  },
  {
    "path": "infra/survey.rkt",
    "chars": 2917,
    "preview": "#lang racket\n(require json\n         xml)\n(require \"../src/api/datafile.rkt\")\n\n(define metrics\n  (list `(start . ,table-r"
  },
  {
    "path": "infra/test-api.mjs",
    "chars": 13388,
    "preview": "// -*- mode: js -*-\n\nimport { strict as assert } from 'node:assert';  // use strict equality everywhere \nimport { spawn "
  },
  {
    "path": "src/api/datafile.rkt",
    "chars": 7392,
    "preview": "#lang racket\n\n(require json\n         racket/date)\n(require \"../syntax/platform.rkt\"\n         \"../syntax/types.rkt\"\n     "
  },
  {
    "path": "src/api/demo.rkt",
    "chars": 22836,
    "preview": "#lang racket\n\n(require json)\n(require racket/exn)\n(require openssl/sha1\n         (rename-in xml [location? xml-location?"
  },
  {
    "path": "src/api/run.rkt",
    "chars": 6970,
    "preview": "#lang racket\n\n(require json\n         math/flonum)\n(require \"../reports/common.rkt\"\n         \"../reports/pages.rkt\"\n     "
  },
  {
    "path": "src/api/sandbox.rkt",
    "chars": 12334,
    "preview": "#lang racket\n\n(require racket/engine\n         math/flonum\n         json)\n\n(require \"../syntax/read.rkt\"\n         \"../syn"
  },
  {
    "path": "src/api/server.rkt",
    "chars": 24835,
    "preview": "#lang racket\n\n(require openssl/sha1)\n(require (only-in xml write-xexpr))\n(require json)\n(require data/queue)\n(require ma"
  },
  {
    "path": "src/api/shell.rkt",
    "chars": 3247,
    "preview": "#lang racket\n\n(require \"../syntax/platform.rkt\"\n         \"../syntax/load-platform.rkt\"\n         \"../syntax/read.rkt\"\n   "
  },
  {
    "path": "src/config.rkt",
    "chars": 8247,
    "preview": "#lang racket\n\n(require racket/hash)\n\n(provide (all-defined-out))\n\n;;; Flags\n\n(define default-flags\n  #hash([precision . "
  },
  {
    "path": "src/core/alt-table.rkt",
    "chars": 9521,
    "preview": "#lang racket\n\n(require racket/hash)\n(require math/flonum)\n(require \"../core/alternative.rkt\"\n         \"../utils/common.r"
  },
  {
    "path": "src/core/alternative.rkt",
    "chars": 1849,
    "preview": "#lang racket\n\n(require \"../syntax/platform.rkt\"\n         \"../syntax/batch.rkt\")\n(provide (struct-out alt)\n         (stru"
  },
  {
    "path": "src/core/arrays.rkt",
    "chars": 6130,
    "preview": "#lang racket\n\n(require racket/hash\n         racket/list\n         \"../syntax/types.rkt\")\n\n(provide flatten-arrays-for-riv"
  },
  {
    "path": "src/core/batch-reduce.rkt",
    "chars": 16566,
    "preview": "#lang racket\n\n(require \"../syntax/batch.rkt\"\n         \"../utils/common.rkt\"\n         \"programs.rkt\")\n\n(provide batch-red"
  },
  {
    "path": "src/core/bsearch.rkt",
    "chars": 9744,
    "preview": "#lang racket\n\n(require math/bigfloat\n         racket/random)\n(require \"../config.rkt\"\n         \"../core/alternative.rkt\""
  },
  {
    "path": "src/core/compiler.rkt",
    "chars": 3685,
    "preview": "#lang racket\n\n(require \"../syntax/syntax.rkt\"\n         \"../syntax/types.rkt\"\n         \"../syntax/platform.rkt\"\n         "
  },
  {
    "path": "src/core/derivations.rkt",
    "chars": 1493,
    "preview": "#lang racket\n\n(require \"../core/alternative.rkt\"\n         \"../syntax/batch.rkt\"\n         \"programs.rkt\"\n         \"egg-he"
  },
  {
    "path": "src/core/egg-herbie.rkt",
    "chars": 49461,
    "preview": "#lang racket\n\n(require egg-herbie\n         (only-in ffi/vector\n                  make-u32vector\n                  u32vec"
  },
  {
    "path": "src/core/egglog-herbie-tests.rkt",
    "chars": 22189,
    "preview": "#lang racket\n\n(require rackunit\n         \"egglog-herbie.rkt\"\n         \"egglog-subprocess.rkt\"\n         \"../syntax/syntax"
  },
  {
    "path": "src/core/egglog-herbie.rkt",
    "chars": 23945,
    "preview": "#lang racket\n\n(require racket/file\n         \"rules.rkt\"\n         \"../syntax/platform.rkt\"\n         \"../syntax/syntax.rkt"
  },
  {
    "path": "src/core/egglog-subprocess.rkt",
    "chars": 3074,
    "preview": "#lang racket\n\n(require \"../config.rkt\")\n\n(provide (struct-out egglog-subprocess)\n         create-new-egglog-subprocess\n "
  },
  {
    "path": "src/core/explain.rkt",
    "chars": 27440,
    "preview": "#lang racket\n\n(require racket/set\n         math/bigfloat\n         math/flonum\n         racket/hash)\n(require \"../utils/c"
  },
  {
    "path": "src/core/localize.rkt",
    "chars": 9907,
    "preview": "#lang racket\n\n(require math/bigfloat\n         math/flonum\n         racket/hash)\n(require \"../utils/common.rkt\"\n         "
  },
  {
    "path": "src/core/mainloop.rkt",
    "chars": 12856,
    "preview": "#lang racket\n\n(require \"../config.rkt\"\n         \"../core/alternative.rkt\"\n         \"../utils/common.rkt\"\n         \"../ut"
  },
  {
    "path": "src/core/patch.rkt",
    "chars": 9446,
    "preview": "#lang racket\n\n(require \"../syntax/platform.rkt\"\n         \"../syntax/syntax.rkt\"\n         \"../syntax/types.rkt\"\n         "
  },
  {
    "path": "src/core/points.rkt",
    "chars": 3409,
    "preview": "#lang racket\n\n(require math/flonum\n         \"../syntax/float.rkt\"\n         \"../syntax/types.rkt\"\n         \"../syntax/bat"
  },
  {
    "path": "src/core/preprocess.rkt",
    "chars": 7900,
    "preview": "#lang racket\n\n(require math/bigfloat)\n(require \"../syntax/platform.rkt\"\n         \"../syntax/syntax.rkt\"\n         \"../syn"
  },
  {
    "path": "src/core/programs.rkt",
    "chars": 8785,
    "preview": "#lang racket\n\n(require \"../utils/common.rkt\"\n         \"../syntax/syntax.rkt\"\n         \"../syntax/platform.rkt\"\n         "
  },
  {
    "path": "src/core/prove-rules.rkt",
    "chars": 8876,
    "preview": "#lang racket\n\n(require rackunit)\n(require \"../utils/common.rkt\"\n         \"../syntax/matcher.rkt\"\n         \"programs.rkt\""
  },
  {
    "path": "src/core/regimes.rkt",
    "chars": 15865,
    "preview": "#lang racket\n\n;;;; Module principles\n;; - The core of this file is infer-option-prefixes.\n;;   It is a giant dynamic pro"
  },
  {
    "path": "src/core/rules.rkt",
    "chars": 28350,
    "preview": "#lang racket\n\n;; Arithmetic identities for rewriting programs.\n\n(require \"../utils/common.rkt\"\n         \"../syntax/synta"
  },
  {
    "path": "src/core/sampling.rkt",
    "chars": 8651,
    "preview": "#lang racket\n(require math/bigfloat\n         math/base\n         (only-in fpbench interval range-table-ref condition->ran"
  },
  {
    "path": "src/core/searchreals.rkt",
    "chars": 4726,
    "preview": "#lang racket\n\n(require math/bigfloat)\n\n(require \"../utils/errors.rkt\"\n         \"../syntax/float.rkt\"\n         \"../utils/"
  },
  {
    "path": "src/core/taylor.rkt",
    "chars": 25168,
    "preview": "#lang racket\n\n(require math/number-theory)\n(require \"../utils/common.rkt\"\n         \"../utils/dvector.rkt\"\n         \"../s"
  },
  {
    "path": "src/core/test-rules.rkt",
    "chars": 2196,
    "preview": "#lang racket\n\n(require rackunit)\n(require \"../utils/common.rkt\"\n         \"../syntax/float.rkt\"\n         \"../syntax/types"
  },
  {
    "path": "src/info.rkt",
    "chars": 1148,
    "preview": "#lang info\n\n(define collection \"herbie\")\n(define version \"2.3\")\n(define license 'MIT)\n\n;; Packaging information\n\n(define"
  },
  {
    "path": "src/main.rkt",
    "chars": 6520,
    "preview": "#lang racket\n\n(require racket/lazy-require\n         racket/runtime-path)\n(require \"config.rkt\"\n         \"utils/multi-com"
  },
  {
    "path": "src/platform.rkt",
    "chars": 182,
    "preview": "#lang racket\n\n(require \"syntax/platform-language.rkt\")\n(provide (all-from-out \"syntax/platform-language.rkt\"))\n(module r"
  },
  {
    "path": "src/platforms/c-windows.rkt",
    "chars": 11741,
    "preview": "#lang s-exp \"../syntax/platform-language.rkt\"\n\n;; C/C++ on Windows platform with a full libm\n\n(require math/flonum)\n\n(de"
  },
  {
    "path": "src/platforms/c.rkt",
    "chars": 14751,
    "preview": "#lang s-exp \"../syntax/platform-language.rkt\"\n\n;; C/C++ platform with a full libm\n\n(require math/flonum)\n\n(define 64bit-"
  },
  {
    "path": "src/platforms/herbie10.rkt",
    "chars": 11457,
    "preview": "#lang s-exp \"../syntax/platform-language.rkt\"\n\n;; Herbie 1.0 platform. Based on the C Windows platform, but with\n;; ever"
  },
  {
    "path": "src/platforms/herbie20.rkt",
    "chars": 11676,
    "preview": "#lang s-exp \"../syntax/platform-language.rkt\"\n\n;; Herbie 2.0 platform. Based on the C Windows platform, but with\n;; ever"
  },
  {
    "path": "src/platforms/julia.rkt",
    "chars": 18058,
    "preview": "#lang s-exp \"../syntax/platform-language.rkt\"\n\n;; Julia platform\n\n(require math/flonum)\n\n(define 64bit-move-cost   1.000"
  },
  {
    "path": "src/platforms/math.rkt",
    "chars": 5794,
    "preview": "#lang s-exp \"../syntax/platform-language.rkt\"\n\n;;; C/C++ on Linux with reduced libm, meaning no special numeric\n;;; func"
  },
  {
    "path": "src/platforms/python.rkt",
    "chars": 7497,
    "preview": "#lang s-exp \"../syntax/platform-language.rkt\"\n\n(require math/flonum)\n\n(define 64bit-move-cost   0.125)\n(define boolean-m"
  },
  {
    "path": "src/platforms/racket.rkt",
    "chars": 4155,
    "preview": "#lang s-exp \"../syntax/platform-language.rkt\"\n\n;;; Racket platform, focusing on racket/base and math/base.\n;;; Therefore"
  },
  {
    "path": "src/platforms/reflow.rkt",
    "chars": 6224,
    "preview": "#lang s-exp \"../syntax/platform-language.rkt\"\n\n;; C/C++ platform with a full libm\n\n(require math/flonum)\n\n(define 64bit-"
  },
  {
    "path": "src/platforms/rival.rkt",
    "chars": 10183,
    "preview": "#lang s-exp \"../syntax/platform-language.rkt\"\n\n;;; Rival correctly-rounded platform\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BOOLE"
  },
  {
    "path": "src/reports/common.rkt",
    "chars": 12197,
    "preview": "#lang racket\n(require (only-in xml write-xexpr xexpr?)\n         racket/runtime-path\n         (only-in fpbench\n          "
  },
  {
    "path": "src/reports/core2mathjs.rkt",
    "chars": 6313,
    "preview": "#lang racket\n\n(require fpbench\n         fpbench/src/fpcore-visitor)\n(provide core->mathjs\n         expr->mathjs\n        "
  },
  {
    "path": "src/reports/data.rkt",
    "chars": 570,
    "preview": "#lang racket\n\n(provide (struct-out table-row)\n         (struct-out report-info))\n\n(struct table-row\n        (name identi"
  },
  {
    "path": "src/reports/history.rkt",
    "chars": 11531,
    "preview": "#lang racket\n\n(require (only-in xml write-xexpr xexpr?)\n         (only-in fpbench core->tex supported-by-lang?)\n        "
  },
  {
    "path": "src/reports/make-graph.rkt",
    "chars": 9662,
    "preview": "#lang racket\n\n(require (only-in xml write-xexpr xexpr?)\n         (only-in fpbench core->tex *expr-cse-able?* [core-commo"
  },
  {
    "path": "src/reports/pages.rkt",
    "chars": 2486,
    "preview": "#lang racket\n\n(require json\n         racket/engine)\n(require \"../syntax/read.rkt\"\n         \"timeline.rkt\"\n         \"plot"
  },
  {
    "path": "src/reports/plot.rkt",
    "chars": 7946,
    "preview": "#lang racket\n\n(require math/bigfloat\n         math/flonum)\n(require \"../core/points.rkt\"\n         \"../syntax/float.rkt\"\n"
  },
  {
    "path": "src/reports/resources/404.html",
    "chars": 450,
    "preview": "<!doctype html>\n<html>\n<head>\n  <meta charset=\"utf-8\" />\n  <title>Herbie Page Not Found</title>\n  <link rel='stylesheet'"
  },
  {
    "path": "src/reports/resources/demo.js",
    "chars": 27256,
    "preview": "CONSTANTS = {\"PI\": \"real\", \"E\": \"real\", \"TRUE\": \"bool\", \"FALSE\": \"bool\"}\n\nFUNCTIONS = {}\n\n\"+ - * / pow copysign fdim fmi"
  },
  {
    "path": "src/reports/resources/main.css",
    "chars": 5024,
    "preview": "html {font-family: sans-serif; font-size: 15px; line-height: 1.2;}\n\nbody {min-width: 400px; max-width: 650px; margin: 3e"
  },
  {
    "path": "src/reports/resources/report-page.js",
    "chars": 38248,
    "preview": "/* The report page uses a dummy-React pattern, where every time the\n * page changes we regenerate the whole HTML content"
  },
  {
    "path": "src/reports/resources/report.css",
    "chars": 14920,
    "preview": "/* Standard Herbie header */\n\n@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&family=IBM+Plex+Sans&f"
  },
  {
    "path": "src/reports/resources/report.html",
    "chars": 318,
    "preview": "<!doctype html>\n<title>Herbie results</title>\n<meta charset=\"utf-8\">\n<link rel=\"stylesheet\" type=\"text/css\" href=\"report"
  },
  {
    "path": "src/reports/resources/report.js",
    "chars": 24320,
    "preview": "window.COMPONENTS = []\n\nfunction Component(selector, fns) {\n    this.selector = selector;\n    this.fns = fns;\n    window"
  },
  {
    "path": "src/reports/timeline.rkt",
    "chars": 23075,
    "preview": "#lang racket\n(require json\n         (only-in xml write-xexpr xexpr?)\n         racket/date)\n(require \"../utils/common.rkt"
  },
  {
    "path": "src/reports/traceback.rkt",
    "chars": 2920,
    "preview": "#lang racket\n\n(require (only-in xml write-xexpr xexpr?))\n(require \"../utils/common.rkt\"\n         \"../syntax/read.rkt\"\n  "
  },
  {
    "path": "src/syntax/batch.rkt",
    "chars": 12164,
    "preview": "#lang racket\n\n(require \"syntax.rkt\"\n         \"../utils/common.rkt\"\n         \"../utils/dvector.rkt\")\n\n(provide progs->bat"
  },
  {
    "path": "src/syntax/float.rkt",
    "chars": 6293,
    "preview": "#lang racket\n\n(require math/base\n         math/bigfloat\n         math/flonum)\n(require \"../utils/common.rkt\"\n         \"."
  },
  {
    "path": "src/syntax/generators.rkt",
    "chars": 2974,
    "preview": "#lang racket\n\n(require math/flonum\n         math/bigfloat\n         ffi/unsafe)\n\n(require \"rival.rkt\"\n         \"../config"
  },
  {
    "path": "src/syntax/load-platform.rkt",
    "chars": 1435,
    "preview": "#lang racket\n(require racket/runtime-path)\n(require \"../config.rkt\"\n         \"../utils/errors.rkt\"\n         \"platform.rk"
  },
  {
    "path": "src/syntax/matcher.rkt",
    "chars": 1456,
    "preview": ";; Minimal pattern matcher/substituter for S-expressions\n\n#lang racket\n\n(provide pattern-match\n         pattern-substitu"
  },
  {
    "path": "src/syntax/platform-language.rkt",
    "chars": 10105,
    "preview": "#lang racket\n\n(require \"platform.rkt\"\n         \"syntax.rkt\"\n         \"types.rkt\"\n         \"generators.rkt\"\n         \"../"
  },
  {
    "path": "src/syntax/platform.rkt",
    "chars": 11816,
    "preview": "#lang racket\n\n(require racket/runtime-path)\n(require \"../utils/common.rkt\"\n         \"../utils/errors.rkt\"\n         \"../c"
  },
  {
    "path": "src/syntax/read.rkt",
    "chars": 11247,
    "preview": "#lang racket\n\n(require \"../utils/common.rkt\"\n         \"../utils/errors.rkt\"\n         \"platform.rkt\"\n         \"sugar.rkt\""
  },
  {
    "path": "src/syntax/rival.rkt",
    "chars": 11877,
    "preview": ";; A narrow shim for Rival's \"machine\" abstraction.\n;; A Rival \"machine\" performs real evaluation for multiple expressio"
  },
  {
    "path": "src/syntax/sugar.rkt",
    "chars": 14359,
    "preview": ";; Expression conversions\n;;\n;; Herbie uses three expression languages.\n;; All formats are S-expressions with variables,"
  },
  {
    "path": "src/syntax/syntax-check.rkt",
    "chars": 10196,
    "preview": "#lang racket\n\n(require syntax/id-set)\n(require \"../utils/common.rkt\"\n         \"../utils/errors.rkt\"\n         \"syntax.rkt"
  },
  {
    "path": "src/syntax/syntax.rkt",
    "chars": 2872,
    "preview": "#lang racket\n\n(require math/bigfloat\n         racket/hash\n         (only-in rival/eval/main rival-functions))\n\n(require "
  },
  {
    "path": "src/syntax/test-syntax.rkt",
    "chars": 758,
    "preview": "#lang racket\n\n(require \"syntax.rkt\"\n         \"platform.rkt\"\n         \"types.rkt\")\n\n(module+ test\n  (require rackunit\n   "
  },
  {
    "path": "src/syntax/type-check.rkt",
    "chars": 12624,
    "preview": "#lang racket\n\n(require \"../utils/common.rkt\"\n         \"../utils/errors.rkt\"\n         \"types.rkt\"\n         \"platform.rkt\""
  }
]

// ... and 168 more files (download for full content)

About this extraction

This page contains the full source code of the uwplse/herbie GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 368 files (19.5 MB), approximately 681.8k tokens, and a symbol index with 178 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!