[PATCH] Optimize sin(atan(x)), take 2

Giuliano Augusto Faulin Belinassi giuliano.belinassi@usp.br
Mon Sep 3 19:11:00 GMT 2018


Fixed the issues pointed by the previous discussions. Closes PR86829.

Adds substitution rules for sin(atan(x)) and cos(atan(x)), being
careful with overflow issues by constructing a assumed convergence
constant (see comment in real.c).

2018-09-03  Giuliano Belinassi <giuliano.belinassi@usp.br>

    * match.pd: add simplification rules to sin(atan(x)) and cos(atan(x)).
    * real.c: add code for assumed convergence constant to sin(atan(x)).
    * real.h: allows the added code from real.c to be called externally.
    * tree.c: add code for bulding nodes with the convergence constant.
    * tree.h: allows the added code from tree.c to be called externally.
    * sinatan-1.c: tests assumed convergence constant.
    * sinatan-2.c: tests simplification rule.
    * sinatan-3.c: likewise.

There seems to be no broken tests in trunk that are related to this
modification.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sinatanv2.patch
Type: text/x-patch
Size: 11554 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20180903/f870a35e/attachment.bin>


More information about the Gcc-patches mailing list