Herbie run

Date:Saturday, May 10th, 2025
Commit:363acd86 on unsound-last
Seed:2025130
Parameters:256 points for 4 iterations
Flags:
reduce:regimesreduce:binary-searchreduce:branch-expressionssetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:proofs
default
Memory:37 744.4 MB

Time bar (total: 52.8s)

rewrite17.9s (34%)

Memory
334.7MiB live, 12 722.0MiB allocated; 3.8s collecting garbage
Stop Event
101×iter-limit
28×node-limit
unsound
saturated
Counts
5 168 → 21 140

sample13.3s (25.1%)

Memory
169.8MiB live, 9 792.6MiB allocated; 5.9s collecting garbage
Samples
7.4s70 089×0valid
1.8s4 206×2valid
229.0ms1 900×0invalid
1.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 6.1s
ival-mult!: 1.4s (23.2% of total)
ival-div!: 1.2s (19.7% of total)
ival-neg: 906.0ms (14.9% of total)
ival-sqrt: 827.0ms (13.6% of total)
ival-sub!: 604.0ms (9.9% of total)
adjust: 585.0ms (9.6% of total)
ival-add!: 232.0ms (3.8% of total)
ival-exp: 131.0ms (2.2% of total)
ival-fabs: 93.0ms (1.5% of total)
ival-log: 89.0ms (1.5% of total)
ival-if: 4.0ms (0.1% of total)
ival->=: 3.0ms (0% of total)
Bogosity

derivations7.7s (14.5%)

Memory
-143.9MiB live, 3 646.7MiB allocated; 920ms collecting garbage
Stop Event
done
fuel
Compiler

Compiled 1 050 to 610 computations (41.9% saved)

eval4.7s (9%)

Memory
166.8MiB live, 4 407.7MiB allocated; 1.1s collecting garbage
Compiler

Compiled 228 171 to 74 439 computations (67.4% saved)

preprocess1.9s (3.6%)

Memory
20.2MiB live, 1 413.2MiB allocated; 263ms collecting garbage
Stop Event
node-limit
Compiler

Compiled 2 095 to 1 568 computations (25.2% saved)

bsearch1.8s (3.5%)

Memory
-199.9MiB live, 1 324.3MiB allocated; 957ms collecting garbage
Algorithm
61×binary-search
left-value
Stop Event
48×narrow-enough
13×predicate-same
Samples
605.0ms3 616×0valid
124.0ms487×0invalid
11.0ms96×2valid
Compiler

Compiled 31 391 to 26 563 computations (15.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 357.0ms
ival->=: 87.0ms (24.4% of total)
ival-neg: 77.0ms (21.6% of total)
ival-mult!: 73.0ms (20.4% of total)
ival-div!: 50.0ms (14% of total)
ival-sqrt: 20.0ms (5.6% of total)
ival-sub!: 18.0ms (5% of total)
ival-if: 16.0ms (4.5% of total)
ival-add!: 9.0ms (2.5% of total)
ival-fabs: 5.0ms (1.4% of total)
adjust: 3.0ms (0.8% of total)
ival-exp: 1.0ms (0.3% of total)

regimes1.7s (3.3%)

Memory
208.9MiB live, 1 286.6MiB allocated; 140ms collecting garbage
Counts
915 → 132
Calls

26 calls:

614.0ms
b
242.0ms
a
151.0ms
(*.f64 x x)
110.0ms
(if (>=.f64 b #s(literal 0 binary64)) (/.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)) (/.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))))))
95.0ms
x
Compiler

Compiled 897 to 937 computations (-4.5% saved)

prune1.6s (3.1%)

Memory
-133.8MiB live, 1 271.6MiB allocated; 253ms collecting garbage
Counts
18 164 → 346
Compiler

Compiled 16 363 to 13 324 computations (18.6% saved)

series1.6s (3%)

Memory
-37.3MiB live, 1 255.2MiB allocated; 296ms collecting garbage
Counts
742 → 4 426
Calls

180 calls:

TimeVariablePointExpression
97.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) (/ -1/2 a)) (/ (+ c c) (- (sqrt (+ (* (* -4 a) c) (* b b))) b))) (>= b 0) b 0 (* (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) (/ -1/2 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 a) -1/2 (/ (+ c c) (- (sqrt (+ (* (* -4 a) c) (* b b))) b)) (+ c c) (- (sqrt (+ (* (* -4 a) c) (* b b))) b) (if (>= b 0) (/ (- (neg b) (sqrt (+ (* (* -4 a) c) (* b b)))) (+ a a)) (/ (+ c c) (+ (sqrt (+ (* (* -4 a) c) (* b b))) (neg b)))) (/ (- (neg b) (sqrt (+ (* (* -4 a) c) (* b b)))) (+ a a)) (- (neg b) (sqrt (+ (* (* -4 a) c) (* b b)))) (neg b) (sqrt (+ (* (* -4 a) c) (* b b))) (+ a a) (/ (+ c c) (+ (sqrt (+ (* (* -4 a) c) (* b b))) (neg b))) (+ (sqrt (+ (* (* -4 a) c) (* b b))) (neg 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) (* (/ (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) a) -1/2) (/ (+ c c) (- (sqrt (+ (* (* -4 a) c) (* b 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) (sqrt (+ (* (* -4 a) c) (* b b))) (+ (* (* -4 a) c) (* b b)) (/ (+ c c) (- (sqrt (+ (* (* -4 a) c) (* b b))) b)) (- (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)) (* -1/2 (+ (sqrt (* (/ c a) -4)) (/ b a))) (+ (sqrt (* (/ c a) -4)) (/ b a)) (sqrt (* (/ c a) -4)) (* (/ c a) -4) (/ c a) (/ b a) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (* 2 c) 2 (+ (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)))))) (if (>= b 0) (* (/ (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) a) -1/2) (* c (/ 2 (- (sqrt (+ (* (* -4 a) c) (* b b))) b)))) (* (/ (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) a) -1/2) (/ (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) a) (* c (/ 2 (- (sqrt (+ (* (* -4 a) c) (* b b))) b))) (/ 2 (- (sqrt (+ (* (* -4 a) c) (* b b))) b)))
80.0ms
b
@-inf
((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) b 0 (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (* 2 c) 2 c (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (neg b) (sqrt (- (* b b) (* (* 4 a) c))) (- (* b b) (* (* 4 a) c)) (* b b) (* (* 4 a) c) (* 4 a) 4 a (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))
76.0ms
y
@-inf
((fabs (/ (+ (* (- 1 z) x) 4) y)) (/ (+ (* (- 1 z) x) 4) y) (+ (* (- 1 z) x) 4) (- 1 z) 1 z x 4 y (fabs (- (/ (+ x 4) y) (* (/ x y) z))) (- (/ (+ x 4) y) (* (/ x y) z)) (/ 4 y) (fabs (- (/ (+ x 4) y) (* (/ x y) z))) (- (/ (+ x 4) y) (* (/ x y) z)) (* z (/ (neg x) y)) (/ (neg x) y) (neg x) (fabs (- (/ (+ x 4) y) (* (/ x y) z))) (- (/ (+ x 4) y) (* (/ x y) z)) (/ (+ x 4) y) (+ x 4) (* (/ x y) z) (/ x y) (fabs (+ (* (/ (- 1 z) y) x) (/ 4 y))) (+ (* (/ (- 1 z) y) x) (/ 4 y)) (/ (- 1 z) y))
67.0ms
a
@inf
((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) b 0 (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (* 2 c) 2 c (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (neg b) (sqrt (- (* b b) (* (* 4 a) c))) (- (* b b) (* (* 4 a) c)) (* b b) (* (* 4 a) c) (* 4 a) 4 a (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* (+ (* (* -2 a) (/ c (* b b))) 2) (neg b)) (+ (* (* -2 a) (/ c (* b b))) 2) (* -2 a) -2 (/ c (* b b)) (* 2 a) (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 b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (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))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (+ (* (* (/ c b) -2) a) b) (* (/ c b) -2) (/ c b) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (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))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (neg (+ (* 1/2 b) (neg (sqrt (* (neg c) a))))) a) (neg (+ (* 1/2 b) (neg (sqrt (* (neg c) a))))) (+ (* 1/2 b) (neg (sqrt (* (neg c) a)))) 1/2 (neg (sqrt (* (neg c) a))) (sqrt (* (neg c) a)) (* (neg c) a) (neg c) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (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))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (* (neg c) (+ (* (/ b (* a c)) 1/2) (sqrt (/ -1 (* a c))))) (+ (* (/ b (* a c)) 1/2) (sqrt (/ -1 (* a c)))) (/ b (* a c)) (* a c) (sqrt (/ -1 (* a c))) (/ -1 (* a c)) -1)
64.0ms
c
@0
((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) b 0 (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (* 2 c) 2 c (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (neg b) (sqrt (- (* b b) (* (* 4 a) c))) (- (* b b) (* (* 4 a) c)) (* b b) (* (* 4 a) c) (* 4 a) 4 a (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* (+ (* (* -2 a) (/ c (* b b))) 2) (neg b)) (+ (* (* -2 a) (/ c (* b b))) 2) (* -2 a) -2 (/ c (* b b)) (* 2 a) (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 b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (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))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (+ (* (* (/ c b) -2) a) b) (* (/ c b) -2) (/ c b) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (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))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (neg (+ (* 1/2 b) (neg (sqrt (* (neg c) a))))) a) (neg (+ (* 1/2 b) (neg (sqrt (* (neg c) a))))) (+ (* 1/2 b) (neg (sqrt (* (neg c) a)))) 1/2 (neg (sqrt (* (neg c) a))) (sqrt (* (neg c) a)) (* (neg c) a) (neg c) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (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))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (* (neg c) (+ (* (/ b (* a c)) 1/2) (sqrt (/ -1 (* a c))))) (+ (* (/ b (* a c)) 1/2) (sqrt (/ -1 (* a c)))) (/ b (* a c)) (* a c) (sqrt (/ -1 (* a c))) (/ -1 (* a c)) -1)

analyze488.0ms (0.9%)

Memory
6.8MiB live, 623.5MiB allocated; 372ms 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.1MiB live, 0.1MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...