Herbie run

Date:Thursday, November 21st, 2024
Commit:d1b0bfd6 on main
Hostname:nightly with Racket 8.10
Seed:2024326
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default

Time bar (total: 54.0s)

sample10.5s (19.5%)

Memory
324.0MiB live, 10 887.4MiB allocated
Samples
5.6s70 092×0valid
929.0ms4 208×2valid
578.0ms1 973×0invalid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 4.8s
ival-mult: 1.3s (27.6% of total)
ival-div: 1.1s (22.5% of total)
ival-sub: 675.0ms (14.1% of total)
ival-sqrt: 362.0ms (7.6% of total)
ival-if: 296.0ms (6.2% of total)
ival-add: 216.0ms (4.5% of total)
ival-neg: 214.0ms (4.5% of total)
ival-log: 118.0ms (2.5% of total)
adjust: 113.0ms (2.4% of total)
ival-exp: 113.0ms (2.4% of total)
ival-fabs: 86.0ms (1.8% of total)
ival->=: 60.0ms (1.3% of total)
ival-true: 56.0ms (1.2% of total)
exact: 54.0ms (1.1% of total)
ival-assert: 28.0ms (0.6% of total)
Bogosity

simplify9.6s (17.8%)

Memory
138.7MiB live, 8 654.2MiB allocated
Algorithm
73×egg-herbie
Stop Event
94×iter limit
53×node limit
22×saturated
Counts
2 435 → 2 407

soundness9.4s (17.4%)

Memory
93.9MiB live, 5 178.4MiB allocated
Stop Event
58×iter limit
40×node limit
done
fuel
saturated
Compiler

Compiled 9 999 to 3 769 computations (62.3% saved)

rewrite7.6s (14.1%)

Memory
58.5MiB live, 6 829.0MiB allocated
Stop Event
67×iter limit
30×node limit
unsound
saturated
Counts
372 → 14 373

localize4.3s (7.9%)

Memory
-149.4MiB live, 4 390.0MiB allocated
Samples
1.2s913×2valid
1.2s6 528×0valid
554.0ms651×1valid
259.0ms100×3valid
Compiler

Compiled 7 417 to 795 computations (89.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.4s
ival-mult: 613.0ms (25.6% of total)
ival-pow: 345.0ms (14.4% of total)
ival-add: 298.0ms (12.4% of total)
ival-div: 294.0ms (12.3% of total)
adjust: 220.0ms (9.2% of total)
ival-if: 193.0ms (8.1% of total)
ival-sub: 175.0ms (7.3% of total)
ival-sqrt: 120.0ms (5% of total)
ival-neg: 37.0ms (1.5% of total)
ival-exp: 29.0ms (1.2% of total)
ival-log: 21.0ms (0.9% of total)
ival-fabs: 15.0ms (0.6% of total)
exact: 11.0ms (0.5% of total)
ival-true: 7.0ms (0.3% of total)
ival->=: 7.0ms (0.3% of total)
ival-e: 4.0ms (0.2% of total)
ival-pow2: 3.0ms (0.1% of total)
ival-assert: 3.0ms (0.1% of total)

eval3.8s (7.1%)

Memory
-34.2MiB live, 3 877.2MiB allocated
Compiler

Compiled 880 912 to 68 454 computations (92.2% saved)

explain2.0s (3.7%)

Memory
-118.4MiB live, 1 855.3MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue2780
+.f64#fcancellation1280
-.f64#fcancellation1270
sqrt.f64#fuflow-rescue670
/.f64#fu/n310
-.f64#fnan-rescue240
/.f64#fn/u230
*.f64(*.f64 (/.f64 x y) z)n*o50
*.f64(*.f64 (/.f64 x y) z)n*u30
exp.f64(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))sensitivity10
Confusion
Predicted +Predicted -
+30217
-2141771
Precision
0.5852713178294574
Recall
0.9467084639498433
Confusion?
Predicted +Predicted MaybePredicted -
+302017
-21401771
Precision?
0.5852713178294574
Recall?
0.9467084639498433
Freqs
test
numberfreq
01788
1358
2145
313
Total Confusion?
Predicted +Predicted MaybePredicted -
+400
-104
Precision?
0.8
Recall?
1.0
Samples
515.0ms580×2valid
301.0ms3 646×0valid
71.0ms332×1valid
20.0ms50×3valid
Compiler

Compiled 1 107 to 300 computations (72.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 720.0ms
ival-add: 287.0ms (39.9% of total)
ival-mult: 150.0ms (20.8% of total)
ival-sub: 95.0ms (13.2% of total)
ival-div: 69.0ms (9.6% of total)
adjust: 35.0ms (4.9% of total)
ival-sqrt: 30.0ms (4.2% of total)
ival-log: 11.0ms (1.5% of total)
ival-neg: 11.0ms (1.5% of total)
ival-if: 9.0ms (1.3% of total)
ival-fabs: 5.0ms (0.7% of total)
ival-exp: 4.0ms (0.6% of total)
ival-true: 4.0ms (0.6% of total)
ival->=: 3.0ms (0.4% of total)
exact: 3.0ms (0.4% of total)
ival-assert: 2.0ms (0.3% of total)

preprocess1.5s (2.8%)

Memory
-28.5MiB live, 1 558.0MiB allocated
Algorithm
egg-herbie
Stop Event
18×iter limit
14×saturated
node limit
Compiler

Compiled 11 323 to 1 800 computations (84.1% saved)

regimes1.3s (2.5%)

Memory
-17.1MiB live, 1 365.6MiB allocated
Counts
679 → 123
Calls

26 calls:

193.0ms
b
141.0ms
x
103.0ms
(if (>=.f64 b #s(literal 0 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a)))
102.0ms
(/.f64 (neg.f64 (+.f64 f n)) (-.f64 f n))
79.0ms
z
Compiler

Compiled 1 061 to 935 computations (11.9% saved)

bsearch1.1s (2%)

Memory
61.9MiB live, 730.1MiB allocated
Algorithm
54×binary-search
left-value
Stop Event
53×narrow-enough
predicate-same
Samples
303.0ms3 632×0valid
208.0ms501×0invalid
5.0ms32×2valid
Compiler

Compiled 45 606 to 27 417 computations (39.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 397.0ms
ival-sub: 132.0ms (33.3% of total)
ival-sqrt: 85.0ms (21.4% of total)
ival-mult: 68.0ms (17.1% of total)
ival-div: 49.0ms (12.4% of total)
ival-add: 21.0ms (5.3% of total)
ival-if: 9.0ms (2.3% of total)
ival-neg: 9.0ms (2.3% of total)
ival-fabs: 8.0ms (2% of total)
ival->=: 6.0ms (1.5% of total)
exact: 4.0ms (1% of total)
ival-true: 3.0ms (0.8% of total)
ival-assert: 2.0ms (0.5% of total)
adjust: 1.0ms (0.3% of total)

series1.1s (2%)

Memory
106.3MiB live, 1 197.1MiB allocated
Counts
372 → 2 435
Calls

189 calls:

TimeVariablePointExpression
130.0ms
a
@inf
((- (* b b) (* (* 4 a) c)) (* (+ (* (/ -2 b) (* a (/ c b))) 2) (neg b)) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (>= b 0) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (if (>= b 0) (/ (* -2 c) (+ (sqrt (+ (* (* c a) -4) (* b b))) b)) (* (/ (- (sqrt (+ (* (* c a) -4) (* b b))) b) a) 1/2)) (/ (* -2 c) (+ (sqrt (+ (* (* c a) -4) (* b b))) b)) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (+ (* (/ (sqrt (+ (* (* -4 c) a) (* b b))) a) 2) (* 2 (/ (neg b) a))) (/ (+ (* (/ (sqrt (+ (* (* -4 c) a) (* b b))) a) 2) (* 2 (/ (neg b) a))) 4) (* 2 (/ (neg b) a)) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (- (+ (* c (* a 4)) (* b b)) (* b b)) (* (* (- (neg b) (sqrt (+ (* (* -4 c) a) (* b b)))) 2) a))) (- (+ (* c (* a 4)) (* b b)) (* b b)) (/ (- (+ (* c (* a 4)) (* b b)) (* b b)) (* (* (- (neg b) (sqrt (+ (* (* -4 c) a) (* b b)))) 2) a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* a (/ c b)) (sqrt (+ (* (* c a) -4) (* b b))) (+ (sqrt (+ (* (* c a) -4) (* b b))) b) (- (sqrt (+ (* (* c a) -4) (* b b))) b) (/ (- (sqrt (+ (* (* c a) -4) (* b b))) b) a) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (+ (* (* -4 c) a) (* b b))))
125.0ms
c
@inf
((- (* b b) (* (* 4 a) c)) (* (+ (* (/ -2 b) (* a (/ c b))) 2) (neg b)) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (>= b 0) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (if (>= b 0) (/ (* -2 c) (+ (sqrt (+ (* (* c a) -4) (* b b))) b)) (* (/ (- (sqrt (+ (* (* c a) -4) (* b b))) b) a) 1/2)) (/ (* -2 c) (+ (sqrt (+ (* (* c a) -4) (* b b))) b)) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (+ (* (/ (sqrt (+ (* (* -4 c) a) (* b b))) a) 2) (* 2 (/ (neg b) a))) (/ (+ (* (/ (sqrt (+ (* (* -4 c) a) (* b b))) a) 2) (* 2 (/ (neg b) a))) 4) (* 2 (/ (neg b) a)) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (- (+ (* c (* a 4)) (* b b)) (* b b)) (* (* (- (neg b) (sqrt (+ (* (* -4 c) a) (* b b)))) 2) a))) (- (+ (* c (* a 4)) (* b b)) (* b b)) (/ (- (+ (* c (* a 4)) (* b b)) (* b b)) (* (* (- (neg b) (sqrt (+ (* (* -4 c) a) (* b b)))) 2) a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* a (/ c b)) (sqrt (+ (* (* c a) -4) (* b b))) (+ (sqrt (+ (* (* c a) -4) (* b b))) b) (- (sqrt (+ (* (* c a) -4) (* b b))) b) (/ (- (sqrt (+ (* (* c a) -4) (* b b))) b) a) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (+ (* (* -4 c) a) (* b b))))
26.0ms
x
@inf
((+ (* (/ (neg x) y) z) (/ (+ x 4) y)) (fabs (+ (* (/ (neg x) y) z) (/ (+ x 4) y))) (/ (neg x) y) (neg x) (- (/ (+ x 4) y) (* (/ x y) z)) (* (- 1 z) (/ x y)) (/ x y) (- (/ (+ x 4) y) (* (/ x y) z)) (* x (/ (- 1 z) y)) (/ (- 1 z) y) (- 1 z) (fabs (- (/ (+ x 4) y) (* (/ x y) z))) (- (/ (+ x 4) y) (* (/ x y) z)) (* (neg z) (/ x y)) (neg z) (+ (* (/ x y) (- 1 z)) (/ 4 y)) (fabs (- (/ (+ x 4) y) (* (/ x y) z))) (- (/ (+ x 4) y) (* (/ x y) z)) (+ x 4) (/ (+ x 4) y) (- 1 z))
26.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
c
@inf
((+ (* (/ b a) -1) (/ c b)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (>= b 0) (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)) (+ (sqrt (+ (* (* -4 c) a) (* b b))) (neg b)) (if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (* c (/ 2 (+ (sqrt (+ (* (* -4 c) a) (* b b))) (neg b))))) (+ (* (neg b) b) (+ (* (* -4 c) a) (* b b))) (- (* b b) (* (* 4 a) c)) (if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (* (+ (sqrt (+ (* (* -4 c) a) (* b b))) b) (* 2 (/ c (+ (* (neg b) b) (+ (* (* -4 c) a) (* b b))))))) (* (pow a -1) (+ (* (neg b) b) (+ (* (* -4 c) a) (* b b)))) (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) (* (/ (* (pow a -1) (+ (* (neg b) b) (+ (* (* -4 c) a) (* b b)))) (- (sqrt (+ (* (* -4 c) a) (* b b))) b)) -1/2) (/ (* c 2) (- (sqrt (+ (* (* c a) -4) (* b b))) b))) (sqrt (- (* b b) (* (* 4 a) c))) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (/ (* a c) b) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (sqrt (+ (* (* -4 c) a) (* b b))) (* c (/ 2 (+ (sqrt (+ (* (* -4 c) a) (* b b))) (neg b)))) (sqrt (- (* b b) (* (* 4 a) c))) (+ (sqrt (+ (* (* -4 c) a) (* b b))) b) (sqrt (+ (* (* c a) -4) (* b b))) (- (sqrt (+ (* (* -4 c) a) (* b b))) b))

prune1.1s (2%)

Memory
-101.4MiB live, 1 402.3MiB allocated
Counts
16 430 → 293
Compiler

Compiled 26 014 to 11 756 computations (54.8% saved)

analyze686.0ms (1.3%)

Memory
-32.7MiB live, 543.9MiB 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...