         }
         
         do {
+            parsed = try Interpreter.parse("(cosh a)")
+            let _ = try Interpreter.eval(&parsed, with: &interpreter.globalEnv)
+            XCTFail()
+        } catch {
+            XCTPass()
+        }
+        
+        do {
             parsed = try Interpreter.parse("(cosh 1.0 1.0)")
             let _ = try Interpreter.eval(&parsed, with: &interpreter.globalEnv)
             XCTFail()

        }

        do {
            parsed = try Interpreter.parse("(acosh 1.5)")
            let result = try Interpreter.eval(&parsed, with: &interpreter.globalEnv)
            XCTAssertEqualWithAccuracy(result as! Double, 0.9624236501192068, accuracy: 0.0000000001)
        } catch {
            XCTFail()
        }

        do {
            parsed = try Interpreter.parse("(acosh 0)")
            let _ = try Interpreter.eval(&parsed, with: &interpreter.globalEnv)
            XCTFail()
        } catch {
            XCTPass()
        }

        do {
            parsed = try Interpreter.parse("(acosh 1.0 1.0)")
            let _ = try Interpreter.eval(&parsed, with: &interpreter.globalEnv)

        }
        
        do {
            parsed = try Interpreter.parse("(tanh 0.1)")
            let result = try Interpreter.eval(&parsed, with: &interpreter.globalEnv)
            XCTAssertEqualWithAccuracy(result as! Double, 0.0996679946249558, accuracy: 0.0000000001)
