Herbie run

Date:Tuesday, August 6th, 2024
Commit:2.2 on release
Hostname:nightly with Racket 8.11.1
Seed:2024219
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.0min)

soundness9.1min (33.7%)

Memory
-254.6MiB live, 40 046.6MiB allocated
Rules
2 059 160×lower-fma.f32
2 058 732×lower-fma.f64
1 020 560×lower-*.f32
1 019 338×lower-*.f64
593 520×lower-+.f32
Stop Event
330×iter limit
214×node limit
34×fuel
20×done
unsound
saturated
Compiler

Compiled 33 355 to 14 662 computations (56% saved)

rewrite5.4min (20%)

Memory
913.0MiB live, 104 015.6MiB allocated
Algorithm
192×batch-egg-rewrite
Rules
1 000 918×lower-fma.f32
1 000 132×lower-fma.f64
781 618×lower-*.f32
779 466×lower-*.f64
586 074×lower-/.f32
Stop Event
404×iter limit
182×node limit
saturated
unsound
Counts
2 483 → 134 101

prune3.5min (13%)

Memory
-729.4MiB live, 63 273.7MiB allocated
Counts
221 263 → 3 285
Compiler

Compiled 157 408 to 70 394 computations (55.3% saved)

simplify3.4min (12.6%)

Memory
558.2MiB live, 171 729.4MiB allocated
Algorithm
440×egg-herbie
Rules
3 606 604×lower-fma.f32
3 605 802×lower-fma.f64
1 282 634×lower-*.f32
1 280 326×lower-*.f64
865 594×lower-+.f32
Stop Event
575×iter limit
261×node limit
182×saturated
Counts
45 768 → 45 032

sample1.8min (6.6%)

Memory
1 103.2MiB live, 142 569.5MiB allocated
Samples
46.6s438 824×0valid
24.7s3 778×5exit
7.1s22 284×1valid
3.8s8 611×2valid
634.0ms7 853×0exit
350.0ms539×0invalid
292.0ms874×3valid
Precisions
Click to see histograms. Total time spent on operations: 1.1min
ival-sin: 19.6s (29.4% of total)
ival-mult: 12.7s (19% of total)
adjust: 4.9s (7.3% of total)
ival-add: 4.8s (7.1% of total)
const: 4.0s (6% of total)
ival-div: 3.5s (5.2% of total)
ival-exp: 2.9s (4.3% of total)
ival-hypot: 2.7s (4% of total)
ival-log: 2.6s (3.9% of total)
ival-sub: 1.9s (2.8% of total)
ival-asin: 1.3s (2% of total)
ival-sqrt: 853.0ms (1.3% of total)
ival-atan2: 807.0ms (1.2% of total)
ival-cos: 796.0ms (1.2% of total)
ival-<=: 413.0ms (0.6% of total)
ival-pi: 370.0ms (0.6% of total)
exact: 337.0ms (0.5% of total)
ival->: 319.0ms (0.5% of total)
ival-pow: 312.0ms (0.5% of total)
ival-asinh: 292.0ms (0.4% of total)
ival-true: 256.0ms (0.4% of total)
ival-neg: 238.0ms (0.4% of total)
ival-atanh: 226.0ms (0.3% of total)
ival-acosh: 214.0ms (0.3% of total)
ival-fabs: 213.0ms (0.3% of total)
ival->=: 191.0ms (0.3% of total)
ival-assert: 179.0ms (0.3% of total)
ival-and: 74.0ms (0.1% of total)
Bogosity

regimes1.0min (3.8%)

Memory
-275.2MiB live, 22 190.5MiB allocated
Counts
10 472 → 955
Calls

128 calls:

41.2s
x
4.6s
(*.f64 #s(literal 2 binary64) (asin.f64 (sqrt.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 2 binary64)))))
1.2s
im
1.2s
re
513.0ms
(sin.f64 re)
Compiler

Compiled 15 567 to 9 382 computations (39.7% saved)

localize1.0min (3.7%)

Memory
27.6MiB live, 37 289.8MiB allocated
Samples
21.5s3 545×1valid
9.4s39 775×0valid
1.7s4 126×0invalid
1.4s1 191×2valid
206.0ms330×1exit
110.0ms135×0exit
79.0ms55×3valid
17.0ms11×2exit
9.0ms11×4valid
Compiler

Compiled 49 959 to 5 181 computations (89.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 30.5s
ival-mult: 23.0s (75.4% of total)
ival-div: 1.6s (5.1% of total)
ival-add: 1.3s (4.3% of total)
const: 724.0ms (2.4% of total)
ival-log: 714.0ms (2.3% of total)
adjust: 413.0ms (1.4% of total)
ival-sub: 375.0ms (1.2% of total)
ival-exp: 359.0ms (1.2% of total)
ival-sqrt: 343.0ms (1.1% of total)
ival-hypot: 278.0ms (0.9% of total)
ival-asin: 236.0ms (0.8% of total)
ival-sin: 180.0ms (0.6% of total)
ival-pow: 171.0ms (0.6% of total)
ival-cos: 129.0ms (0.4% of total)
ival-copysign: 126.0ms (0.4% of total)
ival-acos: 113.0ms (0.4% of total)
ival-neg: 103.0ms (0.3% of total)
ival-atan2: 94.0ms (0.3% of total)
exact: 56.0ms (0.2% of total)
ival-pow2: 52.0ms (0.2% of total)
ival-fabs: 42.0ms (0.1% of total)
ival-true: 38.0ms (0.1% of total)
ival-log1p: 32.0ms (0.1% of total)
ival-pi: 27.0ms (0.1% of total)
ival-assert: 19.0ms (0.1% of total)
ival-cosh: 16.0ms (0.1% of total)
ival-expm1: 2.0ms (0% of total)

eval56.8s (3.5%)

Memory
361.7MiB live, 73 591.8MiB allocated
Compiler

Compiled 13 330 190 to 539 692 computations (96% saved)

preprocess19.4s (1.2%)

Memory
166.7MiB live, 23 615.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 36 872 to 9 736 computations (73.6% saved)

explain14.0s (0.9%)

Memory
-450.6MiB live, 22 434.6MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue11770
-.f64#fcancellation7944
/.f64#fo/o6140
sin.f64#fsensitivity1960
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)))sensitivity1930
/.f64#fo/n1880
sqrt.f32#foflow-rescue1840
+.f64#fcancellation1450
sqrt.f64#fuflow-rescue1430
log.f64(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) #s(literal 1 binary64)))))sensitivity1320
log.f32(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) #s(literal 1 binary32)))))sensitivity1275
-.f64#fnan-rescue1020
/.f64#fn/o930
*.f64#fn*u600
/.f64(/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 #s(literal 2 binary64) i) (*.f64 #s(literal 2 binary64) i)))u/u590
(*.f64 (*.f64 i i) (*.f64 i i))underflow92
(*.f64 i i)underflow118
(*.f64 (*.f64 #s(literal 2 binary64) i) (*.f64 #s(literal 2 binary64) i))underflow59
+.f64#fnan-rescue520
*.f64#fn*o400
/.f64#fu/n380
/.f64#fn/u90
*.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*u30
(*.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))))overflow3
(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)))overflow3
(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))))underflow3
log.f32#foflow-rescue20
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)overflow59
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow103
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow66
exp.f64(exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))sensitivity10
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)overflow59
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow103
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow66
Confusion
Predicted +Predicted -
+359946
-19710750
Precision
0.9481032665964173
Recall
0.9873799725651577
Confusion?
Predicted +Predicted MaybePredicted -
+3599640
-197510745
Precision?
0.9469398476490675
Recall?
0.9890260631001372
Freqs
test
numberfreq
010796
13240
2554
32
Total Confusion?
Predicted +Predicted MaybePredicted -
+3700
-0020
Precision?
1.0
Recall?
1.0
Samples
3.2s25 726×0valid
981.0ms2 500×1valid
553.0ms906×2valid
21.0ms52×3valid
Compiler

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

Precisions
Click to see histograms. Total time spent on operations: 3.4s
ival-mult: 980.0ms (29.2% of total)
ival-div: 446.0ms (13.3% of total)
ival-add: 340.0ms (10.1% of total)
const: 202.0ms (6% of total)
ival-exp: 200.0ms (6% of total)
ival-log: 194.0ms (5.8% of total)
adjust: 186.0ms (5.5% of total)
ival-hypot: 180.0ms (5.4% of total)
ival-sub: 168.0ms (5% of total)
ival-asin: 69.0ms (2.1% of total)
ival-sin: 68.0ms (2% of total)
ival-sqrt: 64.0ms (1.9% of total)
ival-cos: 59.0ms (1.8% of total)
ival-atan2: 55.0ms (1.6% of total)
ival-true: 24.0ms (0.7% of total)
ival-pow: 23.0ms (0.7% of total)
exact: 19.0ms (0.6% of total)
ival-pi: 17.0ms (0.5% of total)
ival-fabs: 16.0ms (0.5% of total)
ival-copysign: 12.0ms (0.4% of total)
ival-assert: 12.0ms (0.4% of total)
ival-neg: 11.0ms (0.3% of total)
ival-log1p: 8.0ms (0.2% of total)

series10.8s (0.7%)

Memory
-227.3MiB live, 14 586.7MiB allocated
Counts
2 483 → 45 768
Calls

8559 calls:

TimeVariablePointExpression
380.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)))
279.0ms
im
@-inf
(* (+ 0 (log (/ (log base) (atan2 im re)))) -1)
132.0ms
y.im
@0
(cos (* y.im (* 1/2 (log (+ (* x.im x.im) (* x.re x.re))))))
128.0ms
x
@-inf
(sqrt (+ x -1))
127.0ms
x.re
@0
(* (cos (* y.re (atan2 x.im x.re))) (pow (neg x.im) y.re))

bsearch3.9s (0.2%)

Memory
87.2MiB live, 5 350.7MiB allocated
Algorithm
283×left-value
202×binary-search
Stop Event
192×narrow-enough
10×predicate-same
Samples
1.6s14 463×0valid
838.0ms1 693×1valid
89.0ms204×2valid
19.0ms72×3valid
Compiler

Compiled 51 996 to 33 713 computations (35.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.9s
ival-mult: 631.0ms (32.8% of total)
ival-log: 242.0ms (12.6% of total)
ival-hypot: 198.0ms (10.3% of total)
ival-add: 179.0ms (9.3% of total)
ival-sin: 113.0ms (5.9% of total)
ival-exp: 101.0ms (5.3% of total)
adjust: 89.0ms (4.6% of total)
ival-atan2: 81.0ms (4.2% of total)
const: 75.0ms (3.9% of total)
ival-sub: 73.0ms (3.8% of total)
ival-cos: 54.0ms (2.8% of total)
ival-div: 48.0ms (2.5% of total)
ival-sqrt: 15.0ms (0.8% of total)
ival-true: 12.0ms (0.6% of total)
ival-assert: 6.0ms (0.3% of total)
exact: 5.0ms (0.3% of total)

analyze2.7s (0.2%)

Memory
-57.7MiB live, 3 492.5MiB 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.0MiB live, 0.9MiB allocated

Profiling

Loading profile data...