Sample
Dorn/cuda/80
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.019 | 0–1; higher is more readable | 70.2Δ 39.8 |
| Dorn | 0.441 | 0–1; higher is more readable | 37.3Δ 7.0 |
| Mi | 0.743 | 0–1; higher is more readable | 91.9Δ 61.6 |
| LLOC | 6 | Logical lines; fewer is more readable | 72.8Δ 42.5 |
| DeepSeek V4 Pro | 15 | 0–20; mean of three runs | 77.3Δ 46.9 |
| GPT-6.1 Sol | 12.33 | 0–20; mean of three runs | 24.4Δ 6.0 |
| BTTF | 0.471 | 0–1; higher is more readable | 37.3Δ 7.0 |
| Human | 3.01 | 1–5; original rating | 30.4 |
Views
Select the downloaded ZIP or its extracted folder. Files stay in your browser.
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 300.828 | −9.927 |
| Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value. | 4.576 | −6.865 |
| Source linesThe number of non-empty source lines. | 10 | +4 |
Intercept 8.87 + feature contributions = -3.922 (log-odds).
Score = sigmoid(-3.922) = 0.019.
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Identifier layout (horizontal)How rapidly the visual pattern of identifier characters changes from left to right. It measures spatial frequency, not the meaning of the names. | 41.818 | +1.894 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.259 | −1.57 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 11 | +0.647 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 10 | −0.391 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 9.721 | −0.274 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 10 | +0.191 |
Intercept 0.07 + feature contributions = -0.237 (log-odds).
Score = sigmoid(-0.237) = 0.441.
| Score | 0.743 |
|---|
| Score | 6 |
|---|
Run 1
The code is moderately readable. Structure is fairly logical, with nested loops for channels and bins. Nesting is only two levels deep, which is acceptable. Intent is mostly clear—copying the first half of each channel's bins with normalization—but the indexing calculations like `m*ppc/2 + i` and `m*ppc + i` obscure the data layout. Code length is concise with minimal redundancy. Action granularity is good: one assignment per line inside the loops. Reading flow is natural top-to-bottom. Main weaknesses are the non-descriptive variable names (`ppc`, `h_h`, `h_o`, `norm`) and the unexplained relationship between source and destination indices, which reduces clarity for someone unfamiliar with the data context.
Run 2
The code is logically structured and relatively flat, with only two nesting levels. The intent—normalizing and reorganizing histograms—is inferable but not explicit due to non-descriptive variable names like ppc, h_h, h_o, m, and i. It is concise and each line performs a single action, maintaining good action granularity. However, the reading flow is hindered by ambiguous naming and unclear boundary conditions. The inner loop runs up to ppc/2 inclusive, but the array indexing h_h[m*ppc/2 + i] doesn't align intuitively with that range, suggesting either an off-by-one risk or a domain-specific quirk. Renaming variables and adding a brief comment would significantly improve clarity.
Run 3
The code is concise and follows a clear, logical structure with two nested loops for processing channels and bins. Nesting is shallow, and each line performs a single action, enhancing readability. The intent—normalizing and reorganizing histogram data—is reasonably inferable, though variable names like 'ppc', 'h_h', 'h_o', and 'norm' are cryptic. The reading flow is natural, but the indexing expression 'm*ppc/2 + i' is somewhat complex and could benefit from a comment or intermediate variable. Overall, the code is readable but could be improved with better naming and a brief explanatory comment.
Run 1
Code Structure: The initialization and nested loops are logically organized, but the unmatched closing brace makes the snippet structurally incomplete. Nesting: Two loop levels are manageable and easy to follow. Clarity of intent: The assignment suggests copying and normalizing values per channel, but cryptic names such as ppc, h_h, and h_o obscure the purpose and indexing logic. Code length: The snippet is concise without unnecessary statements. Action granularity: Each statement performs one primary action, although the assignment combines several index calculations. Reading flow: Consistent indentation supports reading, but missing spaces around arithmetic operators, unexplained bounds, and the extra closing brace interrupt comprehension.
Run 2
Code Structure: The nested loops organize channel-wise processing logically, but the unmatched closing brace makes the snippet structurally incomplete. Nesting: Two loop levels are manageable and consistently indented. Clarity of intent: The assignment suggests normalization and copying, but abbreviated names such as ppc, h_h, and h_o obscure the data's meaning; index arithmetic and the inclusive bound are unexplained. Code length: The snippet is concise without obvious redundancy. Action granularity: Each line performs a single declaration, loop operation, or assignment. Reading flow: Execution proceeds naturally from computing ppc to iterating and assigning, although missing spaces around arithmetic operators and dense indexing slow comprehension.
Run 3
Code Structure: The calculation and nested loops are logically organized, but the unmatched closing brace makes the snippet appear incomplete. Nesting: Two loop levels are reasonable and easy to follow. Clarity of intent: Names such as ppc, h_h, and h_o are cryptic; the purpose of the index calculations and normalization is unexplained. Code length: The snippet is concise without obvious redundancy. Action granularity: Each statement performs one primary action, although the assignment contains several arithmetic operations. Reading flow: Consistent indentation and braces help, but missing spaces around operators and dense indexing expressions slow comprehension.