(FPCore (x c s)
:precision binary64
(/ (cos (* 2.0 x)) (* (pow c 2.0) (* (* x (pow s 2.0)) x))))
↓
(FPCore (x c s)
:precision binary64
(let* ((t_0 (cos (+ x x))) (t_1 (* x (* s c))))
(if (<= s 1e-20)
(* (/ 1.0 (/ (* x c) (/ 1.0 s))) (/ t_0 (* s (* x c))))
(/ (/ t_0 t_1) t_1))))
real(8) function code(x, c, s)
real(8), intent (in) :: x
real(8), intent (in) :: c
real(8), intent (in) :: s
code = cos((2.0d0 * x)) / ((c ** 2.0d0) * ((x * (s ** 2.0d0)) * x))
end function
↓
real(8) function code(x, c, s)
real(8), intent (in) :: x
real(8), intent (in) :: c
real(8), intent (in) :: s
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = cos((x + x))
t_1 = x * (s * c)
if (s <= 1d-20) then
tmp = (1.0d0 / ((x * c) / (1.0d0 / s))) * (t_0 / (s * (x * c)))
else
tmp = (t_0 / t_1) / t_1
end if
code = tmp
end function
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 x (*.f64 x (*.f64 (*.f64 c s) (*.f64 c s))))): 0 points increase in error, 0 points decrease in error
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 x (*.f64 x (Rewrite<= unswap-sqr_binary64 (*.f64 (*.f64 c c) (*.f64 s s)))))): 70 points increase in error, 7 points decrease in error
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 x (*.f64 x (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 c 2)) (*.f64 s s))))): 0 points increase in error, 0 points decrease in error
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 x (*.f64 x (*.f64 (pow.f64 c 2) (Rewrite<= unpow2_binary64 (pow.f64 s 2)))))): 0 points increase in error, 0 points decrease in error
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 x (*.f64 x (Rewrite=> *-commutative_binary64 (*.f64 (pow.f64 s 2) (pow.f64 c 2)))))): 0 points increase in error, 0 points decrease in error
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 x (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 x (pow.f64 s 2)) (pow.f64 c 2))))): 7 points increase in error, 14 points decrease in error
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 x (Rewrite<= *-commutative_binary64 (*.f64 (pow.f64 c 2) (*.f64 x (pow.f64 s 2)))))): 0 points increase in error, 0 points decrease in error
(/.f64 (cos.f64 (*.f64 2 x)) (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 (pow.f64 c 2) (*.f64 x (pow.f64 s 2))) x))): 0 points increase in error, 0 points decrease in error
(/.f64 (cos.f64 (*.f64 2 x)) (Rewrite<= associate-*r*_binary64 (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))): 22 points increase in error, 8 points decrease in error
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x)))): 0 points increase in error, 0 points decrease in error
(/.f64 (cos.f64 (*.f64 2 x)) (Rewrite<= unswap-sqr_binary64 (*.f64 (*.f64 c c) (*.f64 (*.f64 s x) (*.f64 s x))))): 94 points increase in error, 16 points decrease in error
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 c 2)) (*.f64 (*.f64 s x) (*.f64 s x)))): 0 points increase in error, 0 points decrease in error
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (Rewrite<= unswap-sqr_binary64 (*.f64 (*.f64 s s) (*.f64 x x))))): 52 points increase in error, 12 points decrease in error
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 s 2)) (*.f64 x x)))): 0 points increase in error, 0 points decrease in error
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (pow.f64 s 2) (Rewrite<= unpow2_binary64 (pow.f64 x 2))))): 0 points increase in error, 0 points decrease in error