// Copyright 2019 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

#include "textflag.h"

TEXT ·Acos(SB), NOSPLIT, $0
	JMP ·acos(SB)

TEXT ·Acosh(SB), NOSPLIT, $0
	JMP ·acosh(SB)

TEXT ·Asin(SB), NOSPLIT, $0
	JMP ·asin(SB)

TEXT ·Asinh(SB), NOSPLIT, $0
	JMP ·asinh(SB)

TEXT ·Atan(SB), NOSPLIT, $0
	JMP ·atan(SB)

TEXT ·Atan2(SB), NOSPLIT, $0
	JMP ·atan2(SB)

TEXT ·Atanh(SB), NOSPLIT, $0
	JMP ·atanh(SB)

TEXT ·Cbrt(SB), NOSPLIT, $0
	JMP ·cbrt(SB)

TEXT ·Cos(SB), NOSPLIT, $0
	JMP ·cos(SB)

TEXT ·Cosh(SB), NOSPLIT, $0
	JMP ·cosh(SB)

TEXT ·Erf(SB), NOSPLIT, $0
	JMP ·erf(SB)

TEXT ·Erfc(SB), NOSPLIT, $0
	JMP ·erfc(SB)

TEXT ·Exp2(SB), NOSPLIT, $0
	JMP ·exp2(SB)

TEXT ·Expm1(SB), NOSPLIT, $0
	JMP ·expm1(SB)

TEXT ·Frexp(SB), NOSPLIT, $0
	JMP ·frexp(SB)

TEXT ·Ldexp(SB), NOSPLIT, $0
	JMP ·ldexp(SB)

TEXT ·Log10(SB), NOSPLIT, $0
	JMP ·log10(SB)

TEXT ·Log2(SB), NOSPLIT, $0
	JMP ·log2(SB)

TEXT ·Log1p(SB), NOSPLIT, $0
	JMP ·log1p(SB)

TEXT ·Mod(SB), NOSPLIT, $0
	JMP ·mod(SB)

TEXT ·Modf(SB), NOSPLIT, $0
	JMP ·modf(SB)

TEXT ·Pow(SB), NOSPLIT, $0
	JMP ·pow(SB)

TEXT ·Remainder(SB), NOSPLIT, $0
	JMP ·remainder(SB)

TEXT ·Sin(SB), NOSPLIT, $0
	JMP ·sin(SB)

TEXT ·Sinh(SB), NOSPLIT, $0
	JMP ·sinh(SB)

TEXT ·Tan(SB), NOSPLIT, $0
	JMP ·tan(SB)

TEXT ·Tanh(SB), NOSPLIT, $0
	JMP ·tanh(SB)
