Herbie run

Date:Thursday, February 6th, 2025
Commit:f63971dc on main
Seed:2025037
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:33 510.4 MB

Time bar (total: 30.4s)

sample11.2s (36.7%)

Memory
267.6MiB live, 12 382.6MiB allocated; 5.5s collecting garbage
Samples
6.2s70 255×0valid
1.2s4 044×2valid
191.0ms1 936×0invalid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 5.1s
ival-mult: 1.4s (27.4% of total)
ival-sqrt: 951.0ms (18.8% of total)
ival-sub: 879.0ms (17.4% of total)
ival-div: 728.0ms (14.4% of total)
ival-neg: 252.0ms (5% of total)
ival-exp: 233.0ms (4.6% of total)
adjust: 176.0ms (3.5% of total)
ival-add: 156.0ms (3.1% of total)
ival-fabs: 106.0ms (2.1% of total)
ival-log: 94.0ms (1.9% of total)
exact: 60.0ms (1.2% of total)
ival-assert: 25.0ms (0.5% of total)
ival-if: 7.0ms (0.1% of total)
ival->=: 3.0ms (0.1% of total)
Bogosity

rewrite6.4s (20.9%)

Memory
-46.8MiB live, 6 294.0MiB allocated; 1.1s collecting garbage
Stop Event
81×iter limit
29×node limit
unsound
saturated
Counts
4 763 → 7 570

preprocess2.5s (8.1%)

Memory
8.6MiB live, 2 269.1MiB allocated; 523ms collecting garbage
Stop Event
18×iter limit
16×node limit
saturated
Compiler

Compiled 11 167 to 1 650 computations (85.2% saved)

eval1.8s (5.9%)

Memory
-15.6MiB live, 2 331.0MiB allocated; 443ms collecting garbage
Compiler

Compiled 495 960 to 38 309 computations (92.3% saved)

explain1.7s (5.6%)

Memory
103.8MiB live, 2 254.3MiB allocated; 391ms collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue2660
-.f64#fcancellation1220
+.f64#fcancellation940
sqrt.f64#fuflow-rescue740
/.f64#fu/n410
/.f64#fn/u370
-.f64#fnan-rescue150
*.f64(*.f64 (/.f64 x y) z)n*o70
*.f64(*.f64 (/.f64 x y) z)n*u50
Confusion
Predicted +Predicted -
+29915
-2431747
Precision
0.551660516605166
Recall
0.9522292993630573
Confusion?
Predicted +Predicted MaybePredicted -
+299015
-24301747
Precision?
0.551660516605166
Recall?
0.9522292993630573
Freqs
test
numberfreq
01762
1426
2113
33
Total Confusion?
Predicted +Predicted MaybePredicted -
+400
-005
Precision?
1.0
Recall?
1.0
Samples
406.0ms3 612×0valid
246.0ms670×2valid
71.0ms250×1valid
35.0ms76×3valid
Compiler

Compiled 1 107 to 300 computations (72.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 423.0ms
ival-div: 108.0ms (25.5% of total)
adjust: 91.0ms (21.5% of total)
ival-mult: 71.0ms (16.8% of total)
ival-sub: 44.0ms (10.4% of total)
ival-sqrt: 36.0ms (8.5% of total)
ival-add: 20.0ms (4.7% of total)
ival-if: 11.0ms (2.6% of total)
ival-neg: 11.0ms (2.6% of total)
ival->=: 6.0ms (1.4% of total)
ival-log: 6.0ms (1.4% of total)
ival-fabs: 5.0ms (1.2% of total)
ival-exp: 4.0ms (0.9% of total)
ival-true: 4.0ms (0.9% of total)
exact: 4.0ms (0.9% of total)
ival-assert: 2.0ms (0.5% of total)

derivations1.7s (5.5%)

Memory
69.9MiB live, 1 556.3MiB allocated; 167ms collecting garbage
Stop Event
fuel
done
Compiler

Compiled 5 303 to 632 computations (88.1% saved)

series1.2s (3.9%)

Memory
111.0MiB live, 1 486.8MiB allocated; 183ms collecting garbage
Counts
719 → 4 044
Calls

189 calls:

TimeVariablePointExpression
69.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))
54.0ms
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)))))) (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)))) (sqrt (- (* b b) (* (* 4 a) c))) (* 2 a) (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 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (+ (* (/ b a) -1/2) (neg (sqrt (* (/ c a) -1)))) (/ b a) (neg (sqrt (* (/ c a) -1))) (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)))) (* (- (/ (neg b) a) (sqrt (* (/ c a) -4))) a) (- (/ (neg b) a) (sqrt (* (/ c a) -4))) (/ (neg b) a))
47.0ms
b
@0
((if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (+ (* (* -4 a) c) (* b b))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (>= b 0) b 0 (/ (* 2 c) (- (neg b) (sqrt (+ (* (* -4 a) c) (* b b))))) (* 2 c) 2 c (- (neg b) (sqrt (+ (* (* -4 a) c) (* b b)))) (* 2 (- (* a (/ c b)) b)) (- (* a (/ c b)) b) (* a (/ c b)) a (/ c b) (/ (+ (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))) (* 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))) (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)) (* -2 c) -2 (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) (* 2 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) (* -2 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))) (if (>= b 0) (/ (* -2 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) 1/2) (neg (sqrt (* (/ c a) -1))) (sqrt (* (/ c a) -1)) (* (/ c a) -1) (/ c a) -1 (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (+ (* (* -4 a) c) (* b b))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (/ (* 2 c) (- (neg b) (sqrt (+ (* (* -4 a) c) (* b b))))) (- (neg b) (sqrt (+ (* (* -4 a) c) (* b b)))) (neg (sqrt (* (* a c) -4))) (sqrt (* (* a c) -4)) (* (* a c) -4) (* a c) -4 (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (+ (* (* -4 a) c) (* b b)))) (* 2 a))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (+ (* (/ b a) -1/2) (sqrt (* (/ c a) -1))) (/ (+ (* -1/2 b) (sqrt (* (* a c) -1))) a) (+ (* -1/2 b) (sqrt (* (* a c) -1))) -1/2 (sqrt (* (* a c) -1)) (* (* a c) -1) (/ (+ (neg b) (sqrt (+ (* (* -4 a) c) (* b b)))) (* 2 a)) (+ (neg b) (sqrt (+ (* (* -4 a) c) (* b b)))) (sqrt (+ (* (* -4 a) c) (* b b))) (+ (* (* -4 a) c) (* b b)) (* (* -4 a) c) (* -4 a))
45.0ms
x
@inf
((neg (log (- (/ 1 x) 1))) (+ (log x) x) x (neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (* (* x x) 1/2) (* x x) 1/2 (neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (+ (* (* 1/2 x) x) x) (* 1/2 x) (neg (log (- (/ 1 x) 1))) (+ x (+ (* (* x x) 1/2) (log x))) (+ (* (* x x) 1/2) (log x)) (log x))
32.0ms
x
@-inf
((fabs (/ (+ (* z x) (- -4 x)) y)) (/ (+ (* z x) (- -4 x)) y) (+ (* z x) (- -4 x)) z x (- -4 x) -4 y (fabs (- (/ (+ x 4) y) (* (/ x y) z))) (- (/ (+ x 4) y) (* (/ x y) z)) (/ (- x -4) y) (- x -4) (fabs (- (/ (+ x 4) y) (* (/ x y) z))) (- (/ (+ x 4) y) (* (/ x y) z)) (* (/ (- 1 z) y) x) (/ (- 1 z) y) (- 1 z) (neg z) (fabs (- (/ (+ x 4) y) (* (/ x y) z))) (- (/ (+ x 4) y) (* (/ x y) z)) (- (/ x y) (/ -4 y)) (/ x y) (/ -4 y) (* (sqrt (- (/ (+ x 4) y) (* (/ x y) z))) (sqrt (- (/ (+ x 4) y) (* (/ x y) z)))) (sqrt (- (/ (+ x 4) y) (* (/ x y) z))) (- (/ (+ x 4) y) (* (/ x y) z)) (* (/ (- 1 z) y) x) (/ (- 1 z) y) (- 1 z) 1)

regimes1.0s (3.4%)

Memory
-16.6MiB live, 1 219.6MiB allocated; 215ms collecting garbage
Counts
702 → 133
Calls

26 calls:

167.0ms
b
151.0ms
x
86.0ms
a
77.0ms
y
64.0ms
(-.f64 (/.f64 (+.f64 x #s(literal 4 binary64)) y) (*.f64 (/.f64 x y) z))
Compiler

Compiled 1 080 to 920 computations (14.8% saved)

bsearch1.0s (3.3%)

Memory
33.8MiB live, 1 126.2MiB allocated; 200ms collecting garbage
Algorithm
64×binary-search
left-value
Stop Event
62×narrow-enough
predicate-same
Samples
409.0ms4 000×0valid
65.0ms632×0invalid
10.0ms64×2valid
Compiler

Compiled 52 559 to 32 680 computations (37.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 305.0ms
ival-mult: 93.0ms (30.5% of total)
ival-div: 56.0ms (18.4% of total)
ival-neg: 42.0ms (13.8% of total)
ival-sub: 31.0ms (10.2% of total)
ival-add: 22.0ms (7.2% of total)
ival-sqrt: 18.0ms (5.9% of total)
ival-if: 11.0ms (3.6% of total)
ival-fabs: 9.0ms (3% of total)
ival->=: 8.0ms (2.6% of total)
exact: 5.0ms (1.6% of total)
adjust: 3.0ms (1% of total)
ival-true: 3.0ms (1% of total)
ival-exp: 2.0ms (0.7% of total)
ival-assert: 2.0ms (0.7% of total)

prune897.0ms (3%)

Memory
-22.2MiB live, 1 305.4MiB allocated; 180ms collecting garbage
Counts
9 860 → 296
Compiler

Compiled 21 384 to 10 518 computations (50.8% saved)

simplify572.0ms (1.9%)

Memory
-114.3MiB live, 594.8MiB allocated; 113ms collecting garbage
Stop Event
node limit

analyze544.0ms (1.8%)

Memory
37.0MiB live, 689.1MiB allocated; 113ms 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
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage

end0.0ms (0%)

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

Profiling

Loading profile data...