On 4/29/19 9:58 PM, Prathamesh Kulkarni wrote:
> On Tue, 30 Apr 2019 at 02:56, Jeff Law <l...@redhat.com> wrote:
>>
>> On 1/30/19 7:10 AM, Bárbara de Castro Fernandes wrote:
>>> This patch simplifies the function tanh (x) * cosh (x) -> sinh (x).
>>> This rule is derived from the relationship between hyperbolic
>>> functions.
>>>
>>> I ran the tests and gfortran.dg/pr79966.f90 failed, but this failure
>>> is unrelated to the patch (see
>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88711 for more
>>> information). My architecture is x86_64.
>>>
>>> gcc/ChangeLog:
>>> 2019-01-30  Bárbara Fernandes <barbara.fernan...@usp.br>
>>>
>>>     * match.pd (tanh (x) * cosh (x)): New simplification rule.
>>>
>>> gcc/testsuite/ChangeLog:
>>> 2019-01-30  Bárbara Fernandes  <barbara.fernan...@usp.br>
>>>
>>>     * tanhtimescosh.c: New test.
>> So how does this behave for numbers extremely close to zero in practice
>> and do we have to worry about overflow problems when cosh(x) gets large?
> Hi Jeff,
> Just curious, do we want to add math identities like above to match.pd ?
I'd think so.


> In practice, I am not sure how often we'd see  "tanh * cosh" instead
> of sinh directly in source,
We're often surprised when what ultimately shows up in sources :-)  And
a transformation that allows us to turn two transcendentals and a
multiplication into a single transcendental  is going to be a big win.

> altho it seems we do simplify tan * cos -> sin.
> In general, I suppose there are lot of identities we haven't added
> because the likelihood of "match" part isn't high.
Perhaps.  I have to assume the submitter submitted this particular
simplification for a reason.

jeff

Reply via email to