Herbie run

Date:Sunday, March 2nd, 2025
Commit:141e80a8 on main
Seed:2025061
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:28 247.8 MB

Time bar (total: 28.4s)

sample10.3s (36.5%)

Memory
302.0MiB live, 10 471.8MiB allocated; 5.9s collecting garbage
Samples
5.9s70 135×0valid
1.1s4 164×2valid
265.0ms1 892×0invalid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 5.0s
ival-div: 1.2s (24% of total)
ival-sub: 1.1s (22.8% of total)
ival-mult: 1.0s (20.2% of total)
ival-exp: 373.0ms (7.5% of total)
ival-sqrt: 354.0ms (7.1% of total)
ival-neg: 271.0ms (5.4% of total)
adjust: 171.0ms (3.4% of total)
ival-add: 150.0ms (3% of total)
ival-log: 129.0ms (2.6% of total)
ival-fabs: 110.0ms (2.2% of total)
exact: 56.0ms (1.1% of total)
ival-assert: 26.0ms (0.5% of total)
ival-if: 8.0ms (0.2% of total)
ival->=: 3.0ms (0.1% of total)
Bogosity

rewrite5.7s (20.2%)

Memory
284.4MiB live, 5 697.7MiB allocated; 1.3s collecting garbage
Stop Event
75×iter limit
26×node limit
unsound
saturated
Counts
4 963 → 7 310

preprocess2.2s (7.9%)

Memory
81.9MiB live, 1 763.3MiB allocated; 317ms collecting garbage
Stop Event
18×iter limit
16×node limit
saturated
Compiler

Compiled 10 997 to 1 556 computations (85.9% saved)

eval1.7s (6%)

Memory
-278.0MiB live, 2 116.2MiB allocated; 396ms collecting garbage
Compiler

Compiled 560 215 to 39 538 computations (92.9% saved)

explain1.6s (5.8%)

Memory
-65.7MiB live, 1 677.9MiB allocated; 424ms collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue2800
+.f64#fcancellation1290
-.f64#fcancellation1190
sqrt.f64#fuflow-rescue780
/.f64#fu/n260
/.f64#fn/u240
-.f64#fnan-rescue160
*.f64(*.f64 (/.f64 x y) z)n*o130
*.f64(*.f64 (/.f64 x y) z)n*u80
Confusion
Predicted +Predicted -
+32613
-2031762
Precision
0.6162570888468809
Recall
0.9616519174041298
Confusion?
Predicted +Predicted MaybePredicted -
+326013
-20301762
Precision?
0.6162570888468809
Recall?
0.9616519174041298
Freqs
test
numberfreq
01775
1374
2146
39
Total Confusion?
Predicted +Predicted MaybePredicted -
+400
-005
Precision?
1.0
Recall?
1.0
Samples
340.0ms3 692×0valid
179.0ms570×2valid
112.0ms292×1valid
31.0ms54×3valid
Compiler

Compiled 1 107 to 300 computations (72.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 332.0ms
ival-mult: 71.0ms (21.4% of total)
ival-div: 57.0ms (17.1% of total)
adjust: 52.0ms (15.6% of total)
ival-sub: 42.0ms (12.6% of total)
ival-sqrt: 29.0ms (8.7% of total)
ival-if: 23.0ms (6.9% of total)
ival-add: 18.0ms (5.4% of total)
ival-neg: 11.0ms (3.3% of total)
ival-fabs: 7.0ms (2.1% of total)
ival-log: 6.0ms (1.8% of total)
ival-exp: 4.0ms (1.2% of total)
ival-true: 4.0ms (1.2% of total)
exact: 4.0ms (1.2% of total)
ival->=: 3.0ms (0.9% of total)
ival-assert: 2.0ms (0.6% of total)

derivations1.4s (5%)

Memory
-91.7MiB live, 800.0MiB allocated; 178ms collecting garbage
Stop Event
done
fuel
Compiler

Compiled 5 228 to 592 computations (88.7% saved)

bsearch1.4s (4.8%)

Memory
88.5MiB live, 778.3MiB allocated; 903ms collecting garbage
Algorithm
62×binary-search
left-value
Stop Event
57×narrow-enough
predicate-same
Samples
343.0ms4 192×0valid
95.0ms742×0invalid
8.0ms48×2valid
Compiler

Compiled 55 307 to 32 752 computations (40.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 314.0ms
ival-mult: 105.0ms (33.5% of total)
ival-div: 54.0ms (17.2% of total)
ival-sqrt: 42.0ms (13.4% of total)
ival-sub: 33.0ms (10.5% of total)
ival-add: 21.0ms (6.7% of total)
ival-neg: 14.0ms (4.5% of total)
ival-if: 13.0ms (4.1% of total)
ival->=: 10.0ms (3.2% of total)
ival-fabs: 6.0ms (1.9% of total)
exact: 5.0ms (1.6% of total)
ival-true: 4.0ms (1.3% of total)
adjust: 3.0ms (1% of total)
ival-exp: 2.0ms (0.6% of total)
ival-assert: 2.0ms (0.6% of total)

series1.0s (3.6%)

Memory
-21.8MiB live, 1 367.9MiB allocated; 159ms collecting garbage
Counts
726 → 4 237
Calls

180 calls:

TimeVariablePointExpression
67.0ms
x
@-inf
((neg (log (- (exp (neg (log x))) 1))) (log (- (exp (neg (log x))) 1)) (- (exp (neg (log x))) 1) (neg (log x)) (log x) x (neg (log (- (/ 1 x) 1))) (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 (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)
60.0ms
x
@0
((neg (log (- (exp (neg (log x))) 1))) (log (- (exp (neg (log x))) 1)) (- (exp (neg (log x))) 1) (neg (log x)) (log x) x (neg (log (- (/ 1 x) 1))) (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 (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)
37.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)))) (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) (/ (* 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) (+ (sqrt (+ (* (* -4 a) c) (* b b))) b) (sqrt (+ (* (* -4 a) c) (* b b))) (+ (* (* -4 a) c) (* b b)) (* -4 a) -4 -1/2 (/ (* 2 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)) (+ (* (/ b a) -1/2) (sqrt (* (/ c a) -1))) (/ b a) (sqrt (* (/ c a) -1)) (* (/ c a) -1) (/ c a) -1 (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (+ (neg b) (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))))) (+ (* (/ b a) -1/2) (neg (sqrt (* (/ c a) -1)))) (neg (sqrt (* (/ 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)))) (* (+ (* (/ 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))
23.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))) (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) (* (neg (* a 4)) c)))) (* 2 a))) (/ (+ (neg b) (sqrt (+ (* b b) (* (neg (* a 4)) c)))) (* 2 a)) (+ (neg b) (sqrt (+ (* b b) (* (neg (* a 4)) c)))) (sqrt (+ (* b b) (* (neg (* a 4)) c))) (+ (* b b) (* (neg (* a 4)) c)) (* (neg (* a 4)) c) (neg (* a 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))) (/ (+ (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))
23.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)) (+ (* -1 (/ b a)) (/ c b)) -1 (/ b a) a (/ c b) c (/ (* 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))) (if (>= b 0) (/ (- (neg b) (sqrt (+ (* (* -4 a) c) (* b b)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (/ (- (neg b) (sqrt (+ (* (* -4 a) c) (* b b)))) (* 2 a)) (- (neg b) (sqrt (+ (* (* -4 a) c) (* b b)))) (sqrt (+ (* (* -4 a) c) (* b b))) (* 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)))) (neg (sqrt (* (* a c) -4))) (sqrt (* (* a c) -4)) (* (* a c) -4) (* a c) -4 (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))) (* (/ (+ (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) (* b b) -1/2 (/ (* 2 c) (- (sqrt (+ (* (* -4 a) c) (* b b))) b)) (neg (/ (+ (* a (/ (* c c) (* b b))) c) b)) (/ (+ (* a (/ (* c c) (* b b))) c) b) (+ (* a (/ (* c c) (* b b))) c) (/ (* c c) (* b b)) (* c c) (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))) (- (* b b) (* (* 4 a) c)) (* (* 4 a) c) (* 4 a) 4 (/ (* 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))) (sqrt (* (/ a c) -4)) (* (/ a c) -4) (/ a c))

prune954.0ms (3.4%)

Memory
69.7MiB live, 1 270.0MiB allocated; 293ms collecting garbage
Counts
10 027 → 280
Compiler

Compiled 23 784 to 11 961 computations (49.7% saved)

regimes771.0ms (2.7%)

Memory
4.1MiB live, 1 009.4MiB allocated; 122ms collecting garbage
Counts
566 → 124
Calls

26 calls:

106.0ms
b
100.0ms
x
76.0ms
(/.f64 #s(literal 1 binary64) x)
57.0ms
(/.f64 (neg.f64 (+.f64 f n)) (-.f64 f n))
51.0ms
(-.f64 (/.f64 (+.f64 x #s(literal 4 binary64)) y) (*.f64 (/.f64 x y) z))
Compiler

Compiled 949 to 816 computations (14% saved)

analyze605.0ms (2.1%)

Memory
-18.6MiB live, 871.4MiB allocated; 192ms 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)

simplify564.0ms (2%)

Memory
-122.2MiB live, 422.9MiB allocated; 111ms collecting garbage
Stop Event
node limit

start0.0ms (0%)

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

end0.0ms (0%)

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

Profiling

Loading profile data...