diff --git a/src/Reactor/LLVMReactor.cpp b/src/Reactor/LLVMReactor.cpp
index 4e9ffb0..46abd51 100644
--- a/src/Reactor/LLVMReactor.cpp
+++ b/src/Reactor/LLVMReactor.cpp
@@ -565,6 +565,7 @@
 			func_.emplace("asinhf", reinterpret_cast<void*>(asinhf));
 			func_.emplace("acoshf", reinterpret_cast<void*>(acoshf));
 			func_.emplace("atanhf", reinterpret_cast<void*>(atanhf));
+			func_.emplace("atan2f", reinterpret_cast<void*>(atan2f));
 
 #ifdef __APPLE__
 			// LLVM uses this function on macOS for tan.
@@ -3156,6 +3157,23 @@
 		return TransformFloat4PerElement(v, "atanhf");
 	}
 
+	RValue<Float4> Atan2(RValue<Float4> x, RValue<Float4> y)
+	{
+		auto funcTy = ::llvm::FunctionType::get(T(Float::getType()),
+				{T(Float::getType()), T(Float::getType())}, false);
+		auto func = ::module->getOrInsertFunction("atan2f", funcTy);
+		llvm::Value *out = ::llvm::UndefValue::get(T(Float4::getType()));
+		for (uint64_t i = 0; i < 4; i++)
+		{
+			auto el = ::builder->CreateCall(func, {
+					::builder->CreateExtractElement(V(x.value), i),
+					::builder->CreateExtractElement(V(y.value), i),
+				});
+			out = ::builder->CreateInsertElement(out, el, i);
+		}
+		return RValue<Float4>(V(out));
+	}
+
 	Type *Float4::getType()
 	{
 		return T(llvm::VectorType::get(T(Float::getType()), 4));
