Herbie run

Date:Tuesday, January 28th, 2025
Commit:5f9ba85e on main
Seed:2025028
Parameters:256 points for 4 iterations
Flags:
reduce:regimesreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default
Memory:34 465.4 MB

Time bar (total: 29.6s)

sample10.7s (36.1%)

Memory
226.2MiB live, 12 347.5MiB allocated; 4.9s collecting garbage
Samples
6.1s70 163×0valid
1.1s4 129×2valid
257.0ms1 937×0invalid
1.0ms12×1valid
Precisions
Click to see histograms. Total time spent on operations: 5.3s
ival-mult: 1.5s (28.1% of total)
ival-div: 1.2s (23.5% of total)
ival-sub: 618.0ms (11.7% of total)
ival-add: 430.0ms (8.1% of total)
ival-sqrt: 385.0ms (7.3% of total)
ival-log: 360.0ms (6.8% of total)
ival-neg: 292.0ms (5.5% of total)
adjust: 204.0ms (3.9% of total)
ival-fabs: 90.0ms (1.7% of total)
ival-exp: 75.0ms (1.4% of total)
exact: 61.0ms (1.2% of total)
ival-assert: 25.0ms (0.5% of total)
ival->=: 12.0ms (0.2% of total)
ival-if: 7.0ms (0.1% of total)
Bogosity

rewrite6.1s (20.6%)

Memory
175.7MiB live, 6 350.1MiB allocated; 1.1s collecting garbage
Stop Event
72×iter limit
29×node limit
unsound
saturated
Counts
5 093 → 8 150

preprocess2.4s (8.1%)

Memory
80.1MiB live, 2 549.2MiB allocated; 528ms collecting garbage
Stop Event
18×iter limit
16×node limit
saturated
Compiler

Compiled 12 005 to 1 678 computations (86% saved)

eval2.0s (6.6%)

Memory
13.3MiB live, 2 830.9MiB allocated; 477ms collecting garbage
Compiler

Compiled 607 830 to 45 798 computations (92.5% saved)

explain1.7s (5.8%)

Memory
-42.8MiB live, 2 243.9MiB allocated; 540ms collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue2680
-.f64#fcancellation1400
+.f64#fcancellation1101
sqrt.f64#fuflow-rescue740
/.f64#fu/n240
-.f64#fnan-rescue230
/.f64#fn/u180
*.f64(*.f64 (/.f64 x y) z)n*o110
*.f64(*.f64 (/.f64 x y) z)n*u40
exp.f64(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))sensitivity10
Confusion
Predicted +Predicted -
+30719
-2301748
Precision
0.5716945996275605
Recall
0.941717791411043
Confusion?
Predicted +Predicted MaybePredicted -
+307019
-23011747
Precision?
0.570631970260223
Recall?
0.941717791411043
Freqs
test
numberfreq
01767
1408
2122
37
Total Confusion?
Predicted +Predicted MaybePredicted -
+500
-004
Precision?
1.0
Recall?
1.0
Samples
394.0ms3 642×0valid
188.0ms604×2valid
84.0ms312×1valid
26.0ms50×3valid
Compiler

Compiled 1 107 to 300 computations (72.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 414.0ms
ival-mult: 93.0ms (22.4% of total)
ival-div: 77.0ms (18.6% of total)
ival-sub: 66.0ms (15.9% of total)
adjust: 60.0ms (14.5% of total)
ival-sqrt: 33.0ms (8% of total)
ival-neg: 29.0ms (7% of total)
ival-add: 19.0ms (4.6% of total)
ival-if: 9.0ms (2.2% of total)
ival-log: 6.0ms (1.4% of total)
ival-exp: 5.0ms (1.2% of total)
ival-fabs: 5.0ms (1.2% of total)
ival-true: 4.0ms (1% of total)
exact: 4.0ms (1% of total)
ival->=: 3.0ms (0.7% of total)
ival-assert: 2.0ms (0.5% of total)

derivations1.7s (5.7%)

Memory
74.2MiB live, 1 438.0MiB allocated; 139ms collecting garbage
Stop Event
done
fuel
Compiler

Compiled 5 716 to 642 computations (88.8% saved)

series1.2s (4%)

Memory
-27.9MiB live, 1 647.3MiB allocated; 289ms collecting garbage
Counts
742 → 4 351
Calls

186 calls:

TimeVariablePointExpression
69.0ms
b
@inf
((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) b 0 (/ (- (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)) (* b b) (* (* 4 a) c) (* 4 a) 4 a c (* 2 a) 2 (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))
61.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))) (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) (* 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)))
58.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))) (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))))) (* 2 c) 2 (- (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))) (* 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 (/ (+ (* 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)))) (sqrt (- (* b b) (* (* 4 a) c))) (- (* b b) (* (* 4 a) c)) (* (* -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))) (if (>= b 0) (/ (* -2 c) (+ (sqrt (+ (* (* -4 a) c) (* b b))) b)) (* (/ (- (sqrt (+ (* (* -4 a) c) (* b b))) b) a) 1/2)) (/ (* -2 c) (+ (sqrt (+ (* (* -4 a) c) (* b b))) b)) (+ (* -1/2 (/ b a)) (sqrt (* (/ c a) -1))) -1/2 (sqrt (* (/ c a) -1)) (* (/ c a) -1) (/ c a) (* (/ (- (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) (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))) (- (* b b) (* (* 4 a) c)) (* (* 4 a) c) (* 4 a) 4 (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* (+ (* (/ b a) -1) (sqrt (* (/ c a) -4))) a) (+ (* (/ b a) -1) (sqrt (* (/ c a) -4))) (sqrt (* (/ c a) -4)) (* (/ c a) -4))
30.0ms
a
@0
((/ (fabs (- a b)) 2) (* 1/2 (fabs (- b a))) 1/2 (fabs (- b a)) (- b a) b (/ (fabs (- a b)) 2) (* 1/2 (fabs (- b a))) (fabs (- b a)) (- b a) (neg a) a)
28.0ms
x
@0
((neg (log (- (/ 1 x) 1))) (log (- (/ 1 x) 1)) (- (/ 1 x) 1) (/ (- 1 x) x) (- 1 x) 1 x (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) 1/2 (neg (- (log (- (pow x -2) 1)) (log (+ 1 (pow x -1))))) (- (log (- (pow x -2) 1)) (log (+ 1 (pow x -1)))) (log (- (pow x -2) 1)) (- (pow x -2) 1) (pow x -2) -2 (log (+ 1 (pow x -1))) (pow x -1) -1)

regimes998.0ms (3.4%)

Memory
-52.1MiB live, 1 306.5MiB allocated; 260ms collecting garbage
Counts
860 → 148
Calls

26 calls:

291.0ms
b
72.0ms
z
68.0ms
a
65.0ms
x
50.0ms
(-.f64 (/.f64 (+.f64 x #s(literal 4 binary64)) y) (*.f64 (/.f64 x y) z))
Compiler

Compiled 956 to 854 computations (10.7% saved)

prune969.0ms (3.3%)

Memory
-80.0MiB live, 1 403.8MiB allocated; 303ms collecting garbage
Counts
11 244 → 319
Compiler

Compiled 24 542 to 11 953 computations (51.3% saved)

bsearch952.0ms (3.2%)

Memory
83.7MiB live, 1 215.5MiB allocated; 198ms collecting garbage
Algorithm
75×binary-search
left-value
Stop Event
72×narrow-enough
predicate-same
Samples
358.0ms3 728×0valid
92.0ms745×0invalid
13.0ms80×2valid
Compiler

Compiled 55 525 to 33 277 computations (40.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 313.0ms
ival-mult: 111.0ms (35.5% of total)
ival-div: 65.0ms (20.8% of total)
ival-sqrt: 34.0ms (10.9% of total)
ival-sub: 31.0ms (9.9% of total)
ival-add: 18.0ms (5.8% of total)
ival-neg: 13.0ms (4.2% of total)
ival-if: 12.0ms (3.8% of total)
ival->=: 9.0ms (2.9% of total)
ival-fabs: 5.0ms (1.6% of total)
exact: 5.0ms (1.6% of total)
adjust: 4.0ms (1.3% of total)
ival-true: 3.0ms (1% of total)
ival-assert: 2.0ms (0.6% of total)
ival-exp: 1.0ms (0.3% of total)

simplify496.0ms (1.7%)

Memory
-80.3MiB live, 458.8MiB allocated; 67ms collecting garbage
Stop Event
node limit

analyze476.0ms (1.6%)

Memory
70.4MiB live, 673.1MiB allocated; 91ms 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.2MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...