Herbie run

Date:Sunday, April 6th, 2025
Commit:28adb988 on main
Seed:2025096
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:31 167.1 MB

Time bar (total: 24.8s)

sample9.7s (39.3%)

Memory
305.6MiB live, 10 868.3MiB allocated; 4.6s collecting garbage
Samples
5.8s70 171×0valid
842.0ms4 124×2valid
160.0ms1 921×0invalid
1.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 4.1s
ival-mult!: 1.3s (31.1% of total)
ival-neg: 630.0ms (15.4% of total)
ival-sub!: 594.0ms (14.5% of total)
ival-div!: 589.0ms (14.4% of total)
ival-sqrt: 433.0ms (10.6% of total)
adjust: 193.0ms (4.7% of total)
ival-fabs: 105.0ms (2.6% of total)
ival-log: 98.0ms (2.4% of total)
ival-add!: 95.0ms (2.3% of total)
ival-exp: 83.0ms (2% of total)
ival-if: 4.0ms (0.1% of total)
ival->=: 3.0ms (0.1% of total)
Bogosity

rewrite5.5s (22.1%)

Memory
-65.5MiB live, 6 471.5MiB allocated; 1.0s collecting garbage
Stop Event
75×iter-limit
29×node-limit
unsound
saturated
Counts
4 652 → 7 432

derivations1.7s (6.9%)

Memory
14.2MiB live, 1 519.8MiB allocated; 234ms collecting garbage
Stop Event
done
fuel
Compiler

Compiled 4 877 to 663 computations (86.4% saved)

eval1.5s (6.2%)

Memory
43.0MiB live, 2 491.5MiB allocated; 306ms collecting garbage
Compiler

Compiled 514 328 to 39 919 computations (92.2% saved)

explain1.4s (5.8%)

Memory
-77.5MiB live, 2 150.5MiB allocated; 438ms collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue2610
-.f64#fcancellation1080
+.f64#fcancellation1060
sqrt.f64#fuflow-rescue820
/.f64#fu/n310
/.f64#fn/u260
-.f64#fnan-rescue220
*.f64(*.f64 (/.f64 x y) z)n*u70
*.f64#fn*o60
exp.f64(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))sensitivity20
log.f64(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))oflow-rescue10
(/.f64 #s(literal 1 binary64) x)overflow1
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))overflow1
Confusion
Predicted +Predicted -
+3067
-2191772
Precision
0.5828571428571429
Recall
0.9776357827476039
Confusion?
Predicted +Predicted MaybePredicted -
+30607
-21901772
Precision?
0.5828571428571429
Recall?
0.9776357827476039
Freqs
test
numberfreq
01779
1407
2109
39
Total Confusion?
Predicted +Predicted MaybePredicted -
+600
-003
Precision?
1.0
Recall?
1.0
Samples
360.0ms3 708×0valid
154.0ms558×2valid
100.0ms276×1valid
26.0ms66×3valid
Compiler

Compiled 1 107 to 300 computations (72.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 349.0ms
ival-div!: 87.0ms (24.9% of total)
ival-sqrt: 72.0ms (20.6% of total)
ival-mult!: 53.0ms (15.2% of total)
adjust: 35.0ms (10% of total)
ival->=: 33.0ms (9.5% of total)
ival-sub!: 21.0ms (6% of total)
ival-neg: 12.0ms (3.4% of total)
ival-if: 10.0ms (2.9% of total)
ival-add!: 10.0ms (2.9% of total)
ival-fabs: 6.0ms (1.7% of total)
ival-log: 6.0ms (1.7% of total)
ival-exp: 4.0ms (1.1% of total)

series1.0s (4.2%)

Memory
257.2MiB live, 1 592.6MiB allocated; 241ms collecting garbage
Counts
749 → 3 903
Calls

186 calls:

TimeVariablePointExpression
70.0ms
x
@0
((/ 1 (/ (E) (pow (* (exp x) (exp x)) (/ x 2)))) 1 (/ (E) (pow (* (exp x) (exp x)) (/ x 2))) (E) (pow (* (exp x) (exp x)) (/ x 2)) (* (exp x) (exp x)) (exp x) x (/ x 2) 2 (/ 1 (/ (E) (pow (exp x) x))) (/ (E) (pow (exp x) x)) (/ 1 (/ (E) (pow (exp x) x))) (/ (E) (pow (exp x) x)) (pow (exp x) x) (+ (* x x) 1) (/ 1 (/ (E) (pow (exp x) x))) (/ (E) (pow (exp x) x)) (+ (* (+ (* (+ (* (* (neg x) x) (+ (* (E) -1/3) (* (E) 1/2))) (* (E) 1/2)) (* x x)) (neg (E))) (* x x)) (E)) (+ (* (+ (* (* (neg x) x) (+ (* (E) -1/3) (* (E) 1/2))) (* (E) 1/2)) (* x x)) (neg (E))) (+ (* (* (neg x) x) (+ (* (E) -1/3) (* (E) 1/2))) (* (E) 1/2)) (* (neg x) x) (neg x) (+ (* (E) -1/3) (* (E) 1/2)) -1/3 (* (E) 1/2) 1/2 (* x x) (neg (E)) (/ 1 (/ (E) (pow (exp (neg x)) (neg x)))) (/ (E) (pow (exp (neg x)) (neg x))) (pow (exp (neg x)) (neg x)) (exp (neg x)))
68.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)))) (sqrt (- (* b b) (* (* 4 a) c))) (+ (* (* a (/ c b)) -2) b) (* a (/ c b)) (/ c 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))))) (- (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)))) (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)))) (neg (* (- (/ b a) (* (sqrt (* (/ c a) -1)) 2)) a)) (* (- (/ b a) (* (sqrt (* (/ c a) -1)) 2)) a) (- (/ b a) (* (sqrt (* (/ c a) -1)) 2)) (/ b a) (* (sqrt (* (/ c a) -1)) 2) (sqrt (* (/ c a) -1)) (* (/ c a) -1) (/ c a))
26.0ms
a
@0
((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)) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (neg (/ (+ (* 1/2 b) (sqrt (* (* c a) -1))) a)) (/ (+ (* 1/2 b) (sqrt (* (* c a) -1))) a) (+ (* 1/2 b) (sqrt (* (* c a) -1))) 1/2 (sqrt (* (* c a) -1)) (* (* c a) -1) (* c a) -1 (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 b) (+ (* (* a (/ c (* b b))) -2) 2)) (+ (* (* a (/ c (* b b))) -2) 2) (* a (/ c (* b b))) (/ c (* b b)) -2 (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)))) (* (+ (* (/ 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))
24.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))
24.0ms
x
@0
((neg (log (- (/ 1 x) 1))) (log x) 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) 1/2 1)

preprocess972.0ms (3.9%)

Memory
-119.6MiB live, 1 023.7MiB allocated; 301ms collecting garbage
Stop Event
node-limit
saturated
Compiler

Compiled 11 642 to 2 488 computations (78.6% saved)

regimes938.0ms (3.8%)

Memory
70.3MiB live, 1 989.9MiB allocated; 251ms collecting garbage
Counts
734 → 131
Calls

26 calls:

157.0ms
x
124.0ms
b
55.0ms
a
53.0ms
(*.f64 x x)
46.0ms
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
Compiler

Compiled 1 122 to 960 computations (14.4% saved)

bsearch912.0ms (3.7%)

Memory
-11.3MiB live, 1 386.9MiB allocated; 248ms collecting garbage
Algorithm
59×binary-search
left-value
Stop Event
53×narrow-enough
predicate-same
Samples
421.0ms4 256×0valid
56.0ms585×0invalid
4.0ms32×2valid
3.0ms16×1valid
Compiler

Compiled 45 649 to 27 896 computations (38.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 323.0ms
ival-mult!: 112.0ms (34.7% of total)
ival-add!: 57.0ms (17.6% of total)
ival-div!: 47.0ms (14.6% of total)
ival-sqrt: 24.0ms (7.4% of total)
ival-neg: 23.0ms (7.1% of total)
ival-if: 21.0ms (6.5% of total)
ival-sub!: 18.0ms (5.6% of total)
ival->=: 10.0ms (3.1% of total)
ival-fabs: 7.0ms (2.2% of total)
adjust: 2.0ms (0.6% of total)
ival-exp: 1.0ms (0.3% of total)

prune597.0ms (2.4%)

Memory
12.9MiB live, 1 107.5MiB allocated; 120ms collecting garbage
Counts
9 805 → 325
Compiler

Compiled 25 419 to 12 325 computations (51.5% saved)

analyze425.0ms (1.7%)

Memory
-1.8MiB live, 564.1MiB allocated; 140ms 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.8MiB live, 0.8MiB allocated; 0ms collecting garbage

end0.0ms (0%)

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

Profiling

Loading profile data...