Herbie run

Date:Monday, August 5th, 2024
Commit:2.2 on release
Hostname:nightly with Racket 8.11.1
Seed:2024218
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: 27.4min)

soundness5.7min (20.8%)

Memory
-298.6MiB live, 41 262.0MiB allocated
Rules
2 058 952×lower-fma.f32
2 058 498×lower-fma.f64
1 007 234×lower-*.f32
1 005 864×lower-*.f64
569 746×lower-+.f32
Stop Event
344×iter limit
217×node limit
33×fuel
21×done
unsound
saturated
Compiler

Compiled 34 753 to 15 223 computations (56.2% saved)

rewrite4.9min (18%)

Memory
184.8MiB live, 98 419.1MiB allocated
Algorithm
190×batch-egg-rewrite
Rules
985 276×lower-fma.f32
984 430×lower-fma.f64
746 140×lower-*.f32
744 024×lower-*.f64
597 908×lower-/.f32
Stop Event
396×iter limit
181×node limit
saturated
unsound
Counts
2 463 → 129 195

prune4.0min (14.8%)

Memory
-221.9MiB live, 68 767.1MiB allocated
Counts
216 778 → 3 198
Compiler

Compiled 148 174 to 66 956 computations (54.8% saved)

sample3.6min (13%)

Memory
1 505.9MiB live, 138 612.7MiB allocated
Samples
2.6min438 625×0valid
25.9s3 932×5exit
7.9s22 358×1valid
4.1s8 775×2valid
1.6s9 883×0exit
309.0ms896×3valid
45.0ms459×0invalid
Precisions
Click to see histograms. Total time spent on operations: 1.2min
ival-sin: 20.4s (28.7% of total)
ival-mult: 13.6s (19.1% of total)
ival-add: 5.2s (7.3% of total)
const: 5.2s (7.3% of total)
adjust: 4.6s (6.4% of total)
ival-div: 3.9s (5.4% of total)
ival-exp: 3.3s (4.6% of total)
ival-sub: 2.7s (3.8% of total)
ival-hypot: 2.3s (3.2% of total)
ival-log: 2.3s (3.2% of total)
ival-cos: 1.3s (1.8% of total)
ival-asin: 1.1s (1.6% of total)
ival-sqrt: 1.0s (1.5% of total)
ival-atan2: 617.0ms (0.9% of total)
ival-pi: 517.0ms (0.7% of total)
ival-pow: 384.0ms (0.5% of total)
exact: 378.0ms (0.5% of total)
ival->: 300.0ms (0.4% of total)
ival-true: 285.0ms (0.4% of total)
ival-asinh: 280.0ms (0.4% of total)
ival-acosh: 279.0ms (0.4% of total)
ival-<=: 255.0ms (0.4% of total)
ival-neg: 250.0ms (0.4% of total)
ival-fabs: 197.0ms (0.3% of total)
ival-assert: 190.0ms (0.3% of total)
ival-atanh: 139.0ms (0.2% of total)
ival->=: 112.0ms (0.2% of total)
ival-and: 75.0ms (0.1% of total)
Bogosity

localize3.3min (12.2%)

Memory
209.6MiB live, 36 322.4MiB allocated
Samples
50.7s3 104×1valid
34.4s40 123×0valid
1.6s1 313×2valid
1.5s3 309×0invalid
233.0ms284×2exit
164.0ms292×1exit
92.0ms182×0exit
87.0ms113×3valid
16.0ms25×5exit
1.0ms4valid
Compiler

Compiled 50 692 to 5 225 computations (89.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 55.4s
ival-add: 29.5s (53.2% of total)
ival-mult: 19.9s (36% of total)
ival-div: 1.2s (2.2% of total)
const: 863.0ms (1.6% of total)
ival-log: 701.0ms (1.3% of total)
adjust: 472.0ms (0.9% of total)
ival-sub: 339.0ms (0.6% of total)
ival-sqrt: 337.0ms (0.6% of total)
ival-cos: 316.0ms (0.6% of total)
ival-hypot: 288.0ms (0.5% of total)
ival-sin: 212.0ms (0.4% of total)
ival-exp: 210.0ms (0.4% of total)
ival-pow: 193.0ms (0.3% of total)
ival-asin: 182.0ms (0.3% of total)
ival-neg: 116.0ms (0.2% of total)
ival-copysign: 96.0ms (0.2% of total)
ival-acos: 75.0ms (0.1% of total)
ival-pow2: 69.0ms (0.1% of total)
ival-atan2: 64.0ms (0.1% of total)
exact: 63.0ms (0.1% of total)
ival-fabs: 50.0ms (0.1% of total)
ival-true: 43.0ms (0.1% of total)
ival-log1p: 29.0ms (0.1% of total)
ival-pi: 25.0ms (0% of total)
ival-assert: 21.0ms (0% of total)
ival-cosh: 14.0ms (0% of total)

simplify2.6min (9.6%)

Memory
-799.3MiB live, 164 416.6MiB allocated
Algorithm
435×egg-herbie
Rules
3 617 884×lower-fma.f32
3 617 026×lower-fma.f64
1 279 976×lower-*.f32
1 277 688×lower-*.f64
841 126×lower-+.f32
Stop Event
569×iter limit
265×node limit
173×saturated
Counts
45 612 → 44 920

eval1.9min (7%)

Memory
1 211.3MiB live, 64 556.9MiB allocated
Compiler

Compiled 11 055 782 to 506 513 computations (95.4% saved)

preprocess19.9s (1.2%)

Memory
-15.7MiB live, 21 323.4MiB allocated
Algorithm
57×egg-herbie
Rules
296 104×lower-fma.f64
296 104×lower-fma.f32
79 264×lower-*.f32
78 898×lower-*.f64
56 582×lower-+.f32
Stop Event
114×iter limit
76×saturated
38×node limit
Compiler

Compiled 38 928 to 10 198 computations (73.8% saved)

explain19.9s (1.2%)

Memory
-248.9MiB live, 19 792.2MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue12220
-.f64#fcancellation7362
/.f64#fo/o6590
/.f64#fo/n2030
sqrt.f32#foflow-rescue1940
sin.f64#fsensitivity1810
cos.f64(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))sensitivity1800
sqrt.f64#fuflow-rescue1620
+.f64#fcancellation1620
log.f64(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) #s(literal 1 binary64)))))sensitivity1400
-.f64#fnan-rescue1140
log.f32(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) #s(literal 1 binary32)))))sensitivity1030
/.f64#fn/o810
*.f64#fn*u710
/.f64#fu/u640
/.f64#fu/n400
+.f64#fnan-rescue370
*.f64#fn*o330
/.f64#fn/u150
exp.f64#fsensitivity70
log.f32(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))oflow-rescue50
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))overflow5
(*.f32 x x)overflow117
(-.f32 (*.f32 x x) #s(literal 1 binary32))overflow117
*.f64(*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64)))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)))))o*u20
(*.f64 (sqrt.f64 (*.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64))))overflow2
(pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64)))overflow2
(exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64))))underflow2
cos.f64(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))oflow-rescue10
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))overflow1
(*.f64 x.re x.re)overflow75
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow119
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow56
sin.f64(sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))oflow-rescue10
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))overflow1
(*.f64 x.re x.re)overflow75
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow119
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow56
Confusion
Predicted +Predicted -
+364850
-18510709
Precision
0.9517349334724758
Recall
0.9864791779340184
Confusion?
Predicted +Predicted MaybePredicted -
+3648050
-185210707
Precision?
0.951238591916558
Recall?
0.9864791779340184
Freqs
test
numberfreq
010759
13257
2572
34
Total Confusion?
Predicted +Predicted MaybePredicted -
+3800
-2017
Precision?
0.95
Recall?
1.0
Samples
3.6s25 910×0valid
1.2s2 320×1valid
858.0ms906×2valid
25.0ms44×3valid
2.0ms5exit
Compiler

Compiled 15 068 to 2 968 computations (80.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0s
ival-mult: 1.3s (33.4% of total)
ival-add: 518.0ms (13% of total)
const: 290.0ms (7.3% of total)
ival-div: 283.0ms (7.1% of total)
ival-log: 231.0ms (5.8% of total)
ival-exp: 210.0ms (5.3% of total)
ival-sub: 188.0ms (4.7% of total)
adjust: 181.0ms (4.5% of total)
ival-hypot: 174.0ms (4.4% of total)
ival-asin: 108.0ms (2.7% of total)
ival-sin: 81.0ms (2% of total)
ival-pow: 79.0ms (2% of total)
ival-atan2: 64.0ms (1.6% of total)
ival-cos: 57.0ms (1.4% of total)
ival-sqrt: 51.0ms (1.3% of total)
ival-true: 27.0ms (0.7% of total)
ival-neg: 27.0ms (0.7% of total)
exact: 20.0ms (0.5% of total)
ival-fabs: 17.0ms (0.4% of total)
ival-pi: 16.0ms (0.4% of total)
ival-copysign: 14.0ms (0.4% of total)
ival-assert: 12.0ms (0.3% of total)
ival-log1p: 7.0ms (0.2% of total)

regimes16.5s (1%)

Memory
-316.5MiB live, 20 056.6MiB allocated
Counts
10 491 → 972
Calls

122 calls:

1.0s
re
994.0ms
im
668.0ms
x
631.0ms
(cos.f64 re)
563.0ms
y.re
Compiler

Compiled 16 158 to 9 376 computations (42% saved)

series12.5s (0.8%)

Memory
-221.5MiB live, 13 413.7MiB allocated
Counts
2 463 → 45 612
Calls

8769 calls:

TimeVariablePointExpression
545.0ms
x
@0
(/ (- (* 1 (+ (* (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))) (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))))) 1)) (* (+ (* (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))) (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))))) 1) (pow (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))) 3))) (* (+ (* (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))) (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))))) 1) (+ (* (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))) (+ 1 (/ (+ 31853699/125000000 (/ (+ -8890523/31250000 (/ (+ 1421413741/1000000000 (/ (+ -1453152027/1000000000 (/ 1061405429/1000000000 (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (+ (* 3275911/10000000 (fabs x)) 1))) (* (+ (* 3275911/10000000 (fabs x)) 1) (exp (* x x)))))) 1)))
241.0ms
im
@-inf
(/ (* re 1/2) im)
227.0ms
y.re
@inf
(- (* (log (sqrt (* x.im x.im))) y.re) (* (atan2 x.im x.re) y.im))
180.0ms
base
@0
(/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0)))
122.0ms
y.im
@0
(+ (* (log (sqrt (* (/ (* (+ (* x.re x.re) (* x.im x.im)) (* (+ x.re x.im) (- x.re x.im))) (* (+ (* x.re (* x.re x.re)) (* x.im (* x.im x.im))) (- (* x.re (* x.re x.re)) (* x.im (* x.im x.im))))) (+ (* (* x.im x.im) (+ (* x.re x.re) (* x.im x.im))) (* x.re (* x.re (* x.re x.re))))))) y.im) (* (atan2 x.im x.re) y.re))

bsearch4.0s (0.2%)

Memory
49.4MiB live, 5 023.6MiB allocated
Algorithm
294×left-value
214×binary-search
Stop Event
212×narrow-enough
predicate-same
Samples
1.9s13 570×0valid
671.0ms1 387×1valid
35.0ms95×2valid
5.0ms20×3valid
Compiler

Compiled 57 259 to 37 141 computations (35.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0s
ival-mult: 682.0ms (33.6% of total)
ival-hypot: 440.0ms (21.7% of total)
ival-add: 196.0ms (9.7% of total)
ival-log: 157.0ms (7.7% of total)
ival-atan2: 88.0ms (4.3% of total)
ival-sin: 88.0ms (4.3% of total)
ival-sub: 74.0ms (3.6% of total)
const: 74.0ms (3.6% of total)
ival-exp: 53.0ms (2.6% of total)
ival-div: 51.0ms (2.5% of total)
adjust: 46.0ms (2.3% of total)
ival-cos: 46.0ms (2.3% of total)
ival-sqrt: 12.0ms (0.6% of total)
ival-true: 12.0ms (0.6% of total)
ival-assert: 6.0ms (0.3% of total)
exact: 5.0ms (0.2% of total)

analyze2.7s (0.2%)

Memory
-81.2MiB live, 3 459.3MiB allocated
Algorithm
58×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%86.3%13.7%0%0%0%0
55.4%47.8%38.5%13.7%0%0%0%1
65.9%55.7%28.9%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 1 498 to 821 computations (45.2% saved)

end0.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated

Profiling

Loading profile data...