Herbie run

Date:Friday, September 6th, 2024
Commit:425312a4 on zane-concrete-values
Hostname:nightly with Racket 8.11.1
Seed:2024250
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: 1.1min)

sample12.6s (19.7%)

Memory
359.3MiB live, 11 351.1MiB allocated
Samples
8.0s70 166×0valid
988.0ms4 127×2valid
247.0ms1 908×0invalid
1.0ms11×1valid
Precisions
Click to see histograms. Total time spent on operations: 6.6s
ival-mult: 1.8s (26.7% of total)
ival-div: 1.6s (23.5% of total)
ival-sub: 1.0s (15.6% of total)
ival-sqrt: 748.0ms (11.3% of total)
ival-add: 518.0ms (7.8% of total)
ival-neg: 231.0ms (3.5% of total)
ival-fabs: 163.0ms (2.5% of total)
ival->=: 116.0ms (1.8% of total)
ival-log: 103.0ms (1.6% of total)
adjust: 94.0ms (1.4% of total)
ival-exp: 84.0ms (1.3% of total)
ival-if: 77.0ms (1.2% of total)
ival-true: 52.0ms (0.8% of total)
exact: 51.0ms (0.8% of total)
ival-assert: 27.0ms (0.4% of total)
Bogosity

eval10.3s (16.1%)

Memory
157.6MiB live, 11 045.0MiB allocated
Compiler

Compiled 1 282 622 to 95 033 computations (92.6% saved)

simplify9.9s (15.5%)

Memory
-108.9MiB live, 9 913.5MiB allocated
Algorithm
73×egg-herbie
Rules
399 258×lower-fma.f32
399 196×lower-fma.f64
182 404×lower-*.f32
182 198×lower-*.f64
92 780×lower-+.f32
Stop Event
94×iter limit
41×node limit
34×saturated
Counts
9 780 → 9 580

rewrite8.7s (13.6%)

Memory
-46.3MiB live, 8 403.7MiB allocated
Rules
142 762×lower-fma.f32
142 700×lower-fma.f64
119 582×lower-/.f32
119 358×lower-/.f64
118 072×lower-*.f32
Stop Event
68×iter limit
30×node limit
unsound
saturated
Counts
385 → 19 391

soundness7.4s (11.6%)

Memory
62.0MiB live, 3 896.8MiB allocated
Rules
246 426×lower-fma.f32
246 414×lower-fma.f64
150 006×lower-*.f32
149 920×lower-*.f64
69 430×lower-/.f32
Stop Event
47×iter limit
31×node limit
fuel
done
saturated
Compiler

Compiled 3 818 to 2 190 computations (42.6% saved)

localize3.7s (5.8%)

Memory
74.7MiB live, 5 499.4MiB allocated
Samples
1.4s6 209×0valid
773.0ms902×2valid
435.0ms537×1valid
168.0ms148×3valid
77.0ms396×0exit
Compiler

Compiled 7 174 to 724 computations (89.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.9s
ival-div: 471.0ms (24.6% of total)
ival-mult: 338.0ms (17.6% of total)
ival-add: 232.0ms (12.1% of total)
ival-sub: 183.0ms (9.6% of total)
adjust: 142.0ms (7.4% of total)
ival-exp: 141.0ms (7.4% of total)
ival-sqrt: 125.0ms (6.5% of total)
ival-if: 109.0ms (5.7% of total)
ival-pow: 49.0ms (2.6% of total)
ival-neg: 42.0ms (2.2% of total)
ival-log: 33.0ms (1.7% of total)
ival-fabs: 18.0ms (0.9% of total)
exact: 10.0ms (0.5% of total)
ival-e: 6.0ms (0.3% of total)
ival-true: 6.0ms (0.3% of total)
ival->=: 6.0ms (0.3% of total)
ival-assert: 3.0ms (0.2% of total)

prune3.7s (5.7%)

Memory
-65.4MiB live, 4 416.6MiB allocated
Counts
36 587 → 365
Compiler

Compiled 17 774 to 9 888 computations (44.4% saved)

explain2.2s (3.5%)

Memory
-199.9MiB live, 1 901.9MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue2540
-.f64#fcancellation1220
+.f64#fcancellation1071
sqrt.f64#fuflow-rescue800
/.f64#fn/u260
/.f64#fu/n260
-.f64#fnan-rescue160
*.f64(*.f64 (/.f64 x y) z)n*u100
*.f64(*.f64 (/.f64 x y) z)n*o90
Confusion
Predicted +Predicted -
+29713
-2281766
Precision
0.5657142857142857
Recall
0.9580645161290322
Confusion?
Predicted +Predicted MaybePredicted -
+297013
-22821764
Precision?
0.5635673624288425
Recall?
0.9580645161290322
Freqs
test
numberfreq
01779
1404
2117
34
Total Confusion?
Predicted +Predicted MaybePredicted -
+400
-014
Precision?
0.8
Recall?
1.0
Samples
532.0ms588×2valid
315.0ms3 684×0valid
76.0ms274×1valid
24.0ms62×3valid
Compiler

Compiled 1 107 to 300 computations (72.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 536.0ms
ival-mult: 221.0ms (41.3% of total)
ival-div: 77.0ms (14.4% of total)
ival-neg: 63.0ms (11.8% of total)
ival-sub: 45.0ms (8.4% of total)
ival-sqrt: 43.0ms (8% of total)
adjust: 33.0ms (6.2% of total)
ival-add: 15.0ms (2.8% of total)
ival-if: 9.0ms (1.7% of total)
ival-log: 6.0ms (1.1% of total)
ival->=: 5.0ms (0.9% of total)
ival-fabs: 5.0ms (0.9% of total)
ival-exp: 4.0ms (0.7% of total)
ival-true: 4.0ms (0.7% of total)
exact: 3.0ms (0.6% of total)
ival-assert: 2.0ms (0.4% of total)

preprocess1.8s (2.9%)

Memory
93.9MiB live, 1 536.1MiB allocated
Algorithm
egg-herbie
Rules
11 858×lower-fma.f32
11 858×lower-fma.f64
5 976×div-sub
5 512×lower-*.f32
5 482×lower-*.f64
Stop Event
18×iter limit
13×saturated
node limit
Compiler

Compiled 3 209 to 1 114 computations (65.3% saved)

series1.5s (2.3%)

Memory
46.0MiB live, 1 659.8MiB allocated
Counts
385 → 9 780
Calls

186 calls:

TimeVariablePointExpression
75.0ms
b
@inf
((/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (- (* b b) (* (* 4 a) c)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (>= b 0) (sqrt (- (* b b) (* (* 4 a) c))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))))
40.0ms
a
@-inf
((/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (- (* b b) (* (* 4 a) c)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (>= b 0) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (/ 1 (* (/ 1/2 c) (- b (sqrt (+ (* (* -4 c) a) (* b b)))))) (+ (* b b) (+ (* (* a 4) c) (* b b))) (* (+ (* b b) (+ (* (* a 4) c) (* b b))) (pow (- (sqrt (+ (* (* -4 c) a) (* b b))) b) -1)) (/ (* 2 c) (* (+ (* b b) (+ (* (* a 4) c) (* b b))) (pow (- (sqrt (+ (* (* -4 c) a) (* b b))) b) -1))) (sqrt (- (* b b) (* (* 4 a) c))) (sqrt (- (* b b) (* (* 4 a) c))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (sqrt (+ (* (* -4 c) a) (* b b))) (- b (sqrt (+ (* (* -4 c) a) (* b b)))) (/ (+ (* b b) (+ (* (* a 4) c) (* b b))) (* (- (sqrt (+ (* (* -4 c) a) (* b b))) b) (* -2 a))))
34.0ms
b
@inf
((/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (- (* b b) (* (* 4 a) c)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (>= b 0) (sqrt (- (* b b) (* (* 4 a) c))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)))
27.0ms
x
@0
((neg (log (- (/ 1 x) 1))) (log x) (neg (log (- (/ 1 x) 1))) (+ (log x) x) (neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (+ (* 1/2 x) 1))
25.0ms
a
@inf
((if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (if (>= b 0) (* (/ (+ (sqrt (+ (* -4 (* c a)) (* b b))) b) a) -1/2) (/ (* 2 c) (- (sqrt (+ (* -4 (* c a)) (* b b))) b))) (>= b 0) (* (/ (+ (sqrt (+ (* -4 (* c a)) (* b b))) b) a) -1/2) (if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (* (- (/ c (* b b)) (/ 1 a)) b) (/ 2 (/ (- (sqrt (+ (* (* -4 c) a) (* b b))) b) c)) (- (* b b) (* (* 4 a) c)) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (/ (- (* 1 (* 2 a)) (* (/ (* 2 a) (neg b)) (sqrt (- (* b b) (* (* 4 a) c))))) (* (/ (* 2 a) (neg b)) (* 2 a))) (- (* 1 (* 2 a)) (* (/ (* 2 a) (neg b)) (sqrt (- (* b b) (* (* 4 a) c))))) (* 1 (* 2 a)) (* (/ (* 2 a) (neg b)) (* 2 a)) (sqrt (+ (* -4 (* c a)) (* b b))) (+ (sqrt (+ (* -4 (* c a)) (* b b))) b) (- (sqrt (+ (* -4 (* c a)) (* b b))) b) (/ (* 2 c) (- (sqrt (+ (* -4 (* c a)) (* b b))) b)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (neg b) (sqrt (- (* b b) (* (* 4 a) c))) (* (- (/ 1 b) (/ (/ b a) c)) c) (sqrt (- (* b b) (* (* 4 a) c))) (sqrt (+ (* (* -4 c) a) (* b b))) (- (sqrt (+ (* (* -4 c) a) (* b b))) b) (sqrt (- (* b b) (* (* 4 a) c))) (sqrt (- (* b b) (* (* 4 a) c))) (- (* b b) (* (* 4 a) c)))

regimes1.0s (1.6%)

Memory
69.4MiB live, 1 718.1MiB allocated
Counts
623 → 91
Calls

26 calls:

150.0ms
b
132.0ms
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
111.0ms
x
89.0ms
a
59.0ms
c
Compiler

Compiled 1 011 to 856 computations (15.3% saved)

bsearch581.0ms (0.9%)

Memory
37.9MiB live, 704.4MiB allocated
Algorithm
32×binary-search
left-value
Stop Event
25×narrow-enough
predicate-same
Samples
236.0ms2 688×0valid
71.0ms211×0invalid
11.0ms64×2valid
Compiler

Compiled 9 193 to 7 448 computations (19% saved)

Precisions
Click to see histograms. Total time spent on operations: 243.0ms
ival-mult: 130.0ms (53.4% of total)
ival-div: 37.0ms (15.2% of total)
ival-sub: 21.0ms (8.6% of total)
ival-add: 16.0ms (6.6% of total)
ival-sqrt: 9.0ms (3.7% of total)
ival-fabs: 6.0ms (2.5% of total)
ival-if: 5.0ms (2.1% of total)
ival->=: 5.0ms (2.1% of total)
ival-neg: 5.0ms (2.1% of total)
exact: 3.0ms (1.2% of total)
ival-true: 2.0ms (0.8% of total)
adjust: 1.0ms (0.4% of total)
ival-assert: 1.0ms (0.4% of total)

analyze462.0ms (0.7%)

Memory
-20.4MiB live, 665.0MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
22.2%22.2%77.7%0.1%0%0%0%1
29.4%27.8%66.6%0.1%0%5.6%0%2
50%44.4%44.4%0.1%0%11.1%0%3
59.7%51.3%34.7%0.1%0%13.9%0%4
67.2%56.9%27.7%0.1%0%15.3%0%5
74.4%62.4%21.5%0.1%0%16%0%6
78.9%64.9%17.3%0.1%0%17.7%0%7
80.8%66.3%15.8%0.1%0%17.9%0%8
85.9%69.9%11.5%0.1%0%18.5%0%9
88%70.7%9.7%0.1%0%19.6%0%10
90%72.1%8%0.1%0%19.8%0%11
92.3%73.5%6.2%0.1%0%20.3%0%12
Compiler

Compiled 153 to 106 computations (30.7% saved)

start0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated

end0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

Profiling

Loading profile data...