fun test() -> f64 {
    1 * 2 + -3 * 4
}

// @no-errors
// @eval: Float(-10.0)
// @type: 23 f64
// @concrete:
// | File
// |   FunctionDecl
// |     Fun:'"fun"'
// |     Identifier:'"test"'
// |     ParamList
// |       LeftParen:'"("'
// |       RightParen:'")"'
// |     ReturnType
// |       Arrow:'"->"'
// |       TypeExpression
// |         Identifier:'"f64"'
// |     Block
// |       LeftBrace:'"{"'
// |       ExpressionStatement
// |         BinaryExpression
// |           BinaryExpression
// |             LiteralExpression
// |               Number:'"1"'
// |             Star:'"*"'
// |             LiteralExpression
// |               Number:'"2"'
// |           Plus:'"+"'
// |           BinaryExpression
// |             UnaryExpression
// |               Minus:'"-"'
// |               LiteralExpression
// |                 Number:'"3"'
// |             Star:'"*"'
// |             LiteralExpression
// |               Number:'"4"'
// |       RightBrace:'"}"'
// |
// @compiles-to:
// | function << module >> (0 args, 0 locals):
// |   strings (0):
// |   code (2):
// |     0: PushNothing
// |     1: Return
// | function test (0 args, 0 locals):
// |   strings (0):
// |   code (10):
// |     0: PushFloat(1.0)
// |     1: PushFloat(2.0)
// |     2: FloatMultiply
// |     3: PushFloat(3.0)
// |     4: PushFloat(-1.0)
// |     5: FloatMultiply
// |     6: PushFloat(4.0)
// |     7: FloatMultiply
// |     8: FloatAdd
// |     9: Return
// |
