3313
 3314
 3315
 3316
 3317
 3318
 3319
 3320      REAL               ERRBND, PREC, PSCLR, X, Y
 3321
 3322
 3323
 3324
 3325
 3326
 3327
 3328
 3329
 3330
 3331
 3332
 3333
 3334
 3335
 3336
 3337
 3338
 3339
 3340
 3341
 3342
 3343
 3344
 3345
 3346
 3347
 3348
 3349
 3350
 3351
 3352
 3353
 3354
 3355      REAL               ONE, TWO, ZERO
 3356      parameter( one = 1.0e+0, two = 2.0e+0,
 3357     $                   zero = 0.0e+0 )
 3358
 3359
 3360      REAL               ADDBND, FACT, SUMPOS, SUMNEG, TMP
 3361
 3362
 3364
 3365
 3366
 3367      sumpos = zero
 3368      sumneg = zero
 3369      fact = one + two * prec
 3370      addbnd = two * two * two * prec
 3371
 3372      tmp = psclr * x
 3373      IF( tmp.GE.zero ) THEN
 3374         sumpos = sumpos + tmp * fact
 3375      ELSE
 3376         sumneg = sumneg - tmp * fact
 3377      END IF
 3378
 3379      tmp = y
 3380      IF( tmp.GE.zero ) THEN
 3381         sumpos = sumpos + tmp
 3382      ELSE
 3383         sumneg = sumneg - tmp
 3384      END IF
 3385
 3386      y = y + ( psclr * x )
 3387
 3388      errbnd = addbnd * 
max( sumpos, sumneg )
 
 3389
 3390      RETURN
 3391
 3392
 3393