version 1.0;

extension tract_registry tract_core;

fragment tract_core_properties(
) -> (properties: (string, tensor<scalar>)[])
{
  properties = [("onnx.ir_version", tract_core_cast(13, to = "i64")), ("tract_nnef_ser_version", "0.18.3-pre"), ("tract_nnef_format_version", "beta1")];
}

graph network(x) -> (y) {
  x = external(shape = [1, 4]);
  dense_weight_0 = tract_core_named_weight(label = "dense.weight", shape = [4, 3], datum_type = "F32");
  y0 = matmul(x, dense_weight_0, transposeA = false, transposeB = false);
  dense_bias_0 = tract_core_named_weight(label = "dense.bias", shape = [3], datum_type = "F32");
  y_fix_rank = unsqueeze(dense_bias_0, axes = [0]);
  y = add(y0, y_fix_rank);
}
