Herbie run

Date:Thursday, May 9th, 2024
Commit:14fae366 on spec-rewriting
Hostname:nightly with Racket 8.11.1
Seed:2024130
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:avg-errorreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default

Time bar (total: 20.2min)

soundness4.4min (21.7%)

Rules
1991130×accelerator-lowering-fma.f32
1991130×accelerator-lowering-fma.f64
1000876×*-lowering-*.f32
1000876×*-lowering-*.f64
588750×+-lowering-+.f32
Stop Event
18×saturated
237×iter limit
39×fuel
211×node limit
unsound
16×done
Compiler

Compiled 40501 to 21065 computations (48% saved)

simplify4.0min (19.6%)

Algorithm
458×egg-herbie
Rules
3608370×accelerator-lowering-fma.f32
3608370×accelerator-lowering-fma.f64
1402752×*-lowering-*.f32
1402752×*-lowering-*.f64
908256×+-lowering-+.f32
Stop Event
402×iter limit
171×saturated
287×node limit
Counts
53196 → 53196

eval2.9min (14.4%)

Compiler

Compiled 15947328 to 615889 computations (96.1% saved)

localize2.2min (11%)

Results
1.5min2285×5exit
13.8s38940×0valid
6.7s4446×1valid
2.4s4508×0invalid
1.5s926×2valid
106.0ms93×1invalid
97.0ms174×0unsamplable
54.0ms43×2invalid
47.0ms1unsamplable
21.0ms15×3invalid
12.0ms11×3valid
8.0ms4valid
Compiler

Compiled 71573 to 5852 computations (91.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.7min
ival-acos: 50.5s (48.9% of total)
ival-pow: 15.9s (15.4% of total)
backward-pass: 14.0s (13.5% of total)
ival-div: 7.9s (7.6% of total)
ival-mult: 5.3s (5.2% of total)
ival-add: 2.2s (2.1% of total)
...c/correct-round.rkt:119:19: 1.6s (1.5% of total)
ival-log: 1.1s (1.1% of total)
ival-asin: 1.0s (1% of total)
ival-sub: 875.0ms (0.8% of total)
compiled-spec: 632.0ms (0.6% of total)
ival-sqrt: 474.0ms (0.5% of total)
ival-sin: 310.0ms (0.3% of total)
ival-atan2: 289.0ms (0.3% of total)
ival-exp: 274.0ms (0.3% of total)
ival-cos: 272.0ms (0.3% of total)
const: 167.0ms (0.2% of total)
ival-copysign: 116.0ms (0.1% of total)
ival-pi: 89.0ms (0.1% of total)
ival-fabs: 84.0ms (0.1% of total)
ival-neg: 65.0ms (0.1% of total)
ival-cosh: 19.0ms (0% of total)
ival-sinh: 5.0ms (0% of total)

sample2.0min (10%)

Results
52.1s434226×0valid
32.3s7695×5exit
13.1s29245×1valid
3.1s6727×2valid
590.0ms4493×0unsamplable
209.0ms406×3valid
61.0ms517×0invalid
Precisions
Click to see histograms. Total time spent on operations: 1.4min
ival-sin: 23.7s (29% of total)
ival-mult: 18.1s (22.1% of total)
ival-add: 6.8s (8.3% of total)
...c/correct-round.rkt:119:19: 6.1s (7.4% of total)
ival-div: 5.5s (6.7% of total)
ival-sub: 3.1s (3.8% of total)
backward-pass: 3.0s (3.7% of total)
ival-exp: 2.8s (3.4% of total)
ival-log: 2.0s (2.4% of total)
ival-sqrt: 1.9s (2.3% of total)
ival-cos: 1.4s (1.7% of total)
ival-pow: 1.3s (1.6% of total)
ival-asin: 1.0s (1.3% of total)
ival-atan2: 796.0ms (1% of total)
const: 743.0ms (0.9% of total)
ival->: 678.0ms (0.8% of total)
ival-<=: 525.0ms (0.6% of total)
ival-pi: 494.0ms (0.6% of total)
ival-fabs: 457.0ms (0.6% of total)
ival-neg: 366.0ms (0.4% of total)
ival-asinh: 280.0ms (0.3% of total)
ival-acosh: 276.0ms (0.3% of total)
ival-atanh: 236.0ms (0.3% of total)
ival->=: 152.0ms (0.2% of total)
ival-and: 82.0ms (0.1% of total)
Bogosity

rewrite1.8min (9%)

Algorithm
201×batch-egg-rewrite
Rules
830258×accelerator-lowering-fma.f32
830258×accelerator-lowering-fma.f64
771772×*-lowering-*.f32
771772×*-lowering-*.f64
618692×/-lowering-/.f64
Stop Event
saturated
221×iter limit
192×node limit
unsound
Counts
2891 → 131599

prune1.4min (6.8%)

Counts
236567 → 3853
Compiler

Compiled 238976 to 98989 computations (58.6% saved)

series24.2s (2%)

Counts
2891 → 53196
Calls

10617 calls:

TimeVariablePointExpression
3.8s
x
@0
(/ (- (pow (+ 1 (/ (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))))) (/ (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))) (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x)))))))) 3) (* (pow (+ 1 (/ (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))))) (/ (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))) (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x)))))))) 2) (* (+ 1 (/ (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))))) (/ (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))) (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x)))))))) (pow (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x)))) 3)))) (pow (+ 1 (/ (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))))) (/ (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))) (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 2871848519189792942908228021/1000000000000000000000000000 (pow (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x)))) 3)) (* (+ 1 (* 3275911/10000000 (fabs x))) (+ 2020417023103615081/1000000000000000000 (* (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x)))) (- (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x)))) 1421413741/1000000000)))))) (+ 1 (* 3275911/10000000 (fabs x)))))))) 4))
1.3s
x
@0
(- (pow (+ 1 (/ (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))))) (/ (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))) (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x)))))))) 3) (* (pow (+ 1 (/ (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))))) (/ (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))) (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x)))))))) 2) (* (+ 1 (/ (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))))) (/ (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))) (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x)))))))) (pow (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x)))) 3))))
1.0s
x
@0
(/ (- (pow (+ 1 (/ (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))))) (/ (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))) (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x)))))))) 3) (* (pow (+ 1 (/ (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))))) (/ (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))) (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x)))))))) 2) (* (+ 1 (/ (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))))) (/ (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))) (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x)))))))) (pow (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x)))) 3)))) (pow (+ 1 (/ (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))))) (/ (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))) (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x)))))))) 4))
549.0ms
x
@0
(- (pow (+ 1 (/ (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))))) (/ (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))) (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x)))))))) 3) (pow (* (pow (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x)))) 2) (pow (+ 1 (* (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x)))) (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))))))) 2)) 3/2))
415.0ms
x
@0
(/ (- (* 1 (+ 1 (* (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x)))) (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x)))))))) (* (+ 1 (* (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x)))) (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))))))) (pow (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x)))) 3))) (* (+ 1 (* (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x)))) (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x))))))) (+ 1 (* (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x)))) (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (+ 1 (* 3275911/10000000 (fabs x))))) (* (+ 1 (* 3275911/10000000 (fabs x))) (exp (* x x)))))))))

preprocess20.7s (1.7%)

Algorithm
114×egg-herbie
Rules
299290×accelerator-lowering-fma.f32
299290×accelerator-lowering-fma.f64
81926×*-lowering-*.f32
81926×*-lowering-*.f64
55342×+-lowering-+.f32
Stop Event
77×saturated
57×iter limit
37×node limit
Compiler

Compiled 38318 to 12324 computations (67.8% saved)

regimes15.4s (1.3%)

Counts
14406 → 1061
Calls

130 calls:

1.7s
im
1.7s
re
1.0s
x
890.0ms
y.re
591.0ms
x.re
Compiler

Compiled 5795 to 3785 computations (34.7% saved)

bsearch14.3s (1.2%)

Algorithm
528×binary-search
27×left-value
Stop Event
15×predicate-same
513×narrow-enough
Results
6.8s52473×0valid
3.0s6538×1valid
181.0ms349×2valid
Compiler

Compiled 130355 to 84096 computations (35.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.2s
ival-mult: 2.3s (31.4% of total)
ival-exp: 1.0s (14.5% of total)
ival-sin: 994.0ms (13.9% of total)
ival-add: 567.0ms (7.9% of total)
ival-cos: 401.0ms (5.6% of total)
ival-log: 401.0ms (5.6% of total)
ival-sub: 341.0ms (4.8% of total)
ival-sqrt: 315.0ms (4.4% of total)
ival-atan2: 227.0ms (3.2% of total)
ival-div: 221.0ms (3.1% of total)
backward-pass: 197.0ms (2.7% of total)
const: 80.0ms (1.1% of total)
...c/correct-round.rkt:119:19: 52.0ms (0.7% of total)
ival-neg: 45.0ms (0.6% of total)
ival-fabs: 18.0ms (0.3% of total)
ival-copysign: 15.0ms (0.2% of total)
ival-pi: 3.0ms (0% of total)

explain10.1s (0.8%)

Results
3.7s24838×0valid
2.2s3654×1valid
274.0ms564×2valid
84.0ms110×5exit
9.0ms18×3valid
Compiler

Compiled 13779 to 2169 computations (84.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.9s
ival-mult: 1.2s (31.9% of total)
ival-add: 498.0ms (12.8% of total)
...c/correct-round.rkt:119:19: 344.0ms (8.8% of total)
ival-exp: 277.0ms (7.1% of total)
ival-div: 262.0ms (6.7% of total)
ival-log: 242.0ms (6.2% of total)
backward-pass: 206.0ms (5.3% of total)
ival-sub: 136.0ms (3.5% of total)
ival-sqrt: 126.0ms (3.2% of total)
compiled-spec: 99.0ms (2.5% of total)
ival-sin: 77.0ms (2% of total)
ival-asin: 73.0ms (1.9% of total)
ival-cos: 65.0ms (1.7% of total)
const: 56.0ms (1.4% of total)
ival-atan2: 54.0ms (1.4% of total)
ival-fabs: 46.0ms (1.2% of total)
ival-pow: 46.0ms (1.2% of total)
ival-pi: 19.0ms (0.5% of total)
ival-neg: 16.0ms (0.4% of total)
ival-copysign: 16.0ms (0.4% of total)

analyze3.6s (0.3%)

Algorithm
58×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%86.3%13.7%0%0%0%0
53.4%46.1%40.2%13.7%0%0%0%1
62.8%53.1%31.4%13.7%0%1.7%0%2
71.2%58.4%23.6%13.7%0%4.3%0%3
77.4%62%18.1%13.7%0%6.2%0%4
83.5%66.8%13.2%13.7%0%6.3%0%5
85.8%68.3%11.3%13.7%0%6.6%0%6
88.3%70.3%9.4%13.7%0%6.6%0%7
89.9%71.5%8%13.7%0%6.8%0%8
91.1%72.5%7.1%13.7%0%6.8%0%9
92.6%73.6%5.9%13.7%0%6.8%0%10
94%74.7%4.8%13.7%0%6.8%0%11
94.5%75.1%4.4%13.7%0%6.9%0%12
Compiler

Compiled 1558 to 790 computations (49.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.3s
ival-mult: 813.0ms (34.7% of total)
ival-add: 338.0ms (14.4% of total)
ival-log: 241.0ms (10.3% of total)
...c/correct-round.rkt:119:19: 207.0ms (8.8% of total)
ival-sqrt: 185.0ms (7.9% of total)
ival-div: 130.0ms (5.5% of total)
ival-sub: 102.0ms (4.4% of total)
ival-pow: 83.0ms (3.5% of total)
ival-atan2: 70.0ms (3% of total)
ival-exp: 60.0ms (2.6% of total)
ival-sin: 23.0ms (1% of total)
const: 21.0ms (0.9% of total)
ival-cos: 15.0ms (0.6% of total)
ival->: 14.0ms (0.6% of total)
ival-pi: 13.0ms (0.6% of total)
ival-<=: 11.0ms (0.5% of total)
ival-neg: 7.0ms (0.3% of total)
backward-pass: 6.0ms (0.3% of total)
ival-and: 2.0ms (0.1% of total)
ival-asin: 1.0ms (0% of total)
ival-atanh: 1.0ms (0% of total)
ival-asinh: 0.0ms (0% of total)
ival->=: 0.0ms (0% of total)
ival-fabs: 0.0ms (0% of total)
ival-acosh: 0.0ms (0% of total)

end0.0ms (0%)

Profiling

Loading profile data...