diff --git a/src/ExprNode.cc b/src/ExprNode.cc
index 2b99878341b4ee6160b27c60ef45f570fd183e72..4d8cead1cad6090c6aa79e842dccf89a33e23efa 100644
--- a/src/ExprNode.cc
+++ b/src/ExprNode.cc
@@ -2687,7 +2687,10 @@ UnaryOpNode::writeOutput(ostream &output, ExprNodeOutputType output_type,
         output << "cbrt";
       break;
     case UnaryOpcode::abs:
-      output << "abs";
+      if (isCOutput(output_type))
+        output << "fabs";
+      else
+        output << "abs";
       break;
     case UnaryOpcode::sign:
       if (output_type == ExprNodeOutputType::CDynamicModel || output_type == ExprNodeOutputType::CStaticModel)