diff --git a/CodeInterpreter.hh b/CodeInterpreter.hh
index 367cb2412755d5fb424a6990cd3d74a582d8bbd9..abfa44d1f9bf55acdefe9826632ff16a4cc238af 100644
--- a/CodeInterpreter.hh
+++ b/CodeInterpreter.hh
@@ -36,6 +36,18 @@
 #endif
 #endif
 
+#ifdef _MSC_VER
+typedef __int8 int8_t;
+typedef unsigned __int8 uint8_t;
+typedef __int16 int16_t;
+typedef unsigned __int16 uint16_t;
+typedef __int32 int32_t;
+typedef unsigned __int32 uint32_t;
+typedef __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+#else
+# include <stdint.h>
+#endif
 
 using namespace std;
 
diff --git a/ExprNode.cc b/ExprNode.cc
index 63007351213285f96b93fef7493c4bafa52770f8..cb8ba7fb2fdeb2ef806a36a20c1f2a6c5c7003bf 100644
--- a/ExprNode.cc
+++ b/ExprNode.cc
@@ -1379,21 +1379,12 @@ UnaryOpNode::eval_opcode(UnaryOpcode op_code, double v) throw (EvalException)
       return(sinh(v));
     case oTanh:
       return(tanh(v));
-#ifndef _WIN64
     case oAcosh:
       return(acosh(v));
     case oAsinh:
       return(asinh(v));
     case oAtanh:
       return(atanh(v));
-#else
-    case oAcosh:
-      throw EvalException();
-    case oAsinh:
-      throw EvalException();
-    case oAtanh:
-      throw EvalException();
-#endif
     case oSqrt:
       return(sqrt(v));
     case oSteadyState: