Herbie run

Date:Wednesday, February 26th, 2025
Commit:39784a29 on chassis-platforms-cleanup
Seed:2025057
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:38 286.8 MB

Time bar (total: 51.8s)

prune29.9s (57.7%)

Memory
-52.4MiB live, 18 234.2MiB allocated; 1.8s collecting garbage
Counts
8 170 → 121
Compiler

Compiled 10 115 to 5 452 computations (46.1% saved)

sample10.1s (19.5%)

Memory
284.5MiB live, 9 563.0MiB allocated; 4.2s collecting garbage
Samples
5.7s70 094×0valid
776.0ms4 204×2valid
284.0ms1 854×0invalid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 4.1s
ival-mult: 1.1s (26.2% of total)
ival-div: 807.0ms (19.6% of total)
ival-sub: 501.0ms (12.2% of total)
ival-sqrt: 446.0ms (10.8% of total)
ival-neg: 345.0ms (8.4% of total)
ival-log: 341.0ms (8.3% of total)
adjust: 181.0ms (4.4% of total)
ival-add: 170.0ms (4.1% of total)
ival-fabs: 86.0ms (2.1% of total)
ival-exp: 68.0ms (1.6% of total)
exact: 59.0ms (1.4% of total)
ival-assert: 25.0ms (0.6% of total)
ival-if: 7.0ms (0.2% of total)
ival->=: 6.0ms (0.1% of total)
Bogosity

rewrite3.9s (7.4%)

Memory
174.8MiB live, 3 115.7MiB allocated; 514ms collecting garbage
Stop Event
53×iter limit
19×node limit
unsound
Counts
3 777 → 5 503

preprocess2.0s (3.9%)

Memory
-0.6MiB live, 1 545.8MiB allocated; 209ms collecting garbage
Stop Event
18×iter limit
16×node limit
saturated
Compiler

Compiled 7 931 to 1 274 computations (83.9% saved)

explain1.5s (2.9%)

Memory
5.3MiB live, 1 763.7MiB allocated; 385ms collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue2740
-.f64#fcancellation1230
+.f64#fcancellation1220
sqrt.f64#fuflow-rescue730
/.f64#fu/n350
/.f64#fn/u230
-.f64#fnan-rescue220
*.f64(*.f64 (/.f64 x y) z)n*o80
*.f64(*.f64 (/.f64 x y) z)n*u40
/.f64(/.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))n/o10
(*.f64 #s(literal 2 binary64) a)overflow1
/.f64(/.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)))))o/n10
(*.f64 #s(literal 2 binary64) c)overflow1
Confusion
Predicted +Predicted -
+30914
-2351746
Precision
0.5680147058823529
Recall
0.9566563467492261
Confusion?
Predicted +Predicted MaybePredicted -
+309014
-23501746
Precision?
0.5680147058823529
Recall?
0.9566563467492261
Freqs
test
numberfreq
01760
1410
2126
38
Total Confusion?
Predicted +Predicted MaybePredicted -
+400
-005
Precision?
1.0
Recall?
1.0
Samples
267.0ms588×2valid
245.0ms3 664×0valid
75.0ms296×1valid
31.0ms60×3valid
Compiler

Compiled 1 107 to 300 computations (72.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 363.0ms
adjust: 78.0ms (21.5% of total)
ival-div: 69.0ms (19% of total)
ival-mult: 63.0ms (17.4% of total)
ival-sub: 51.0ms (14.1% of total)
ival-sqrt: 31.0ms (8.6% of total)
ival-add: 21.0ms (5.8% of total)
ival-if: 11.0ms (3% of total)
ival-neg: 11.0ms (3% of total)
ival-log: 6.0ms (1.7% of total)
ival-fabs: 5.0ms (1.4% of total)
ival-exp: 4.0ms (1.1% of total)
ival-true: 4.0ms (1.1% of total)
exact: 4.0ms (1.1% of total)
ival->=: 3.0ms (0.8% of total)
ival-assert: 2.0ms (0.6% of total)

eval1.2s (2.4%)

Memory
-61.3MiB live, 1 456.6MiB allocated; 253ms collecting garbage
Compiler

Compiled 560 355 to 37 353 computations (93.3% saved)

series1.0s (1.9%)

Memory
39.7MiB live, 892.0MiB allocated; 121ms collecting garbage
Counts
550 → 3 227
Calls

132 calls:

TimeVariablePointExpression
67.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))) (>= 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))) (/ (+ (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)) (* b b) (* (* 4 a) c) (* 4 a) 4 a (* 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)))) 1/2 (neg (sqrt (* (* a c) -1))) (sqrt (* (* a c) -1)) (* (* a c) -1) (* a c) -1 (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) (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))) (* (+ (* (* a (/ c (* b b))) -2) 1) b) (+ (* (* a (/ c (* b b))) -2) 1) (* a (/ c (* b b))) (/ c (* b b)) -2 1 (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)) (+ (* (/ b a) -1/2) (neg (sqrt (* (/ c a) -1)))) -1/2 (neg (sqrt (* (/ c a) -1))))
64.0ms
z
@-inf
((fabs (/ (- (pow (- -4 x) 2) (pow (* z x) 2)) (* (+ (* z x) (- x -4)) y))) (/ (- (pow (- -4 x) 2) (pow (* z x) 2)) (* (+ (* z x) (- x -4)) y)) (- (pow (- -4 x) 2) (pow (* z x) 2)) (pow (- -4 x) 2) (- -4 x) -4 x 2 (pow (* z x) 2) (* z x) z (* (+ (* z x) (- x -4)) y) (+ (* z x) (- x -4)) (- x -4) y (fabs (+ (* (* z x) (/ -1 y)) (/ (- x -4) y))) (+ (* (* z x) (/ -1 y)) (/ (- x -4) y)) (/ -1 y) -1 (/ (- x -4) y) (fabs (+ (* (/ (neg z) y) x) (/ (- x -4) y))) (+ (* (/ (neg z) y) x) (/ (- x -4) y)) (/ (neg z) y) (neg z) (/ (fabs (+ (* z x) (- -4 x))) (fabs (neg y))) (fabs (+ (* z x) (- -4 x))) (+ (* z x) (- -4 x)) (fabs (neg y)) (neg y))
38.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))) (/ (+ (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)) (* b b) (* (* 4 a) c) (* 4 a) 4 a (* 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)))) 1/2 (neg (sqrt (* (* a c) -1))) (sqrt (* (* a c) -1)) (* (* a c) -1) (* a c) -1 (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) (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))) (* (+ (* (* a (/ c (* b b))) -2) 1) b) (+ (* (* a (/ c (* b b))) -2) 1) (* a (/ c (* b b))) (/ c (* b b)) -2 1 (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)) (+ (* (/ b a) -1/2) (neg (sqrt (* (/ c a) -1)))) -1/2 (neg (sqrt (* (/ c a) -1))))
28.0ms
z
@0
((fabs (- (/ (+ x 4) y) (* (/ x y) z))) (- (/ (+ x 4) y) (* (/ x y) z)) (/ (+ x 4) y) (+ x 4) x 4 y (* (/ x y) z) (/ x y) z)
27.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))

derivations610.0ms (1.2%)

Memory
28.6MiB live, 356.8MiB allocated; 38ms collecting garbage
Stop Event
done
Compiler

Compiled 3 685 to 445 computations (87.9% saved)

analyze495.0ms (1%)

Memory
46.5MiB live, 557.9MiB allocated; 242ms 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)

simplify439.0ms (0.8%)

Memory
-66.9MiB live, 308.8MiB allocated; 29ms collecting garbage
Stop Event
node limit

bsearch391.0ms (0.8%)

Memory
25.6MiB live, 215.3MiB allocated; 12ms collecting garbage
Algorithm
37×binary-search
left-value
Stop Event
20×narrow-enough
17×predicate-same
Samples
160.0ms1 696×0valid
53.0ms538×0invalid
10.0ms64×2valid
Compiler

Compiled 24 896 to 15 272 computations (38.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 161.0ms
ival-mult: 60.0ms (37.3% of total)
ival-div: 27.0ms (16.8% of total)
ival-sub: 21.0ms (13.1% of total)
ival-sqrt: 13.0ms (8.1% of total)
ival-add: 9.0ms (5.6% of total)
ival-if: 8.0ms (5% of total)
ival-neg: 8.0ms (5% of total)
ival->=: 6.0ms (3.7% of total)
adjust: 3.0ms (1.9% of total)
exact: 3.0ms (1.9% of total)
ival-true: 2.0ms (1.2% of total)
ival-assert: 1.0ms (0.6% of total)
ival-fabs: 1.0ms (0.6% of total)

regimes225.0ms (0.4%)

Memory
29.2MiB live, 276.0MiB allocated; 38ms collecting garbage
Counts
207 → 72
Calls

23 calls:

52.0ms
b
21.0ms
y
20.0ms
c
19.0ms
a
14.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))))))
Compiler

Compiled 633 to 526 computations (16.9% saved)

start0.0ms (0%)

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

end0.0ms (0%)

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

Profiling

Loading profile data...