Remove duplication in SELECT statement
You could define intermediate views using common table expressions.  That would eliminate the redundancy of the calculations, but redundantly introduce a different kind of redundancy.

WITH ATable AS (
    SELECT amount, amount*.1 AS A FROM table
), BTable AS (
    SELECT amount, A, A+3 AS B FROM ATable
), CTable AS (
    SELECT amount, A, B, B/2 AS C FROM BTable
)
SELECT amount, A, B, C, C+37 AS D FROM CTable;