/****************************************************************************/ /* (C) Copyright 1993 Universidade Estadual de Campinas (UNICAMP) */ /* Campinas, SP, Brazil */ /* */ /* This file can be freely distributed, modified, and used for any */ /* non-commercial purpose, provided that this copyright and authorship */ /* notice be included in any copy or derived version of this file. */ /* */ /* DISCLAIMER: This software is offered ``as is'', without any guarantee */ /* as to fitness for any particular purpose. Neither the copyright */ /* holder nor the authors or their employers can be held responsible for */ /* any damages that may result from its use. */ /****************************************************************************/ char *aat_ftag = "fmul2"; char *aat_fname = "f = (x - y) * (x + y) - 1"; Float aat_f_flt (Float x, Float y) { ROUND_NEAR; { Float u = (x - y); Float v = (x + y); return (u * v - One); } } Interval aat_f_ia (Interval x, Interval y) { Interval u = ia_sub(x, y); Interval v = ia_add(x, y); Interval res = ia_shift(ia_mul(u, v), -One); return (res); } AAP aat_f_aa (AAP x, AAP y) { MemP frame = aa_top(); AAP u = aa_sub(x, y); AAP v = aa_add(x, y); AAP res = aa_shift(aa_mul(u, v), -One); return (aa_return(frame, res)); } Interval aat_fxd = {-Three, Three}; Interval aat_fyd = {-Three, Three}; int aat_fn = 16;