Herbie run

Date:Tuesday, April 1st, 2025
Commit:1da4fb0e on main
Seed:2025091
Parameters:256 points for 4 iterations
Flags:
reduce:regimesreduce:binary-searchreduce:branch-expressionsreduce:simplifysetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default
Memory:34 763.2 MB

Time bar (total: 26.5s)

sample8.5s (32.2%)

Memory
220.6MiB live, 10 877.5MiB allocated; 3.7s collecting garbage
Samples
4.7s70 157×0valid
1.0s4 142×2valid
146.0ms1 908×0invalid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 3.2s
ival-mult!: 730.0ms (22.6% of total)
ival-div!: 610.0ms (18.9% of total)
ival-sqrt: 585.0ms (18.1% of total)
ival-neg: 445.0ms (13.8% of total)
ival-sub!: 337.0ms (10.4% of total)
adjust: 116.0ms (3.6% of total)
ival-fabs: 116.0ms (3.6% of total)
ival-add!: 115.0ms (3.6% of total)
ival-log: 101.0ms (3.1% of total)
ival-exp: 71.0ms (2.2% of total)
ival-if: 4.0ms (0.1% of total)
ival->=: 3.0ms (0.1% of total)
Bogosity

rewrite5.6s (21.2%)

Memory
117.8MiB live, 6 802.6MiB allocated; 1.0s collecting garbage
Stop Event
81×iter-limit
28×node-limit
unsound
saturated
Counts
5 010 → 7 922

preprocess2.5s (9.5%)

Memory
167.1MiB live, 2 560.2MiB allocated; 585ms collecting garbage
Stop Event
18×iter-limit
16×node-limit
saturated
Compiler

Compiled 13 271 to 2 454 computations (81.5% saved)

derivations2.0s (7.6%)

Memory
-0.0MiB live, 2 451.2MiB allocated; 275ms collecting garbage
Stop Event
done
fuel
Compiler

Compiled 5 770 to 702 computations (87.8% saved)

eval1.8s (6.7%)

Memory
-111.7MiB live, 2 898.4MiB allocated; 446ms collecting garbage
Compiler

Compiled 569 769 to 42 642 computations (92.5% saved)

explain1.4s (5.4%)

Memory
8.5MiB live, 2 023.9MiB allocated; 304ms collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue2580
+.f64#fcancellation1310
-.f64#fcancellation1100
sqrt.f64#fuflow-rescue740
/.f64#fn/u230
/.f64#fu/n210
-.f64#fnan-rescue180
*.f64#fn*o60
*.f64(*.f64 (/.f64 x y) z)n*u60
/.f64#fn/o20
exp.f64(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))sensitivity10
/.f64(/.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))o/n10
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))overflow1
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))overflow96
(*.f64 #s(literal 4 binary64) a)overflow1
(*.f64 (*.f64 #s(literal 4 binary64) a) c)overflow25
(*.f64 b b)overflow78
Confusion
Predicted +Predicted -
+29616
-2091783
Precision
0.5861386138613861
Recall
0.9487179487179487
Confusion?
Predicted +Predicted MaybePredicted -
+296016
-20901783
Precision?
0.5861386138613861
Recall?
0.9487179487179487
Freqs
test
numberfreq
01799
1365
2134
36
Total Confusion?
Predicted +Predicted MaybePredicted -
+500
-004
Precision?
1.0
Recall?
1.0
Samples
211.0ms3 686×0valid
179.0ms582×2valid
90.0ms302×1valid
13.0ms38×3valid
Compiler

Compiled 1 107 to 300 computations (72.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 262.0ms
adjust: 54.0ms (20.6% of total)
ival-mult!: 50.0ms (19.1% of total)
ival-div!: 46.0ms (17.5% of total)
ival-sqrt: 34.0ms (13% of total)
ival-sub!: 25.0ms (9.5% of total)
ival-neg: 12.0ms (4.6% of total)
ival-if: 10.0ms (3.8% of total)
ival-fabs: 9.0ms (3.4% of total)
ival-add!: 9.0ms (3.4% of total)
ival-log: 6.0ms (2.3% of total)
ival-exp: 4.0ms (1.5% of total)
ival->=: 3.0ms (1.1% of total)

series1.2s (4.5%)

Memory
-160.6MiB live, 1 740.6MiB allocated; 162ms collecting garbage
Counts
772 → 4 238
Calls

186 calls:

TimeVariablePointExpression
52.0ms
c
@inf
((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 (+ (* (* -4 a) c) (* b b))) b)) (* (- (/ (sqrt (+ (* (* -4 a) c) (* b b))) a) (/ b a)) 1/2)) (>= b 0) b 0 (/ (* -2 c) (+ (sqrt (+ (* (* -4 a) c) (* b b))) b)) (* -2 c) -2 c (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) (sqrt (+ (* (* -4 a) c) (* b b))) (+ (* (* -4 a) c) (* b b)) (* -4 a) -4 a (* b b) (* (- (/ (sqrt (+ (* (* -4 a) c) (* b b))) a) (/ b a)) 1/2) (- (/ (sqrt (+ (* (* -4 a) c) (* b b))) a) (/ b a)) (/ (sqrt (+ (* (* -4 a) c) (* b b))) a) (/ b a) 1/2 (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))))) (neg (/ (+ (* 1/2 b) (neg (sqrt (* (* a c) -1)))) a)) (/ (+ (* 1/2 b) (neg (sqrt (* (* a c) -1)))) a) (+ (* 1/2 b) (neg (sqrt (* (* a c) -1)))) (neg (sqrt (* (* a c) -1))) (sqrt (* (* a c) -1)) (* (* a c) -1) (* a c) -1 (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (neg (sqrt (* (/ c a) -1))) (sqrt (* (/ c a) -1)) (* (/ c a) -1) (/ c a) (if (>= b 0) (/ (* 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)))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (neg b) (sqrt (- (* b b) (* (* 4 a) c))) (- (* b b) (* (* 4 a) c)) (* -4 (* a c)) (* 2 a) 2 (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))))) (neg (/ (+ (* 1/2 b) (neg (sqrt (* (* a c) -1)))) a)) (/ (+ (* 1/2 b) (neg (sqrt (* (* a c) -1)))) a) (+ (* 1/2 (/ b a)) (sqrt (* (/ c a) -1))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (- (* b b) (* (* 4 a) c)) (* (* 4 a) c) (* 4 a) 4 (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))))) (* 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)))) (* (+ (* (/ b c) -1) (sqrt (* (/ a c) -4))) c) (+ (* (/ b c) -1) (sqrt (* (/ a c) -4))) (/ b c) (sqrt (* (/ a c) -4)) (* (/ a c) -4) (/ a c))
42.0ms
n
@inf
((+ (/ (neg f) (- f n)) (/ (neg n) (- f n))) (/ (neg f) (- f n)) (neg f) f (- f n) n (/ (neg n) (- f n)) (neg n) (/ (neg (+ f n)) (- f n)) -1 (/ (neg (+ f n)) (- f n)) (neg (+ f n)) (+ f n) (/ (neg (+ f n)) (- f n)) (neg (+ f n)) (+ f n) (- f n) (/ (neg (+ f n)) (- f n)) (+ (* (/ f n) 2) 1) (/ f n) 2 1)
36.0ms
c
@inf
((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 (+ (* (* -4 a) c) (* b b))) b)) (* (/ (- (sqrt (+ (* (* -4 a) c) (* b b))) b) a) 1/2)) (>= b 0) b 0 (/ (* -2 c) (+ (sqrt (+ (* (* -4 a) c) (* b b))) b)) (* -2 c) -2 c (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) (sqrt (+ (* (* -4 a) c) (* b b))) (+ (* (* -4 a) c) (* b b)) (* -4 a) -4 a (* b b) (* (/ (- (sqrt (+ (* (* -4 a) c) (* b b))) b) a) 1/2) (/ (- (sqrt (+ (* (* -4 a) c) (* b b))) b) a) (- (sqrt (+ (* (* -4 a) c) (* b b))) b) 1/2 (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))))) (neg (/ (+ (* 1/2 b) (neg (sqrt (* (* a c) -1)))) a)) (/ (+ (* 1/2 b) (neg (sqrt (* (* a c) -1)))) a) (+ (* 1/2 b) (neg (sqrt (* (* a c) -1)))) (neg (sqrt (* (* a c) -1))) (sqrt (* (* a c) -1)) (* (* a c) -1) (* a c) -1 (/ (+ (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))) (- (* b b) (* (* 4 a) c)) (* (* 4 a) c) (* 4 a) 4 (* 2 a) 2 (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))))) (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (* (sqrt (* (/ c a) -4)) 1/2) (* (/ b a) -1/2)) (sqrt (* (/ c a) -4)) (* (/ c a) -4) (/ c a) (* (/ b a) -1/2) (/ b a) -1/2 (if (>= b 0) (/ (* 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)))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (- (* b b) (* (* 4 a) c)) (* (- (/ (* b b) a) (* 4 c)) a) (- (/ (* b b) a) (* 4 c)) (/ (* b b) a) (* 4 c) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (+ (/ (neg b) (* a 2)) (/ (sqrt (+ (* (* -4 a) c) (* b b))) (* a 2)))) (+ (/ (neg b) (* a 2)) (/ (sqrt (+ (* (* -4 a) c) (* b b))) (* a 2))) (/ (neg b) (* a 2)) (* a 2) (/ (sqrt (+ (* (* -4 a) c) (* b b))) (* a 2)))
35.0ms
c
@-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 a) c) (* b b))) b) a) -1/2) (/ (* 2 c) (- (sqrt (+ (* (* -4 a) c) (* b b))) b))) (>= b 0) b 0 (* (/ (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) a) -1/2) (/ (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) a) (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) (sqrt (+ (* (* -4 a) c) (* b b))) (+ (* (* -4 a) c) (* b b)) (* -4 a) -4 a c (* b b) -1/2 (/ (* 2 c) (- (sqrt (+ (* (* -4 a) c) (* b b))) b)) (* 2 c) 2 (- (sqrt (+ (* (* -4 a) c) (* b 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)))))) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (* (sqrt (* (/ c a) -4)) -1/2) (sqrt (* (/ c a) -4)) (* (/ c a) -4) (/ c a) (/ (* 2 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))) (- (* b b) (* (* 4 a) c)) (* (* 4 a) c) (* 4 a) 4 (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)) (+ (* (/ b a) -1/2) (sqrt (* (/ c a) -1))) (/ b a) (sqrt (* (/ c a) -1)) (* (/ c a) -1) -1 (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)))) (* 2 a) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (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)))))) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (neg (* (+ (* (sqrt (* (/ a c) -1)) 2) (/ b c)) c)) (* (+ (* (sqrt (* (/ a c) -1)) 2) (/ b c)) c) (+ (* (sqrt (* (/ a c) -1)) 2) (/ b c)) (sqrt (* (/ a c) -1)) (* (/ a c) -1) (/ a c) (/ b c))
31.0ms
x
@inf
((exp (neg (- 1 (* x x)))) (neg (- 1 (* x x))) (- 1 (* x x)) 1 (* x x) x)

regimes1.0s (3.9%)

Memory
22.6MiB live, 1 785.6MiB allocated; 117ms collecting garbage
Counts
861 → 142
Calls

26 calls:

161.0ms
b
114.0ms
x
90.0ms
(*.f64 x x)
52.0ms
a
49.0ms
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
Compiler

Compiled 1 301 to 1 091 computations (16.1% saved)

prune1.0s (3.8%)

Memory
96.8MiB live, 1 768.0MiB allocated; 207ms collecting garbage
Counts
10 410 → 335
Compiler

Compiled 26 854 to 13 213 computations (50.8% saved)

bsearch777.0ms (2.9%)

Memory
1.6MiB live, 1 387.8MiB allocated; 169ms collecting garbage
Algorithm
62×binary-search
left-value
Stop Event
55×narrow-enough
predicate-same
Samples
312.0ms3 824×0valid
113.0ms647×0invalid
4.0ms32×2valid
1.0ms16×1valid
Compiler

Compiled 47 383 to 28 618 computations (39.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 271.0ms
ival-mult!: 88.0ms (32.5% of total)
ival-div!: 47.0ms (17.3% of total)
ival-sqrt: 25.0ms (9.2% of total)
ival-add!: 25.0ms (9.2% of total)
ival-neg: 23.0ms (8.5% of total)
ival-if: 19.0ms (7% of total)
ival->=: 17.0ms (6.3% of total)
ival-sub!: 17.0ms (6.3% of total)
ival-fabs: 8.0ms (3% of total)
adjust: 2.0ms (0.7% of total)
ival-exp: 1.0ms (0.4% of total)

analyze608.0ms (2.3%)

Memory
26.3MiB live, 466.6MiB allocated; 644ms collecting garbage
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
66.4%56.2%28.4%0.1%0%15.3%0%5
74%62.1%21.8%0.1%0%16%0%6
77.6%63.8%18.4%0.1%0%17.7%0%7
79.3%65%17%0.1%0%17.9%0%8
85%69.2%12.2%0.1%0%18.5%0%9
86.8%69.7%10.6%0.1%0%19.6%0%10
88.7%71.1%9.1%0.1%0%19.8%0%11
91.6%72.9%6.7%0.1%0%20.3%0%12
Compiler

Compiled 153 to 106 computations (30.7% saved)

start0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage

end0.0ms (0%)

Memory
0.2MiB live, 0.1MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...